mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-01 21:26:03 +02:00
+ handle the import_module and import_name directives in the internal
assembler and store them as obj symbol extra data
This commit is contained in:
parent
4ef2a88946
commit
050519f16f
@ -1837,6 +1837,10 @@ Implementation
|
||||
{$ifdef WASM}
|
||||
ait_functype:
|
||||
TWasmObjData(ObjData).DeclareFuncType(tai_functype(hp));
|
||||
ait_import_module:
|
||||
TWasmObjData(ObjData).DeclareImportModule(tai_import_module(hp));
|
||||
ait_import_name:
|
||||
TWasmObjData(ObjData).DeclareImportName(tai_import_name(hp));
|
||||
{$endif WASM}
|
||||
else
|
||||
;
|
||||
|
@ -44,6 +44,8 @@ interface
|
||||
|
||||
TWasmObjSymbolExtraData = class(TFPHashObject)
|
||||
TypeIdx: Integer;
|
||||
ImportModule: string;
|
||||
ImportName: string;
|
||||
constructor Create(HashObjectList: TFPHashObjectList; const s: TSymStr);
|
||||
end;
|
||||
|
||||
@ -74,6 +76,8 @@ interface
|
||||
function AddOrCreateObjSymbolExtraData(const symname:TSymStr): TWasmObjSymbolExtraData;
|
||||
function AddFuncType(wft: TWasmFuncType): integer;
|
||||
procedure DeclareFuncType(ft: tai_functype);
|
||||
procedure DeclareImportModule(aim: tai_import_module);
|
||||
procedure DeclareImportName(ain: tai_import_name);
|
||||
end;
|
||||
|
||||
{ TWasmObjOutput }
|
||||
@ -345,6 +349,22 @@ implementation
|
||||
ObjSymExtraData.TypeIdx:=i;
|
||||
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
|
||||
****************************************************************************}
|
||||
|
Loading…
Reference in New Issue
Block a user