From 7fe602ebb0f7f0ea94c20c6f6969b8d1b14412ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Fri, 24 May 2024 09:19:17 +0200 Subject: [PATCH] * Fix package parsing --- packages/fcl-passrc/src/pparser.pp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/fcl-passrc/src/pparser.pp b/packages/fcl-passrc/src/pparser.pp index a59b040481..7582b8d086 100644 --- a/packages/fcl-passrc/src/pparser.pp +++ b/packages/fcl-passrc/src/pparser.pp @@ -4218,15 +4218,22 @@ procedure TPasParser.ParseRequires(ASection: TPasPackageSection); var Pck : TPasRequiredPackage; PckPos : TPasSourcePos; + N : String; begin repeat - ExpectIdentifier([tkPackage]); + N:=''; PckPos:=CurSourcePos; - Pck:=TPasRequiredPackage(Engine.CreateElement(TPasRequiredPackage,CurtokenString,aSection,visPublic,PckPos)); + Repeat + ExpectIdentifier([tkPackage]); + if N<>'' then + N:=N+'.'; + N:=N+CurtokenString; + NextToken; + until (CurToken in [tkSemicolon,tkComma]); + Pck:=TPasRequiredPackage(Engine.CreateElement(TPasRequiredPackage,N,aSection,visPublic,PckPos)); aSection.Requires.Add(Pck); - NextToken; - until CurToken=tkSemicolon; + until (CurToken=tkSemicolon); end; // On Entry, current token is contains.