|
@@ -759,6 +759,7 @@ type
|
|
TPasImplTry = class;
|
|
TPasImplTry = class;
|
|
TPasImplExceptOn = class;
|
|
TPasImplExceptOn = class;
|
|
TPasImplRaise = class;
|
|
TPasImplRaise = class;
|
|
|
|
+ TPasImplLabelMark = class;
|
|
|
|
|
|
{ TPasImplBlock }
|
|
{ TPasImplBlock }
|
|
|
|
|
|
@@ -782,6 +783,7 @@ type
|
|
function AddTry: TPasImplTry;
|
|
function AddTry: TPasImplTry;
|
|
function AddExceptOn(const VarName, TypeName: string): TPasImplExceptOn;
|
|
function AddExceptOn(const VarName, TypeName: string): TPasImplExceptOn;
|
|
function AddRaise: TPasImplRaise;
|
|
function AddRaise: TPasImplRaise;
|
|
|
|
+ function AddLabelMark(const Id: string): TPasImplLabelMark;
|
|
function CloseOnSemicolon: boolean; virtual;
|
|
function CloseOnSemicolon: boolean; virtual;
|
|
public
|
|
public
|
|
Elements: TList; // TPasImplElement objects
|
|
Elements: TList; // TPasImplElement objects
|
|
@@ -958,6 +960,11 @@ type
|
|
procedure Visit(obj: TPasElement); virtual;
|
|
procedure Visit(obj: TPasElement); virtual;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ TPasImplLabelMark = class(TPasImplElement)
|
|
|
|
+ public
|
|
|
|
+ LabelId: AnsiString;
|
|
|
|
+ end;
|
|
|
|
+
|
|
const
|
|
const
|
|
AccessNames: array[TArgumentAccess] of string[6] = ('', 'const ', 'var ', 'out ');
|
|
AccessNames: array[TArgumentAccess] of string[6] = ('', 'const ', 'var ', 'out ');
|
|
AllVisibilities: TPasMemberVisibilities =
|
|
AllVisibilities: TPasMemberVisibilities =
|
|
@@ -1681,6 +1688,13 @@ begin
|
|
AddElement(Result);
|
|
AddElement(Result);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TPasImplBlock.AddLabelMark(const Id: string): TPasImplLabelMark;
|
|
|
|
+begin
|
|
|
|
+ Result:=TPasIMplLabelMark.Create('', Self);
|
|
|
|
+ Result.LabelId:=Id;
|
|
|
|
+ AddElement(Result);
|
|
|
|
+end;
|
|
|
|
+
|
|
function TPasImplBlock.CloseOnSemicolon: boolean;
|
|
function TPasImplBlock.CloseOnSemicolon: boolean;
|
|
begin
|
|
begin
|
|
Result:=false;
|
|
Result:=false;
|