From 9f375280e1168645ba9be9a6b5889c58ebcf565a Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Thu, 5 Nov 2015 17:37:59 -0800 Subject: remember function type name, for later checks --- src/wasm-s-parser.h | 3 ++- src/wasm.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 5a394fa4c..2f86fcef2 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -278,6 +278,7 @@ private: func->result = stringToWasmType(curr[1]->str()); } else if (id == TYPE) { Name name = curr[1]->str(); + func->type = name; if (wasm.functionTypesMap.find(name) == wasm.functionTypesMap.end()) onError(); FunctionType* type = wasm.functionTypesMap[name]; func->result = type->result; @@ -306,7 +307,7 @@ private: func->params = typeParams; } if (!func->body) func->body = allocator.alloc(); - wasm.functions.push_back(func); + wasm.addFunction(func); currLocalTypes.clear(); } diff --git a/src/wasm.h b/src/wasm.h index 59d51b07c..6d1ac7b83 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -770,6 +770,7 @@ public: WasmType result; std::vector params; std::vector locals; + Name type; // if null, it is implicit in params and result Expression *body; std::ostream& print(std::ostream &o, unsigned indent) { -- cgit v1.2.3