diff options
Diffstat (limited to 'src/wasm-builder.h')
-rw-r--r-- | src/wasm-builder.h | 16 |
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; } |