summaryrefslogtreecommitdiff
path: root/src/wasm/wasm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm/wasm.cpp')
-rw-r--r--src/wasm/wasm.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp
index ea1ff2a7c..8b8285e35 100644
--- a/src/wasm/wasm.cpp
+++ b/src/wasm/wasm.cpp
@@ -863,7 +863,7 @@ FunctionType* Module::addFunctionType(std::unique_ptr<FunctionType> curr) {
return p;
}
-void Module::addExport(Export* curr) {
+Export* Module::addExport(Export* curr) {
if (!curr->name.is()) {
Fatal() << "Module::addExport: empty name";
}
@@ -872,10 +872,11 @@ void Module::addExport(Export* curr) {
}
exports.push_back(std::unique_ptr<Export>(curr));
exportsMap[curr->name] = curr;
+ return curr;
}
// TODO(@warchant): refactor all usages to use variant with unique_ptr
-void Module::addFunction(Function* curr) {
+Function* Module::addFunction(Function* curr) {
if (!curr->name.is()) {
Fatal() << "Module::addFunction: empty name";
}
@@ -884,20 +885,22 @@ void Module::addFunction(Function* curr) {
}
functions.push_back(std::unique_ptr<Function>(curr));
functionsMap[curr->name] = curr;
+ return curr;
}
-void Module::addFunction(std::unique_ptr<Function> curr) {
+Function* Module::addFunction(std::unique_ptr<Function> curr) {
if (!curr->name.is()) {
Fatal() << "Module::addFunction: empty name";
}
if (getFunctionOrNull(curr->name)) {
Fatal() << "Module::addFunction: " << curr->name << " already exists";
}
- functionsMap[curr->name] = curr.get();
+ auto* ret = functionsMap[curr->name] = curr.get();
functions.push_back(std::move(curr));
+ return ret;
}
-void Module::addGlobal(Global* curr) {
+Global* Module::addGlobal(Global* curr) {
if (!curr->name.is()) {
Fatal() << "Module::addGlobal: empty name";
}
@@ -906,6 +909,7 @@ void Module::addGlobal(Global* curr) {
}
globals.push_back(std::unique_ptr<Global>(curr));
globalsMap[curr->name] = curr;
+ return curr;
}
void Module::addStart(const Name& s) {