Browse Source

* Patch from Inoussa OUEDRAOGO to support GUIDs in interface declarations

git-svn-id: trunk@7701 -
michael 18 years ago
parent
commit
663e020402
2 changed files with 7 additions and 0 deletions
  1. 1 0
      packages/fcl-passrc/src/pastree.pp
  2. 6 0
      packages/fcl-passrc/src/pparser.pp

+ 1 - 0
packages/fcl-passrc/src/pastree.pp

@@ -248,6 +248,7 @@ type
     AncestorType: TPasType;     // TPasClassType or TPasUnresolvedTypeRef
     AncestorType: TPasType;     // TPasClassType or TPasUnresolvedTypeRef
     IsPacked: Boolean;        // 12/04/04 - Dave - Added
     IsPacked: Boolean;        // 12/04/04 - Dave - Added
     Members: TList;     // array of TPasElement objects
     Members: TList;     // array of TPasElement objects
+    InterfaceGUID : string; // 15/06/07 - Inoussa
   end;
   end;
 
 
   TArgumentAccess = (argDefault, argConst, argVar, argOut);
   TArgumentAccess = (argDefault, argConst, argVar, argOut);

+ 6 - 0
packages/fcl-passrc/src/pparser.pp

@@ -2018,6 +2018,12 @@ begin
 
 
     if CurToken <> tkSemicolon then
     if CurToken <> tkSemicolon then
     begin
     begin
+      if ( AObjKind = okInterface ) and ( CurToken = tkSquaredBraceOpen ) then
+      begin
+        ExpectToken(tkString);
+        TPasClassType(Result).InterfaceGUID := CurTokenString;
+        ExpectToken(tkSquaredBraceClose);
+      end;    
       CurVisibility := visDefault;
       CurVisibility := visDefault;
       while CurToken <> tkEnd do
       while CurToken <> tkEnd do
       begin
       begin