diff options
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r-- | src/wasm2asm.h | 5 |
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)); |