From aaf7f5137edc533077a8ea386e39a12540426c5c Mon Sep 17 00:00:00 2001 From: maciej-izak Date: Fri, 30 Jun 2017 13:35:24 +0000 Subject: [PATCH] fcl-passrc: new option SemicolonAtEOL for better control of TPasImplCommands (previously, semicolon was implicitly added for each line for generated pascal code by paswrite.pp module for TPasImplCommands) git-svn-id: trunk@36619 - --- packages/fcl-passrc/src/pastree.pp | 2 ++ packages/fcl-passrc/src/paswrite.pp | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/fcl-passrc/src/pastree.pp b/packages/fcl-passrc/src/pastree.pp index 9d70f3cb59..403c33cee8 100644 --- a/packages/fcl-passrc/src/pastree.pp +++ b/packages/fcl-passrc/src/pastree.pp @@ -1120,6 +1120,7 @@ Type destructor Destroy; override; public Commands: TStrings; + SemicolonAtEOL: boolean; end; { TPasLabels } @@ -2927,6 +2928,7 @@ constructor TPasImplCommands.Create(const AName: string; AParent: TPasElement); begin inherited Create(AName, AParent); Commands := TStringList.Create; + SemicolonAtEOL := true; end; destructor TPasImplCommands.Destroy; diff --git a/packages/fcl-passrc/src/paswrite.pp b/packages/fcl-passrc/src/paswrite.pp index 4846c1b419..7a44aa6712 100644 --- a/packages/fcl-passrc/src/paswrite.pp +++ b/packages/fcl-passrc/src/paswrite.pp @@ -516,7 +516,10 @@ begin if (Length(s) >= 2) and (s[1] = '/') and (s[2] = '/') then wrtln(s) else - wrtln(s + ';'); + if ACommands.SemicolonAtEOL then + wrtln(s + ';') + else + wrtln(s); end; end;