diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/wasm.h b/src/wasm.h index 29d2e9b5d..eeccd7be0 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -1253,11 +1253,15 @@ public: class Try : public SpecificExpression<Expression::TryId> { public: - Try(MixedArena& allocator) {} + Try(MixedArena& allocator) : catchEvents(allocator), catchBodies(allocator) {} Expression* body; - Expression* catchBody; + ArenaVector<Name> catchEvents; + ExpressionList catchBodies; + bool hasCatchAll() const { + return catchBodies.size() - catchEvents.size() == 1; + } void finalize(); void finalize(Type type_); }; @@ -1276,7 +1280,7 @@ class Rethrow : public SpecificExpression<Expression::RethrowId> { public: Rethrow(MixedArena& allocator) {} - Expression* exnref; + Index depth; void finalize(); }; |