diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index c0e940d04..b921fb074 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -1733,15 +1733,17 @@ struct PrintExpressionContents } void visitRefTest(RefTest* curr) { printMedium(o, "ref.test "); - printHeapTypeName(o, curr->rtt->type.getHeapType()); + printHeapTypeName(o, curr->getCastType().getHeapType()); } void visitRefCast(RefCast* curr) { printMedium(o, "ref.cast "); - printHeapTypeName(o, curr->rtt->type.getHeapType()); + printHeapTypeName(o, curr->getCastType().getHeapType()); } void visitBrOnCast(BrOnCast* curr) { - printMedium(o, "br_on_cast"); - WASM_UNREACHABLE("TODO (gc): br_on_cast"); + printMedium(o, "br_on_cast "); + printName(curr->name, o); + o << " "; + printHeapTypeName(o, curr->getCastType().getHeapType()); } void visitRttCanon(RttCanon* curr) { printMedium(o, "rtt.canon "); @@ -2450,7 +2452,10 @@ struct PrintSExpression : public OverriddenVisitor<PrintSExpression> { void visitBrOnCast(BrOnCast* curr) { o << '('; PrintExpressionContents(currFunction, o).visit(curr); - WASM_UNREACHABLE("TODO (gc): br_on_cast"); + incIndent(); + printFullLine(curr->ref); + printFullLine(curr->rtt); + decIndent(); } void visitRttCanon(RttCanon* curr) { o << '('; |