From 388ffe420e58dcfe8331310e6a9a4a104b82c35c Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 20 Nov 2020 18:13:46 +0000 Subject: [PATCH] * Last field before end does not need a semicolon git-svn-id: trunk@47496 - (cherry picked from commit 185048c63143ae47791950629202583dbe718baa) --- packages/fcl-passrc/src/pparser.pp | 2 ++ packages/fcl-passrc/tests/tcclasstype.pas | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/fcl-passrc/src/pparser.pp b/packages/fcl-passrc/src/pparser.pp index afad9c2e18..c999aa4f59 100644 --- a/packages/fcl-passrc/src/pparser.pp +++ b/packages/fcl-passrc/src/pparser.pp @@ -7308,6 +7308,8 @@ begin if not (AType.ObjKind in okWithFields) then ParseExc(nParserNoFieldsAllowed,SParserNoFieldsAllowedInX,[ObjKindNames[AType.ObjKind]]); ParseClassFields(AType,CurVisibility,CurSection=stClassVar); + if Curtoken=tkEnd then // case Ta = Class x : String end; + UngetToken; HaveClass:=False; end; stClassVar: diff --git a/packages/fcl-passrc/tests/tcclasstype.pas b/packages/fcl-passrc/tests/tcclasstype.pas index 1902dc2e05..ea045d625e 100644 --- a/packages/fcl-passrc/tests/tcclasstype.pas +++ b/packages/fcl-passrc/tests/tcclasstype.pas @@ -981,7 +981,6 @@ end; procedure TTestClassType.TestNoSemicolon; begin StartClass; - fDecl.Add('X : Integer;'); fDecl.Add('Y : String'); ParseClass; end;