|
@@ -44,6 +44,8 @@ interface
|
|
|
|
|
|
TWasmObjSymbolExtraData = class(TFPHashObject)
|
|
TWasmObjSymbolExtraData = class(TFPHashObject)
|
|
TypeIdx: Integer;
|
|
TypeIdx: Integer;
|
|
|
|
+ ImportModule: string;
|
|
|
|
+ ImportName: string;
|
|
constructor Create(HashObjectList: TFPHashObjectList; const s: TSymStr);
|
|
constructor Create(HashObjectList: TFPHashObjectList; const s: TSymStr);
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -74,6 +76,8 @@ interface
|
|
function AddOrCreateObjSymbolExtraData(const symname:TSymStr): TWasmObjSymbolExtraData;
|
|
function AddOrCreateObjSymbolExtraData(const symname:TSymStr): TWasmObjSymbolExtraData;
|
|
function AddFuncType(wft: TWasmFuncType): integer;
|
|
function AddFuncType(wft: TWasmFuncType): integer;
|
|
procedure DeclareFuncType(ft: tai_functype);
|
|
procedure DeclareFuncType(ft: tai_functype);
|
|
|
|
+ procedure DeclareImportModule(aim: tai_import_module);
|
|
|
|
+ procedure DeclareImportName(ain: tai_import_name);
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TWasmObjOutput }
|
|
{ TWasmObjOutput }
|
|
@@ -345,6 +349,22 @@ implementation
|
|
ObjSymExtraData.TypeIdx:=i;
|
|
ObjSymExtraData.TypeIdx:=i;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure TWasmObjData.DeclareImportModule(aim: tai_import_module);
|
|
|
|
+ var
|
|
|
|
+ ObjSymExtraData: TWasmObjSymbolExtraData;
|
|
|
|
+ begin
|
|
|
|
+ ObjSymExtraData:=AddOrCreateObjSymbolExtraData(aim.symname);
|
|
|
|
+ ObjSymExtraData.ImportModule:=aim.importmodule;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ procedure TWasmObjData.DeclareImportName(ain: tai_import_name);
|
|
|
|
+ var
|
|
|
|
+ ObjSymExtraData: TWasmObjSymbolExtraData;
|
|
|
|
+ begin
|
|
|
|
+ ObjSymExtraData:=AddOrCreateObjSymbolExtraData(ain.symname);
|
|
|
|
+ ObjSymExtraData.ImportName:=ain.importname;
|
|
|
|
+ end;
|
|
|
|
+
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TWasmObjOutput
|
|
TWasmObjOutput
|
|
****************************************************************************}
|
|
****************************************************************************}
|