summaryrefslogtreecommitdiff
path: root/src/binary-reader-linker.cc
diff options
context:
space:
mode:
authorpipcet <pipcet@users.noreply.github.com>2017-03-10 18:40:22 +0000
committerBen Smith <binjimin@gmail.com>2017-03-10 10:40:22 -0800
commit5180a926895aebb57fb3e4c2a670d61692ae3d8d (patch)
tree8456e5710ac5b90f1dc69ecf80f16c8c52d6e38f /src/binary-reader-linker.cc
parentdece22f5b8ab409150a5b9df4fb03a5033ec5c19 (diff)
downloadwabt-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.cc12
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++;