diff options
author | pipcet <pipcet@users.noreply.github.com> | 2017-03-10 18:40:22 +0000 |
---|---|---|
committer | Ben Smith <binjimin@gmail.com> | 2017-03-10 10:40:22 -0800 |
commit | 5180a926895aebb57fb3e4c2a670d61692ae3d8d (patch) | |
tree | 8456e5710ac5b90f1dc69ecf80f16c8c52d6e38f /src/binary-reader-linker.cc | |
parent | dece22f5b8ab409150a5b9df4fb03a5033ec5c19 (diff) | |
download | wabt-5180a926895aebb57fb3e4c2a670d61692ae3d8d.tar.gz wabt-5180a926895aebb57fb3e4c2a670d61692ae3d8d.tar.bz2 wabt-5180a926895aebb57fb3e4c2a670d61692ae3d8d.zip |
binary reader API: pass module/field names to on_import_* (#348)
* pass module/field names to on_import_*
simplify some code that no longer needs to store the field name in a
context.
* remove nop method
Diffstat (limited to 'src/binary-reader-linker.cc')
-rw-r--r-- | src/binary-reader-linker.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/binary-reader-linker.cc b/src/binary-reader-linker.cc index e4e7ab16..5d652951 100644 --- a/src/binary-reader-linker.cc +++ b/src/binary-reader-linker.cc @@ -27,8 +27,6 @@ struct Context { LinkerInputBinary* binary; Section* reloc_section; - - StringSlice import_name; Section* current_section; }; @@ -72,23 +70,23 @@ static Result on_import(uint32_t index, StringSlice module_name, StringSlice field_name, void* user_data) { - Context* ctx = static_cast<Context*>(user_data); if (!string_slice_eq_cstr(&module_name, WABT_LINK_MODULE_NAME)) { WABT_FATAL("unsupported import module: " PRIstringslice, WABT_PRINTF_STRING_SLICE_ARG(module_name)); } - ctx->import_name = field_name; return Result::Ok; } static Result on_import_func(uint32_t import_index, + StringSlice module_name, + StringSlice field_name, uint32_t global_index, uint32_t sig_index, void* user_data) { Context* ctx = static_cast<Context*>(user_data); FunctionImport* import = append_function_import(&ctx->binary->function_imports); - import->name = ctx->import_name; + import->name = field_name; import->sig_index = sig_index; import->active = true; ctx->binary->active_function_imports++; @@ -96,13 +94,15 @@ static Result on_import_func(uint32_t import_index, } static Result on_import_global(uint32_t import_index, + StringSlice module_name, + StringSlice field_name, uint32_t global_index, Type type, bool mutable_, void* user_data) { Context* ctx = static_cast<Context*>(user_data); GlobalImport* import = append_global_import(&ctx->binary->global_imports); - import->name = ctx->import_name; + import->name = field_name; import->type = type; import->mutable_ = mutable_; ctx->binary->active_global_imports++; |