|
@@ -2671,12 +2671,10 @@ implementation
|
|
begin
|
|
begin
|
|
if (srsymtable.symtabletype in [ObjectSymtable,recordsymtable]) then
|
|
if (srsymtable.symtabletype in [ObjectSymtable,recordsymtable]) then
|
|
{ if we are accessing a owner procsym from the nested }
|
|
{ if we are accessing a owner procsym from the nested }
|
|
- { class we need to call it as a class member }
|
|
|
|
- if assigned(current_structdef) and (current_structdef<>hdef) and is_owned_by(current_structdef,hdef) then
|
|
|
|
- p1:=cloadvmtaddrnode.create(ctypenode.create(hdef))
|
|
|
|
- else
|
|
|
|
- if assigned(current_procinfo) and current_procinfo.procdef.no_self_node then
|
|
|
|
- { no self node in static class methods }
|
|
|
|
|
|
+ { class or from a static class method we need to call }
|
|
|
|
+ { it as a class member }
|
|
|
|
+ if (assigned(current_structdef) and (current_structdef<>hdef) and is_owned_by(current_structdef,hdef)) or
|
|
|
|
+ (assigned(current_procinfo) and current_procinfo.get_normal_proc.procdef.no_self_node) then
|
|
p1:=cloadvmtaddrnode.create(ctypenode.create(hdef))
|
|
p1:=cloadvmtaddrnode.create(ctypenode.create(hdef))
|
|
else
|
|
else
|
|
p1:=load_self_node;
|
|
p1:=load_self_node;
|