fcl-passrc: made TPasProperty.Args readonly

git-svn-id: trunk@38221 -
This commit is contained in:
Mattias Gaertner 2018-02-12 12:01:39 +00:00
parent c1f368f8d9
commit 57c79acf3f

View File

@ -868,6 +868,7 @@ type
TPasProperty = class(TPasVariable) TPasProperty = class(TPasVariable)
private private
FArgs: TFPList;
FResolvedType : TPasType; FResolvedType : TPasType;
function GetIsClass: boolean; function GetIsClass: boolean;
procedure SetIsClass(AValue: boolean); procedure SetIsClass(AValue: boolean);
@ -887,13 +888,13 @@ type
StoredAccessor: TPasExpr; StoredAccessor: TPasExpr;
DefaultExpr: TPasExpr; DefaultExpr: TPasExpr;
Args: TFPList; // List of TPasArgument objects
ReadAccessorName: string; // not used by resolver ReadAccessorName: string; // not used by resolver
WriteAccessorName: string; // not used by resolver WriteAccessorName: string; // not used by resolver
ImplementsName: string; // not used by resolver ImplementsName: string; // not used by resolver
StoredAccessorName: string; // not used by resolver StoredAccessorName: string; // not used by resolver
DispIDReadOnly, DispIDReadOnly,
IsDefault, IsNodefault: Boolean; IsDefault, IsNodefault: Boolean;
property Args: TFPList read FArgs; // List of TPasArgument objects
property IsClass: boolean read GetIsClass write SetIsClass; property IsClass: boolean read GetIsClass write SetIsClass;
Function ResolvedType : TPasType; Function ResolvedType : TPasType;
Function IndexValue : String; Function IndexValue : String;
@ -2846,7 +2847,7 @@ end;
constructor TPasProperty.Create(const AName: string; AParent: TPasElement); constructor TPasProperty.Create(const AName: string; AParent: TPasElement);
begin begin
inherited Create(AName, AParent); inherited Create(AName, AParent);
Args := TFPList.Create; FArgs := TFPList.Create;
end; end;
destructor TPasProperty.Destroy; destructor TPasProperty.Destroy;
@ -2855,7 +2856,7 @@ var
begin begin
for i := 0 to Args.Count - 1 do for i := 0 to Args.Count - 1 do
TPasArgument(Args[i]).Release; TPasArgument(Args[i]).Release;
FreeAndNil(Args); FreeAndNil(FArgs);
ReleaseAndNil(TPasElement(IndexExpr)); ReleaseAndNil(TPasElement(IndexExpr));
ReleaseAndNil(TPasElement(ReadAccessor)); ReleaseAndNil(TPasElement(ReadAccessor));
ReleaseAndNil(TPasElement(WriteAccessor)); ReleaseAndNil(TPasElement(WriteAccessor));