From 5c33c04d51a64775b8e164a9d38d06c720c6505e Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Tue, 21 May 2019 00:44:13 -0700 Subject: Refactor type/signature/local parsing methods (NFC) (#2129) - Created `parseParamOrLocals`, `parseNamedParamOrLocals`, `parseResult`, and `parseTypeRef` and make other methods use them - Deleted some unnecessary member variables --- src/wasm-s-parser.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/wasm-s-parser.h') diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 004fd9840..c37b1b27d 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -24,6 +24,7 @@ #include "mixed_arena.h" #include "parsing.h" // for UniqueNameMapper. TODO: move dependency to cpp file? +#include "wasm-builder.h" #include "wasm.h" namespace wasm { @@ -135,9 +136,6 @@ private: // function parsing state std::unique_ptr currFunction; - std::map currLocalTypes; - size_t localIndex; // params and vars - size_t otherIndex; bool brokeToAutoBlock; UniqueNameMapper nameMapper; @@ -220,8 +218,13 @@ private: Expression* makeBreakTable(Element& s); Expression* makeReturn(Element& s); + // Helper functions Type parseOptionalResultType(Element& s, Index& i); Index parseMemoryLimits(Element& s, Index i); + std::vector parseParamOrLocal(Element& s); + std::vector parseNamedParamOrLocal(Element& s, size_t& localIndex); + Type parseResult(Element& s); + FunctionType* parseTypeRef(Element& s); void stringToBinary(const char* input, size_t size, std::vector& data); void parseMemory(Element& s, bool preParseImport = false); -- cgit v1.2.3