fcl-passrc: parser: give error on class field without var

git-svn-id: trunk@41292 -
This commit is contained in:
Mattias Gaertner 2019-02-10 22:59:15 +00:00
parent b810d8f32b
commit 9f5bc872be
2 changed files with 19 additions and 1 deletions

View File

@ -6670,7 +6670,12 @@ begin
CurSection:=stNone
else
begin
if not haveClass then
if haveClass then
begin
if LastToken=tkclass then
ParseExcTokenError('procedure or function');
end
else
SaveComments;
Case CurSection of
stType:

View File

@ -608,6 +608,7 @@ type
Procedure TestClass_VarExternal;
Procedure TestClass_WarnOverrideLowerVisibility;
Procedure TestClass_Const;
Procedure TestClass_ClassMissingVarFail;
Procedure TestClass_ClassConstFail;
Procedure TestClass_Enumerator;
Procedure TestClass_EnumeratorFunc;
@ -10772,6 +10773,18 @@ begin
CheckResolverUnexpectedHints;
end;
procedure TTestResolver.TestClass_ClassMissingVarFail;
begin
StartProgram(false);
Add([
'type',
' TObject = class',
' class c: word;',
' end;',
'begin']);
CheckParserException('Expected "procedure or function"',nParserExpectTokenError);
end;
procedure TTestResolver.TestClass_ClassConstFail;
begin
StartProgram(false);