mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 09:49:35 +02:00
Invalid pointer operation.
This commit is contained in:
parent
39a16c4fa8
commit
d863ab6a24
@ -18905,27 +18905,24 @@ var
|
|||||||
Call: TJSCallExpression;
|
Call: TJSCallExpression;
|
||||||
HasRTTIMembers: Boolean;
|
HasRTTIMembers: Boolean;
|
||||||
begin
|
begin
|
||||||
Call:=nil;
|
// module.$rtti.$Record("typename",{});
|
||||||
try
|
Call:=CreateRTTINewType(El,GetBIName(pbifnRTTINewRecord),false,FuncContext,ObjLit);
|
||||||
// module.$rtti.$Record("typename",{});
|
if ObjLit=nil then
|
||||||
Call:=CreateRTTINewType(El,GetBIName(pbifnRTTINewRecord),false,FuncContext,ObjLit);
|
begin
|
||||||
if ObjLit=nil then
|
Call.Free;
|
||||||
RaiseInconsistency(20190105141430,El);
|
|
||||||
|
|
||||||
HasRTTIMembers:=CreateRTTIMembers(El,Src,FuncContext,MembersSrc,MembersFuncContext,Call,false);
|
RaiseInconsistency(20190105141430,El);
|
||||||
if not HasRTTIMembers then
|
|
||||||
begin
|
|
||||||
// no published members, add "module.$rtti.$Record..."
|
|
||||||
if Src=MembersSrc then
|
|
||||||
AddToSourceElements(Src,Call)
|
|
||||||
else
|
|
||||||
Src.Statements.InsertNode(0).Node:=Call;
|
|
||||||
end;
|
|
||||||
|
|
||||||
Call:=nil;
|
|
||||||
finally
|
|
||||||
Call.Free;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
HasRTTIMembers:=CreateRTTIMembers(El,Src,FuncContext,MembersSrc,MembersFuncContext,Call,false);
|
||||||
|
if not HasRTTIMembers then
|
||||||
|
begin
|
||||||
|
// no published members, add "module.$rtti.$Record..."
|
||||||
|
if Src=MembersSrc then
|
||||||
|
AddToSourceElements(Src,Call)
|
||||||
|
else
|
||||||
|
Src.Statements.InsertNode(0).Node:=Call;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TPasToJSConverter.CreateDelayedInitMembersFunction(PosEl: TPasElement;
|
function TPasToJSConverter.CreateDelayedInitMembersFunction(PosEl: TPasElement;
|
||||||
|
Loading…
Reference in New Issue
Block a user