Browse Source

* Merging revisions r46280 from trunk:
------------------------------------------------------------------------
r46280 | michael | 2020-08-06 08:50:29 +0200 (Thu, 06 Aug 2020) | 1 line

* Support writing resource strings
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@46606 -

michael 5 years ago
parent
commit
d791d13e4d
1 changed files with 11 additions and 1 deletions
  1. 11 1
      packages/fcl-passrc/src/paswrite.pp

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

@@ -83,6 +83,7 @@ type
     constructor Create(AStream: TStream); virtual;
     destructor Destroy; override;
     procedure AddForwardClasses(aSection: TPasSection); virtual;
+    procedure WriteResourceString(aStr: TPasResString); virtual;
     procedure WriteEnumType(AType: TPasEnumType); virtual;
     procedure WriteElement(AElement: TPasElement);virtual;
     procedure WriteType(AType: TPasType; Full : Boolean = True);virtual;
@@ -247,10 +248,19 @@ begin
     WriteProcImpl(TProcedureBody(AElement))
   else if AElement.InheritsFrom(TPasImplCommand) or AElement.InheritsFrom(TPasImplCommands) then
     WriteImplElement(TPasImplElement(AElement),false)
-  else
+  else if AElement.InheritsFrom(TPasResString) then
+    WriteResourceString(TPasResString(AElement))
+ else
     raise EPasWriter.CreateFmt('Writing not implemented for %s nodes',[AElement.ElementTypeName]);
 end;
 
+procedure TPasWriter.WriteResourceString(aStr : TPasResString);
+
+begin
+  PrepareDeclSection('resourcestring');
+  AddLn(Astr.GetDeclaration(True)+';');
+end;
+
 procedure TPasWriter.WriteEnumType(AType: TPasEnumType);
 
 begin