summaryrefslogtreecommitdiff
path: root/src/wasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm.h')
-rw-r--r--src/wasm.h10
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();
};