fix #2177
This commit is contained in:
parent
0b1d2d61e4
commit
7dbf6197cb
|
|
@ -1,9 +1,9 @@
|
||||||
//
|
//
|
||||||
// This CSharp output file generated by Gardens Point LEX
|
// This CSharp output file generated by Gardens Point LEX
|
||||||
// Version: 1.1.3.301
|
// Version: 1.1.3.301
|
||||||
// Machine: DESKTOP-G8V08V4
|
// Machine: IVAN-PC
|
||||||
// DateTime: 06.01.2020 19:58:31
|
// DateTime: 12.01.2020 12:02:05
|
||||||
// UserName: ?????????
|
// UserName: Ivan
|
||||||
// GPLEX input file <ABCPascal.lex>
|
// GPLEX input file <ABCPascal.lex>
|
||||||
// GPLEX frame file <embedded resource>
|
// GPLEX frame file <embedded resource>
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -4185,6 +4185,8 @@ property_modificator
|
||||||
{ $$ = $1; }
|
{ $$ = $1; }
|
||||||
| tkAbstract
|
| tkAbstract
|
||||||
{ $$ = $1; }
|
{ $$ = $1; }
|
||||||
|
| tkReintroduce
|
||||||
|
{ $$ = $1; }
|
||||||
;
|
;
|
||||||
|
|
||||||
property_specifier_directives
|
property_specifier_directives
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
43
TestSuite/reintroduce1.pas
Normal file
43
TestSuite/reintroduce1.pas
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
type
|
||||||
|
t1 = class
|
||||||
|
|
||||||
|
property p1: integer read 3; virtual;
|
||||||
|
property p2: integer read 3; virtual;
|
||||||
|
function f1: integer; virtual;
|
||||||
|
begin
|
||||||
|
Result := 3;
|
||||||
|
end;
|
||||||
|
function f2: integer; virtual;
|
||||||
|
begin
|
||||||
|
Result := 3;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
t2 = class(t1)
|
||||||
|
|
||||||
|
property p1: integer read 5; reintroduce;
|
||||||
|
property p2: integer read 5; override;
|
||||||
|
function f1: integer; reintroduce; virtual;
|
||||||
|
begin
|
||||||
|
Result := 5;
|
||||||
|
end;
|
||||||
|
function f2: integer; override;
|
||||||
|
begin
|
||||||
|
Result := 5;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
t3 = class(t2)
|
||||||
|
|
||||||
|
function f2: integer; override;
|
||||||
|
begin
|
||||||
|
Result := 5;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
begin
|
||||||
|
var o: t1 := new t2;
|
||||||
|
assert(o.p1 = 3);
|
||||||
|
assert(o.p2 = 5);
|
||||||
|
assert(o.f1 = 3);
|
||||||
|
assert(o.f2 = 5);
|
||||||
|
var o2: t2 := new t3;
|
||||||
|
assert(o2.f1 = 5);
|
||||||
|
end.
|
||||||
Loading…
Reference in a new issue