* Patch from Mattias Gaertner:

- function type

git-svn-id: trunk@35682 -
This commit is contained in:
michael 2017-03-29 11:38:02 +00:00
parent 0653c7045e
commit 6ab7bc9def
2 changed files with 6 additions and 3 deletions

View File

@ -1045,7 +1045,7 @@ begin
if not MarkElementAsUsed(El) then exit;
UseType(TPasSetType(El).EnumType,Mode);
end
else if C=TPasProcedureType then
else if C.InheritsFrom(TPasProcedureType) then
UseProcedureType(TPasProcedureType(El),true)
else
RaiseNotSupported(20170306170315,El);
@ -1061,7 +1061,7 @@ begin
MarkElementAsUsed(El);
if (Mode=paumAllPublic) and not ElementVisited(El,Mode) then
for i:=0 to El.Members.Count-1 do
UseVariable(TObject(El.Members) as TPasVariable,rraNone,true);
UseVariable(TObject(El.Members[i]) as TPasVariable,rraNone,true);
end;
procedure TPasAnalyzer.UseClassType(El: TPasClassType; Mode: TPAUseMode);

View File

@ -176,7 +176,7 @@ begin
aMarker:=FirstSrcMarker;
while aMarker<>nil do
begin
writeln('TCustomTestUseAnalyzer.CheckUsedMarkers ',aMarker^.Identifier,' ',aMarker^.StartCol,' ',aMarker^.EndCol);
writeln('TCustomTestUseAnalyzer.CheckUsedMarkers ',aMarker^.Identifier,' Line=',aMarker^.Row,' StartCol=',aMarker^.StartCol,' EndCol=',aMarker^.EndCol);
p:=RPos('_',aMarker^.Identifier);
if p>1 then
begin
@ -603,10 +603,13 @@ begin
Add('procedure {#DoIt_used}DoIt;');
Add('type');
Add(' {#TProc_used}TProc = procedure;');
Add(' {#TFunc_used}TFunc = function(): longint;');
Add('var');
Add(' {#p_used}p: TProc;');
Add(' {#f_used}f: TFunc;');
Add('begin');
Add(' p:=nil;');
Add(' f:=nil;');
Add('end;');
Add('begin');
Add(' DoIt;');