diff options
author | Ben Smith <binjimin@gmail.com> | 2018-03-02 17:48:10 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-02 17:48:10 -0800 |
commit | c0e3c8ae30236582060dfa830bf405b209d9e149 (patch) | |
tree | b0723ece60bf89f31c2a19701465e9af19e9f6f3 /src/generate-names.cc | |
parent | 2c591c592b5e1480e4d69093dd051348c1ec5f0e (diff) | |
download | wabt-c0e3c8ae30236582060dfa830bf405b209d9e149.tar.gz wabt-c0e3c8ae30236582060dfa830bf405b209d9e149.tar.bz2 wabt-c0e3c8ae30236582060dfa830bf405b209d9e149.zip |
WIP on support for level1 exception spec (#773)
Implemented:
* Parsing `try`, `if_except`, `throw`, `rethrow`
* Validation
* Binary and text output
Still missing:
* `except_ref` for locals
* Interpreter implementation
Diffstat (limited to 'src/generate-names.cc')
-rw-r--r-- | src/generate-names.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/generate-names.cc b/src/generate-names.cc index 451cb3b6..a1b02fb4 100644 --- a/src/generate-names.cc +++ b/src/generate-names.cc @@ -39,6 +39,7 @@ class NameGenerator : public ExprVisitor::DelegateNop { Result BeginBlockExpr(BlockExpr* expr) override; Result BeginLoopExpr(LoopExpr* expr) override; Result BeginIfExpr(IfExpr* expr) override; + Result BeginIfExceptExpr(IfExceptExpr* expr) override; private: static bool HasName(const std::string& str); @@ -207,6 +208,11 @@ Result NameGenerator::BeginIfExpr(IfExpr* expr) { return Result::Ok; } +Result NameGenerator::BeginIfExceptExpr(IfExceptExpr* expr) { + MaybeGenerateName("$E", label_count_++, &expr->true_.label); + return Result::Ok; +} + Result NameGenerator::VisitFunc(Index func_index, Func* func) { MaybeGenerateAndBindName(&module_->func_bindings, "$f", func_index, &func->name); |