pastojs: record complex only for records with class vars

git-svn-id: trunk@48131 -
This commit is contained in:
Mattias Gaertner 2021-01-10 22:56:39 +00:00
parent 5c2303a76b
commit 22864b47e4
2 changed files with 17 additions and 3 deletions

View File

@ -26464,7 +26464,7 @@ begin
if (C=TPasConstructor)
or ((aResolver<>nil) and aResolver.IsClassMethod(P)
and not aResolver.MethodIsStatic(TPasProcedure(P))) then
IsComplex:=true; // needs $record
; //IsComplex:=true; // needs $record
end;
end
else if C=TPasAttributes then

View File

@ -12339,12 +12339,20 @@ begin
'type',
' TPoint = record',
' x,y: longint;',
' class procedure Run(w: longint = 13); static;',
' constructor Create(ax: longint; ay: longint = -1);',
' end;',
'class procedure tpoint.run(w: longint);',
'begin',
' run;',
' run();',
'end;',
'constructor tpoint.create(ax,ay: longint);',
'begin',
' x:=ax;',
' self.y:=ay;',
' run;',
' run(ax);',
'end;',
'var r: TPoint;',
'begin',
@ -12367,12 +12375,18 @@ begin
' this.y = s.y;',
' return this;',
' };',
' this.Run = function (w) {',
' $mod.TPoint.Run(13);',
' $mod.TPoint.Run(13);',
' };',
' this.Create = function (ax, ay) {',
' this.x = ax;',
' this.y = ay;',
' this.Run(13);',
' this.Run(ax);',
' return this;',
' };',
'}, true);',
'});',
'this.r = this.TPoint.$new();',
'']),
LinesToStr([ // $mod.$main
@ -23288,7 +23302,7 @@ begin
' $mod.THelper.$new("NewHlp", [3]);',
' return this;',
' };',
'}, true);',
'});',
'rtl.createHelper(this, "THelper", null, function () {',
' this.NewHlp = function (w) {',
' this.Create(2);',