* Fix generic as record field name, bug ID #30718

git-svn-id: trunk@34880 -
This commit is contained in:
michael 2016-11-12 22:07:15 +00:00
parent 5d4f605a39
commit 16d8435fde
2 changed files with 12 additions and 0 deletions

View File

@ -4495,6 +4495,7 @@ begin
else
ARec.Members.Add(Proc);
end;
tkGeneric, // Counts as field name
tkIdentifier :
begin
// If (po_delphi in Scanner.Options) then

View File

@ -234,6 +234,7 @@ type
Procedure TestOnePlatformFieldDeprecated;
Procedure TestOnePlatformFieldPlatform;
Procedure TestOneConstOneField;
Procedure TestOneGenericField;
Procedure TestTwoFields;
procedure TestTwoFieldProtected;
procedure TestTwoFieldStrictPrivate;
@ -1776,6 +1777,16 @@ begin
AssertField2([]);
end;
procedure TTestRecordTypeParser.TestOneGenericField;
begin
TestFields(['Generic : Integer;'],'',False);
AssertEquals('Member 1 field type',TPasVariable,TObject(TheRecord.Members[0]).ClassType);
AssertEquals('Field 1 name','Generic',Field1.Name);
AssertNotNull('Have 1 Field type',Field1.VarType);
AssertEquals('Field 1 type',TPasUnresolvedTypeRef,Field1.VarType.ClassType);
AssertEquals('Field 1 type name','Integer',Field1.VarType.Name);
end;
procedure TTestRecordTypeParser.TestTwoFields;
begin
TestFields(['x : integer;','y : integer'],'',False);