summaryrefslogtreecommitdiff
path: root/src/wasm2asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r--src/wasm2asm.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index 59f2d6ab8..3c2cfcb6e 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -651,11 +651,12 @@ Ref Wasm2AsmBuilder::processFunction(Function* func) {
);
};
scanFunctionBody(func->body);
- bool isBodyBlock = (func->body->_id == Expression::BlockId);
+ bool isBodyBlock = func->body->is<Block>();
ExpressionList* stats = isBodyBlock ?
&static_cast<Block*>(func->body)->list : nullptr;
bool endsInReturn =
- (isBodyBlock && ((*stats)[stats->size()-1]->_id == Expression::ReturnId));
+ (isBodyBlock && ((*stats)[stats->size()-1]->is<Return>())) ||
+ func->body->is<Return>();
if (endsInReturn) {
// return already taken care of
flattenAppend(ret, processFunctionBody(func, NO_RESULT));