Browse Source

--- Merging r15034 into '.':
U rtl/haiku/system.pp
--- Merging r15035 into '.':
U rtl/beos/system.pp
--- Merging r15062 into '.':
U utils/fpdoc/dglobals.pp
--- Merging r15063 into '.':
U packages/fcl-passrc/src/pparser.pp

# revisions: 15034,15035,15062,15063
------------------------------------------------------------------------
r15034 | olivier | 2010-03-23 01:21:55 +0100 (Tue, 23 Mar 2010) | 2 lines
Changed paths:
M /trunk/rtl/haiku/system.pp

The unit name should start with an upper case to pass tobject5.pp test under Haiku.

------------------------------------------------------------------------
------------------------------------------------------------------------
r15035 | olivier | 2010-03-23 01:24:42 +0100 (Tue, 23 Mar 2010) | 2 lines
Changed paths:
M /trunk/rtl/beos/system.pp

The unit name should start with an upper case to pass tobject5.pp test under BeOS (not tested yet ;-).

------------------------------------------------------------------------
------------------------------------------------------------------------
r15062 | michael | 2010-03-25 21:55:53 +0100 (Thu, 25 Mar 2010) | 1 line
Changed paths:
M /trunk/utils/fpdoc/dglobals.pp

* Removed left-over debug statement
------------------------------------------------------------------------
------------------------------------------------------------------------
r15063 | michael | 2010-03-25 22:32:11 +0100 (Thu, 25 Mar 2010) | 1 line
Changed paths:
M /trunk/packages/fcl-passrc/src/pparser.pp

* Fixed parsing of hints in alias types
------------------------------------------------------------------------

git-svn-id: branches/fixes_2_4@15279 -

marco 15 years ago
parent
commit
f78d3236e6
4 changed files with 36 additions and 21 deletions
  1. 34 18
      packages/fcl-passrc/src/pparser.pp
  2. 1 1
      rtl/beos/system.pp
  3. 1 1
      rtl/haiku/system.pp
  4. 0 1
      utils/fpdoc/dglobals.pp

+ 34 - 18
packages/fcl-passrc/src/pparser.pp

@@ -117,6 +117,7 @@ type
       AParent: TPasElement): TPasElement;overload;
       AParent: TPasElement): TPasElement;overload;
     function CreateElement(AClass: TPTreeElement; const AName: String;
     function CreateElement(AClass: TPTreeElement; const AName: String;
       AParent: TPasElement; AVisibility: TPasMemberVisibility): TPasElement;overload;
       AParent: TPasElement; AVisibility: TPasMemberVisibility): TPasElement;overload;
+    Function IsHint(Const S : String; AHint : TPasMemberHint) : Boolean;
     Function CheckHint(Element : TPasElement; ExpectSemiColon : Boolean) : TPasMemberHints;
     Function CheckHint(Element : TPasElement; ExpectSemiColon : Boolean) : TPasMemberHints;
   public
   public
     Options : set of TPOptions;
     Options : set of TPOptions;
@@ -331,30 +332,43 @@ begin
   Result:=ParseType(Parent,'');
   Result:=ParseType(Parent,'');
 end;
 end;
 
 
+Function TPasParser.IsHint(Const S : String; AHint : TPasMemberHint) : Boolean;
+
+Var
+  T : string;
+
+begin
+  T:=LowerCase(S);
+  Result:=(T='deprecated');
+  If Result then
+    Ahint:=hDeprecated
+  else
+    begin
+    Result:=(T='library');
+    if Result then
+      Ahint:=hLibrary
+    else
+      begin
+      Result:=(T='platform');
+      If result then
+        AHint:=hPlatform;
+      end;
+    end;  
+end;
+
 Function TPasParser.CheckHint(Element : TPasElement; ExpectSemiColon : Boolean) : TPasMemberHints;
 Function TPasParser.CheckHint(Element : TPasElement; ExpectSemiColon : Boolean) : TPasMemberHints;
 
 
 Var
 Var
   Found : Boolean;
   Found : Boolean;
-
+  h : TPasMemberHint;
+  
 begin
 begin
   Result:=[];
   Result:=[];
   Repeat
   Repeat
     NextToken;
     NextToken;
-    Found:=CompareText(CurTokenString,'deprecated')=0;
+    Found:=IsHint(CurTokenString,h);
     If Found then
     If Found then
-      Include(Result,hDeprecated)
-    else
-     begin
-     Found:=CompareText(CurTokenString,'library')=0;
-     if Found then
-       Include(Result,hLibrary)
-     else
-       begin
-       Found:=CompareText(CurTokenString,'platform')=0;
-       If Found then
-         Include(Result,hPlatform);
-       end;
-     end;
+      Include(Result,h)
   Until Not Found;
   Until Not Found;
   UnGetToken;
   UnGetToken;
   If Assigned(Element) then
   If Assigned(Element) then
@@ -1180,7 +1194,8 @@ var
   Prefix : String;
   Prefix : String;
   HadPackedModifier : Boolean;           // 12/04/04 - Dave - Added
   HadPackedModifier : Boolean;           // 12/04/04 - Dave - Added
   IsBitPacked : Boolean;
   IsBitPacked : Boolean;
-
+  H : TPasMemberHint;
+  
 begin
 begin
   TypeName := CurTokenString;
   TypeName := CurTokenString;
   ExpectToken(tkEqual);
   ExpectToken(tkEqual);
@@ -1248,7 +1263,7 @@ begin
           end
           end
         else
         else
           Prefix:='';
           Prefix:='';
-        if CurToken = tkSemicolon then
+        if (CurToken = tkSemicolon) or IsHint(CurtokenString,h)then
         begin
         begin
           UngetToken;
           UngetToken;
           UngetToken;
           UngetToken;
@@ -1276,7 +1291,8 @@ begin
             Result.Free;
             Result.Free;
             raise;
             raise;
           end;
           end;
-        end else
+        end
+        else  
         begin
         begin
           UngetToken;
           UngetToken;
           UngetToken;
           UngetToken;

+ 1 - 1
rtl/beos/system.pp

@@ -1,4 +1,4 @@
-Unit system;
+Unit System;
 
 
 interface
 interface
 
 

+ 1 - 1
rtl/haiku/system.pp

@@ -1,4 +1,4 @@
-Unit system;
+Unit System;
 
 
 interface
 interface
 
 

+ 0 - 1
utils/fpdoc/dglobals.pp

@@ -1051,7 +1051,6 @@ procedure TFPDocEngine.AddDocFile(const AFilename: String);
           Result.FDescr := TDOMElement(Subnode)
           Result.FDescr := TDOMElement(Subnode)
         else if Subnode.NodeName = 'version' then
         else if Subnode.NodeName = 'version' then
           begin
           begin
-          Writeln('Detected version',ELement['name']);
           Result.FVersion := TDOMElement(Subnode)
           Result.FVersion := TDOMElement(Subnode)
           end
           end
         else if Subnode.NodeName = 'errors' then
         else if Subnode.NodeName = 'errors' then