mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-04-13 13:19:22 +02:00
* DebugObject call
This commit is contained in:
parent
9f374e3d23
commit
193eeb8483
packages/job/src
@ -104,6 +104,7 @@ Type
|
||||
function Invoke_ArrayStringResult(ObjId: TJOBObjectID; NameP, NameLen, Invoke, ArgsP, ResultP: NativeInt): TJOBResult; virtual;
|
||||
function ReleaseObject(ObjId: TJOBObjectID): TJOBResult; virtual;
|
||||
function GetStringResult(ResultP: NativeInt): TJOBResult; virtual;
|
||||
function DebugObject(ObjId: TJOBObjectID; aMessage: TWasmPointer; aMessageLen: Integer; aFlags: Longint): TJOBResult;
|
||||
function ReleaseStringResult: TJOBResult; virtual;
|
||||
Public
|
||||
Constructor Create(aEnv: TPas2JSWASIEnvironment); override;
|
||||
@ -270,6 +271,7 @@ begin
|
||||
aObject[JOBFn_CreateObject]:=@Create_JSObject;
|
||||
aObject[JOBFn_SetMemFromArray]:=@SetMemFromArray;
|
||||
aObject[JOBFn_SetArrayFromMem]:=@SetArrayFromMem;
|
||||
aObject[JOBFn_DebugObject]:=@DebugObject;
|
||||
end;
|
||||
|
||||
function TJSObjectBridge.FindObject(ObjId: TJOBObjectID): TJSObject;
|
||||
@ -743,6 +745,27 @@ begin
|
||||
FStringResult:='';
|
||||
end;
|
||||
|
||||
function TJSObjectBridge.DebugObject(ObjId: TJOBObjectID; aMessage : TWasmPointer; aMessageLen : Integer; aFlags: Longint): TJOBResult;
|
||||
|
||||
var
|
||||
Obj : TJSObject;
|
||||
S : String;
|
||||
|
||||
begin
|
||||
S:=Env.GetUTF8StringFromMem(aMessage,aMessageLen);
|
||||
Obj:=FindObject(ObjId);
|
||||
if not assigned(Obj) then
|
||||
begin
|
||||
Result:=JOBResult_UnknownObjId;
|
||||
console.warn('Cannot find object ',ObjId);
|
||||
end
|
||||
else
|
||||
begin
|
||||
console.debug(S,' dumping object ',ObjID,' : ',Obj);
|
||||
Result:=JOBResult_Success;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJSObjectBridge.ReleaseStringResult: TJOBResult;
|
||||
begin
|
||||
Result:=JOBResult_Success;
|
||||
|
@ -69,6 +69,7 @@ const
|
||||
JOBFn_CallbackHandler = 'JOBCallback';
|
||||
JOBFn_SetMemFromArray = 'set_mem_from_object';
|
||||
JOBFn_SetArrayFromMem = 'set_object_from_mem';
|
||||
JOBFn_DebugObject = 'debug_object';
|
||||
|
||||
JOBArgUndefined = 0;
|
||||
JOBArgLongint = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user