|
@@ -1098,6 +1098,7 @@ type
|
|
Eval: TOnEvalBIFunction;
|
|
Eval: TOnEvalBIFunction;
|
|
FinishParamsExpression: TOnFinishParamsExpr;
|
|
FinishParamsExpression: TOnFinishParamsExpr;
|
|
Flags: TBuiltInProcFlags;
|
|
Flags: TBuiltInProcFlags;
|
|
|
|
+ destructor Destroy; override;
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TPRFindData }
|
|
{ TPRFindData }
|
|
@@ -2463,6 +2464,14 @@ begin
|
|
str(a,Result);
|
|
str(a,Result);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+{ TResElDataBuiltInProc }
|
|
|
|
+
|
|
|
|
+destructor TResElDataBuiltInProc.Destroy;
|
|
|
|
+begin
|
|
|
|
+ ReleaseAndNil(TPasElement(Proc));
|
|
|
|
+ inherited Destroy;
|
|
|
|
+end;
|
|
|
|
+
|
|
{ TPasClassIntfMap }
|
|
{ TPasClassIntfMap }
|
|
|
|
|
|
destructor TPasClassIntfMap.Destroy;
|
|
destructor TPasClassIntfMap.Destroy;
|
|
@@ -14583,6 +14592,7 @@ begin
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
FreeAndNil(FPendingForwardProcs);
|
|
FreeAndNil(FPendingForwardProcs);
|
|
FreeAndNil(fExprEvaluator);
|
|
FreeAndNil(fExprEvaluator);
|
|
|
|
+ ClearBuiltInIdentifiers;
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
{$IFDEF VerbosePasResolverMem}
|
|
{$IFDEF VerbosePasResolverMem}
|
|
writeln('TPasResolver.Destroy END ',ClassName);
|
|
writeln('TPasResolver.Destroy END ',ClassName);
|
|
@@ -14605,7 +14615,7 @@ var
|
|
begin
|
|
begin
|
|
ClearResolveDataList(lkBuiltIn);
|
|
ClearResolveDataList(lkBuiltIn);
|
|
for bt in TResolverBaseType do
|
|
for bt in TResolverBaseType do
|
|
- FBaseTypes[bt]:=nil;
|
|
|
|
|
|
+ ReleaseAndNil(TPasElement(FBaseTypes[bt]));
|
|
for bp in TResolverBuiltInProc do
|
|
for bp in TResolverBuiltInProc do
|
|
FBuiltInProcs[bp]:=nil;
|
|
FBuiltInProcs[bp]:=nil;
|
|
end;
|
|
end;
|
|
@@ -19912,6 +19922,7 @@ begin
|
|
else
|
|
else
|
|
Result:=TResEvalBool.CreateValue(TResEvalRangeInt(Range).RangeEnd<>0);
|
|
Result:=TResEvalBool.CreateValue(TResEvalRangeInt(Range).RangeEnd<>0);
|
|
else
|
|
else
|
|
|
|
+ ReleaseEvalValue(Range);
|
|
RaiseNotYetImplemented(20170601195240,ErrorEl);
|
|
RaiseNotYetImplemented(20170601195240,ErrorEl);
|
|
end;
|
|
end;
|
|
revkRangeUInt:
|
|
revkRangeUInt:
|
|
@@ -19920,8 +19931,10 @@ begin
|
|
else
|
|
else
|
|
Result:=TResEvalUInt.CreateValue(TResEvalRangeUInt(Range).RangeEnd);
|
|
Result:=TResEvalUInt.CreateValue(TResEvalRangeUInt(Range).RangeEnd);
|
|
else
|
|
else
|
|
|
|
+ ReleaseEvalValue(Range);
|
|
RaiseNotYetImplemented(20170601195336,ErrorEl);
|
|
RaiseNotYetImplemented(20170601195336,ErrorEl);
|
|
end;
|
|
end;
|
|
|
|
+ ReleaseEvalValue(Range);
|
|
end;
|
|
end;
|
|
|
|
|
|
function TPasResolver.EvalTypeRange(Decl: TPasType; Flags: TResEvalFlags
|
|
function TPasResolver.EvalTypeRange(Decl: TPasType; Flags: TResEvalFlags
|