mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 12:49:09 +02:00
fcl-passrc: fixed (intf as tobject).ClassType, issue #38805
git-svn-id: trunk@49272 -
(cherry picked from commit 0670980981
)
This commit is contained in:
parent
20278cec06
commit
da996e0a0b
@ -25546,6 +25546,7 @@ function TPasResolver.ResolvedElIsClassOrRecordInstance(
|
|||||||
const ResolvedEl: TPasResolverResult): boolean;
|
const ResolvedEl: TPasResolverResult): boolean;
|
||||||
var
|
var
|
||||||
TypeEl: TPasType;
|
TypeEl: TPasType;
|
||||||
|
C: TClass;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if ResolvedEl.BaseType<>btContext then exit;
|
if ResolvedEl.BaseType<>btContext then exit;
|
||||||
@ -25558,10 +25559,14 @@ begin
|
|||||||
else if TypeEl.ClassType=TPasRecordType then
|
else if TypeEl.ClassType=TPasRecordType then
|
||||||
else
|
else
|
||||||
exit;
|
exit;
|
||||||
if (ResolvedEl.IdentEl is TPasVariable)
|
if ResolvedEl.IdentEl<>nil then
|
||||||
or (ResolvedEl.IdentEl.ClassType=TPasArgument)
|
begin
|
||||||
or (ResolvedEl.IdentEl.ClassType=TPasResultElement) then
|
C:=ResolvedEl.IdentEl.ClassType;
|
||||||
exit(true);
|
if C.InheritsFrom(TPasVariable)
|
||||||
|
or (C=TPasArgument)
|
||||||
|
or (C=TPasResultElement) then
|
||||||
|
exit(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TPasResolver.GetResolver(El: TPasElement): TPasResolver;
|
function TPasResolver.GetResolver(El: TPasElement): TPasResolver;
|
||||||
|
Loading…
Reference in New Issue
Block a user