mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 11:48:34 +02:00
Invalid pointer operation.
This commit is contained in:
parent
39a16c4fa8
commit
d863ab6a24
@ -18905,27 +18905,24 @@ var
|
||||
Call: TJSCallExpression;
|
||||
HasRTTIMembers: Boolean;
|
||||
begin
|
||||
Call:=nil;
|
||||
try
|
||||
// module.$rtti.$Record("typename",{});
|
||||
Call:=CreateRTTINewType(El,GetBIName(pbifnRTTINewRecord),false,FuncContext,ObjLit);
|
||||
if ObjLit=nil then
|
||||
RaiseInconsistency(20190105141430,El);
|
||||
// module.$rtti.$Record("typename",{});
|
||||
Call:=CreateRTTINewType(El,GetBIName(pbifnRTTINewRecord),false,FuncContext,ObjLit);
|
||||
if ObjLit=nil then
|
||||
begin
|
||||
Call.Free;
|
||||
|
||||
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;
|
||||
|
||||
Call:=nil;
|
||||
finally
|
||||
Call.Free;
|
||||
RaiseInconsistency(20190105141430,El);
|
||||
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;
|
||||
|
||||
function TPasToJSConverter.CreateDelayedInitMembersFunction(PosEl: TPasElement;
|
||||
|
Loading…
Reference in New Issue
Block a user