mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 06:08:16 +02:00
* Test for default of property override: default of parent must be preserved
git-svn-id: trunk@12117 -
This commit is contained in:
parent
11a41788fb
commit
ea29eb439f
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -7136,6 +7136,7 @@ tests/tbs/tb0553.pp svneol=native#text/plain
|
||||
tests/tbs/tb0554.pp svneol=native#text/plain
|
||||
tests/tbs/tb0555.pp svneol=native#text/plain
|
||||
tests/tbs/tb0556.pp svneol=native#text/plain
|
||||
tests/tbs/tb0557.pp svneol=native#text/plain
|
||||
tests/tbs/tb205.pp svneol=native#text/plain
|
||||
tests/tbs/ub0060.pp svneol=native#text/plain
|
||||
tests/tbs/ub0069.pp svneol=native#text/plain
|
||||
|
48
tests/tbs/tb0557.pp
Normal file
48
tests/tbs/tb0557.pp
Normal file
@ -0,0 +1,48 @@
|
||||
program rtti;
|
||||
|
||||
{$ifdef fpc}
|
||||
{$mode objfpc}{$H+}
|
||||
{$apptype console}
|
||||
{$endif}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Classes, typinfo
|
||||
{ you can add units after this };
|
||||
|
||||
type
|
||||
{ TSomeBaseClass }
|
||||
|
||||
TSomeBaseClass = class(TPersistent)
|
||||
private
|
||||
FSomeProperty: Integer;
|
||||
public
|
||||
property SomeProperty: Integer read FSomeProperty write FSomeProperty default 10;
|
||||
end;
|
||||
|
||||
{ TSomeDerivedClass }
|
||||
|
||||
TSomeDerivedClass = class(TSomeBaseClass)
|
||||
private
|
||||
FOwnProperty: Integer;
|
||||
published
|
||||
property SomeProperty;
|
||||
property OwnProperty: Integer read FOwnProperty write FOwnProperty default 11;
|
||||
end;
|
||||
|
||||
var
|
||||
BC : TSomeBaseClass;
|
||||
DC: TSomeDerivedClass;
|
||||
Info: PPropInfo;
|
||||
begin
|
||||
DC := TSomeDerivedClass.Create;
|
||||
Info := GetPropInfo(DC, 'SomeProperty');
|
||||
if (Info^.Default<>10) then
|
||||
Halt(1);
|
||||
Info := GetPropInfo(DC, 'OwnProperty');
|
||||
if Info^.Default<>11 then
|
||||
Halt(2);
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user