summaryrefslogtreecommitdiff
path: root/src/wasm-builder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-builder.h')
-rw-r--r--src/wasm-builder.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/wasm-builder.h b/src/wasm-builder.h
index 94699df7e..02304acec 100644
--- a/src/wasm-builder.h
+++ b/src/wasm-builder.h
@@ -43,6 +43,20 @@ public:
// make* functions, create nodes
Function* makeFunction(Name name,
+ std::vector<Type>&& params,
+ Type resultType,
+ std::vector<Type>&& vars,
+ Expression* body = nullptr) {
+ auto* func = new Function;
+ func->name = name;
+ func->result = resultType;
+ func->body = body;
+ func->params.swap(params);
+ func->vars.swap(vars);
+ return func;
+ }
+
+ Function* makeFunction(Name name,
std::vector<NameType>&& params,
Type resultType,
std::vector<NameType>&& vars,
@@ -51,7 +65,6 @@ public:
func->name = name;
func->result = resultType;
func->body = body;
-
for (auto& param : params) {
func->params.push_back(param.type);
Index index = func->localNames.size();
@@ -64,7 +77,6 @@ public:
func->localIndices[var.name] = index;
func->localNames[index] = var.name;
}
-
return func;
}