Просмотр исходного кода

fcl-passrc: allow to generate implementations of class methods and class constructors/destructors (new field IsClassMethod in TPasProcedureImpl and related code in TPasWriter.WriteProcImpl)

git-svn-id: trunk@37038 -
maciej-izak 8 лет назад
Родитель
Сommit
9c6b78f11e
2 измененных файлов с 3 добавлено и 0 удалено
  1. 1 0
      packages/fcl-passrc/src/pastree.pp
  2. 2 0
      packages/fcl-passrc/src/paswrite.pp

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

@@ -1084,6 +1084,7 @@ Type
     ProcType: TPasProcedureType;
     Locals: TFPList;
     Body: TPasImplBlock;
+    IsClassMethod: boolean;
   end;
 
   { TPasConstructorImpl - used by mkxmlrpc, not by pparser }

+ 2 - 0
packages/fcl-passrc/src/paswrite.pp

@@ -387,6 +387,8 @@ var
   i: Integer;
 begin
   PrepareDeclSection('');
+  if AProc.IsClassMethod then
+    wrt('class ');
   wrt(AProc.TypeName + ' ');
 
   if AProc.Parent.ClassType = TPasClassType then