Browse Source

* Forgot to commit (bug id 0025793)

git-svn-id: trunk@26893 -
michael 11 years ago
parent
commit
6d00c13957
1 changed files with 33 additions and 0 deletions
  1. 33 0
      packages/fcl-passrc/src/pastree.pp

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

@@ -67,6 +67,8 @@ resourcestring
   SPasTreeFunction = 'function';
   SPasTreeClassProcedure = 'class procedure';
   SPasTreeClassFunction = 'class function';
+  SPasTreeClassConstructor = 'class constructor';
+  SPasTreeClassDestructor = 'class destructor';
   SPasTreeConstructor = 'constructor';
   SPasTreeDestructor = 'destructor';
   SPasTreeProcedureImpl = 'procedure/function implementation';
@@ -773,6 +775,14 @@ type
     function TypeName: string; override;
   end;
 
+  { TPasClassConstructor }
+
+  TPasClassConstructor  = class(TPasConstructor)
+  public
+    function ElementTypeName: string; override;
+    function TypeName: string; override;
+  end;
+
   { TPasDestructor }
 
   TPasDestructor = class(TPasProcedure)
@@ -781,6 +791,14 @@ type
     function TypeName: string; override;
   end;
 
+  { TPasClassDestructor }
+
+  TPasClassDestructor  = class(TPasDestructor)
+  public
+    function ElementTypeName: string; override;
+    function TypeName: string; override;
+  end;
+
   { TPasClassProcedure }
 
   TPasClassProcedure = class(TPasProcedure)
@@ -1164,6 +1182,13 @@ implementation
 
 uses SysUtils;
 
+{ TPasClassConstructor }
+
+function TPasClassConstructor.TypeName: string;
+begin
+  Result:='class '+ inherited TypeName;
+end;
+
 { TPasImplRaise }
 
 destructor TPasImplRaise.Destroy;
@@ -1346,6 +1371,14 @@ end;
 
 function TPasFunction.ElementTypeName: string; begin Result := SPasTreeFunction end;
 function TPasClassProcedure.ElementTypeName: string; begin Result := SPasTreeClassProcedure; end;
+function TPasClassConstructor.ElementTypeName: string; begin Result := SPasTreeClassConstructor; end;
+function TPasClassDestructor.ElementTypeName: string; begin Result := SPasTreeClassDestructor; end;
+
+function TPasClassDestructor.TypeName: string;
+begin
+  Result:='destructor';
+end;
+
 function TPasClassFunction.ElementTypeName: string; begin Result := SPasTreeClassFunction; end;
 function TPasOperator.ElementTypeName: string; begin Result := SPasTreeFunction end;
 function TPasConstructor.ElementTypeName: string; begin Result := SPasTreeConstructor end;