Browse Source

Commit again r36573 reverted by r36601 -,-

git-svn-id: trunk@36607 -
maciej-izak 8 years ago
parent
commit
b35522d947
1 changed files with 14 additions and 1 deletions
  1. 14 1
      packages/fcl-passrc/src/paswrite.pp

+ 14 - 1
packages/fcl-passrc/src/paswrite.pp

@@ -215,6 +215,7 @@ procedure TPasWriter.WriteClass(AClass: TPasClassType);
 var
 var
   i: Integer;
   i: Integer;
   Member: TPasElement;
   Member: TPasElement;
+  InterfacesListPrefix: string;
   LastVisibility, CurVisibility: TPasMemberVisibility;
   LastVisibility, CurVisibility: TPasMemberVisibility;
 begin
 begin
   PrepareDeclSection('type');
   PrepareDeclSection('type');
@@ -227,7 +228,19 @@ begin
     okInterface: wrt('interface');
     okInterface: wrt('interface');
   end;
   end;
   if Assigned(AClass.AncestorType) then
   if Assigned(AClass.AncestorType) then
-    wrtln('(' + AClass.AncestorType.Name + ')')
+    wrt('(' + AClass.AncestorType.Name);
+  if AClass.Interfaces.Count > 0 then
+  begin
+    if Assigned(AClass.AncestorType) then
+      InterfacesListPrefix:=', '
+    else
+      InterfacesListPrefix:='(';
+    wrt(InterfacesListPrefix + TPasType(AClass.Interfaces[0]).Name);
+    for i := 1 to AClass.Interfaces.Count - 1 do
+      wrt(', ' + TPasType(AClass.Interfaces[i]).Name);
+  end;
+  if Assigned(AClass.AncestorType) or (AClass.Interfaces.Count > 0) then
+    wrtln(')')
   else
   else
     wrtln;
     wrtln;
   IncIndent;
   IncIndent;