home *** CD-ROM | disk | FTP | other *** search
- unit LangRef;
-
- interface
- uses LangValue;
- type
- {TLangRef is need to implement .Ref value}
- TLangRef=class(ILangValue)
- public
- Target:ILangValue;
- constructor Create(aTarget:ILangValue);
- procedure Exec(S:IValStack;MustReturn:boolean);override;
- function CreateEqu:ILangValue;override;
- end;
- implementation
- uses ProxyValue;
- constructor TLangRef.Create(aTarget:ILangValue);
- begin
- Inherited Create(nil);
- Target:=aTarget;
- end;
- procedure TLangRef.Exec;
- begin
- S.DropFrame;
- if MustReturn then
- begin
- S.Push(TProxyValue.CreateFrom(Target));
- end;
- end;
- function TLangRef.CreateEqu;
- begin
- Result:=TLangRef.Create(Self);
- end;
- end.
-