summaryrefslogtreecommitdiff
path: root/src/wasm-ast.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-ast.c')
-rw-r--r--src/wasm-ast.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wasm-ast.c b/src/wasm-ast.c
index f6353bff..12febdb0 100644
--- a/src/wasm-ast.c
+++ b/src/wasm-ast.c
@@ -186,6 +186,14 @@ int wasm_get_global_index_by_var(const WasmModule* module, const WasmVar* var) {
return wasm_get_index_from_var(&module->global_bindings, var);
}
+int wasm_get_table_index_by_var(const WasmModule* module, const WasmVar* var) {
+ return wasm_get_index_from_var(&module->table_bindings, var);
+}
+
+int wasm_get_memory_index_by_var(const WasmModule* module, const WasmVar* var) {
+ return wasm_get_index_from_var(&module->memory_bindings, var);
+}
+
int wasm_get_func_type_index_by_var(const WasmModule* module,
const WasmVar* var) {
return wasm_get_index_from_var(&module->func_type_bindings, var);
@@ -222,6 +230,22 @@ WasmGlobalPtr wasm_get_global_by_var(const WasmModule* module,
return module->globals.data[index];
}
+WasmTablePtr wasm_get_table_by_var(const WasmModule* module,
+ const WasmVar* var) {
+ int index = wasm_get_index_from_var(&module->table_bindings, var);
+ if (index < 0 || (size_t)index >= module->tables.size)
+ return NULL;
+ return module->tables.data[index];
+}
+
+WasmMemoryPtr wasm_get_memory_by_var(const WasmModule* module,
+ const WasmVar* var) {
+ int index = wasm_get_index_from_var(&module->memory_bindings, var);
+ if (index < 0 || (size_t)index >= module->memories.size)
+ return NULL;
+ return module->memories.data[index];
+}
+
WasmFuncTypePtr wasm_get_func_type_by_var(const WasmModule* module,
const WasmVar* var) {
int index = wasm_get_index_from_var(&module->func_type_bindings, var);