fcl-passrc: fixed (intf as tobject).ClassType, issue #38805

git-svn-id: trunk@49272 -
This commit is contained in:
Mattias Gaertner 2021-04-26 21:16:28 +00:00
parent f1d30a5bc6
commit 0670980981

View File

@ -25546,6 +25546,7 @@ function TPasResolver.ResolvedElIsClassOrRecordInstance(
const ResolvedEl: TPasResolverResult): boolean;
var
TypeEl: TPasType;
C: TClass;
begin
Result:=false;
if ResolvedEl.BaseType<>btContext then exit;
@ -25558,10 +25559,14 @@ begin
else if TypeEl.ClassType=TPasRecordType then
else
exit;
if (ResolvedEl.IdentEl is TPasVariable)
or (ResolvedEl.IdentEl.ClassType=TPasArgument)
or (ResolvedEl.IdentEl.ClassType=TPasResultElement) then
exit(true);
if ResolvedEl.IdentEl<>nil then
begin
C:=ResolvedEl.IdentEl.ClassType;
if C.InheritsFrom(TPasVariable)
or (C=TPasArgument)
or (C=TPasResultElement) then
exit(true);
end;
end;
function TPasResolver.GetResolver(El: TPasElement): TPasResolver;