mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 23:19:24 +02:00
fcl-passrc: fixed IsTGUID
git-svn-id: trunk@48858 -
(cherry picked from commit 4ed82dcc1c
)
This commit is contained in:
parent
edc9c0feab
commit
81701ddc76
@ -29123,20 +29123,23 @@ function TPasResolver.IsTGUID(RecTypeEl: TPasRecordType): boolean;
|
|||||||
var
|
var
|
||||||
Members: TFPList;
|
Members: TFPList;
|
||||||
El: TPasElement;
|
El: TPasElement;
|
||||||
|
i, MemberIndex: Integer;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if not SameText(RecTypeEl.Name,'TGUID') then exit;
|
if not SameText(RecTypeEl.Name,'TGUID') then exit;
|
||||||
if SameText(RecTypeEl.GetModule.Name,'system') then exit(true);
|
if SameText(RecTypeEl.GetModule.Name,'system') then exit(true);
|
||||||
Members:=RecTypeEl.Members;
|
Members:=RecTypeEl.Members;
|
||||||
if Members.Count<4 then exit;
|
i:=1;
|
||||||
El:=TPasElement(Members[0]);
|
for MemberIndex:=0 to Members.Count-1 do
|
||||||
if not SameText(El.Name,'D1') then exit;
|
begin
|
||||||
El:=TPasElement(Members[1]);
|
El:=TPasElement(Members[MemberIndex]);
|
||||||
if not SameText(El.Name,'D2') then exit;
|
if (El.ClassType<>TPasVariable) then continue;
|
||||||
El:=TPasElement(Members[2]);
|
if SameText(El.Name,'D'+IntToStr(i)) then
|
||||||
if not SameText(El.Name,'D3') then exit;
|
begin
|
||||||
El:=TPasElement(Members[3]);
|
if i=4 then exit(true);
|
||||||
if not SameText(El.Name,'D4') then exit;
|
inc(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user