This commit is contained in:
Ivan Bondarev 2023-12-10 12:05:52 +01:00
parent d5458bcd04
commit f309dfc7aa
2 changed files with 16 additions and 2 deletions

14
TestSuite/property12.pas Normal file
View file

@ -0,0 +1,14 @@
type
t1 = class
static function f1 := 1;
static procedure f1(x: integer) := exit;
property p1: integer read f1 write f1;
end;
begin
var a := new t1;
assert(a.p1 = 1);
a.p1 := 2;
end.

View file

@ -4754,7 +4754,7 @@ namespace PascalABCCompiler.TreeConverter
cmn.parameters.AddElement(new_cp);
}
expression_node meth_call;
if (cpn.polymorphic_state == SemanticTree.polymorphic_state.ps_common || cpn.polymorphic_state == SemanticTree.polymorphic_state.ps_virtual)
if (accessor.polymorphic_state == SemanticTree.polymorphic_state.ps_common || accessor.polymorphic_state == SemanticTree.polymorphic_state.ps_virtual)
{
meth_call = new common_method_call(accessor, new this_node(cpn.common_comprehensive_type, loc), loc);
foreach (common_parameter cp in cmn.parameters)
@ -4795,7 +4795,7 @@ namespace PascalABCCompiler.TreeConverter
cmn.parameters.AddElement(new_cp);
}
expression_node meth_call;
if (cpn.polymorphic_state == SemanticTree.polymorphic_state.ps_common || cpn.polymorphic_state == SemanticTree.polymorphic_state.ps_virtual)
if (accessor.polymorphic_state == SemanticTree.polymorphic_state.ps_common || accessor.polymorphic_state == SemanticTree.polymorphic_state.ps_virtual)
{
meth_call = new common_method_call(accessor, new this_node(cpn.common_comprehensive_type, loc), loc);
foreach (common_parameter cp in cmn.parameters)