summaryrefslogtreecommitdiff
path: root/src/passes/Print.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r--src/passes/Print.cpp104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index ac115edc3..a8e5b0f9c 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -1478,6 +1478,50 @@ struct PrintExpressionContents
void visitI31Get(I31Get* curr) {
printMedium(o, curr->signed_ ? "i31.get_s" : "i31.get_u");
}
+ void visitRefTest(RefTest* curr) {
+ printMedium(o, "ref.test");
+ WASM_UNREACHABLE("TODO (gc): ref.test");
+ }
+ void visitRefCast(RefCast* curr) {
+ printMedium(o, "ref.cast");
+ WASM_UNREACHABLE("TODO (gc): ref.cast");
+ }
+ void visitBrOnCast(BrOnCast* curr) {
+ printMedium(o, "br_on_cast");
+ WASM_UNREACHABLE("TODO (gc): br_on_cast");
+ }
+ void visitRttCanon(RttCanon* curr) {
+ printMedium(o, "rtt.canon");
+ WASM_UNREACHABLE("TODO (gc): rtt.canon");
+ }
+ void visitRttSub(RttSub* curr) {
+ printMedium(o, "rtt.sub");
+ WASM_UNREACHABLE("TODO (gc): rtt.sub");
+ }
+ void visitStructNew(StructNew* curr) {
+ WASM_UNREACHABLE("TODO (gc): struct.new");
+ }
+ void visitStructGet(StructGet* curr) {
+ WASM_UNREACHABLE("TODO (gc): struct.get");
+ }
+ void visitStructSet(StructSet* curr) {
+ printMedium(o, "struct.set");
+ WASM_UNREACHABLE("TODO (gc): struct.set");
+ }
+ void visitArrayNew(ArrayNew* curr) {
+ WASM_UNREACHABLE("TODO (gc): array.new");
+ }
+ void visitArrayGet(ArrayGet* curr) {
+ WASM_UNREACHABLE("TODO (gc): array.get");
+ }
+ void visitArraySet(ArraySet* curr) {
+ printMedium(o, "array.set");
+ WASM_UNREACHABLE("TODO (gc): array.set");
+ }
+ void visitArrayLen(ArrayLen* curr) {
+ printMedium(o, "array.len");
+ WASM_UNREACHABLE("TODO (gc): array.len");
+ }
};
// Prints an expression in s-expr format, including both the
@@ -2081,6 +2125,66 @@ struct PrintSExpression : public OverriddenVisitor<PrintSExpression> {
printFullLine(curr->i31);
decIndent();
}
+ void visitRefTest(RefTest* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): ref.test");
+ }
+ void visitRefCast(RefCast* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): ref.cast");
+ }
+ void visitBrOnCast(BrOnCast* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): br_on_cast");
+ }
+ void visitRttCanon(RttCanon* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): rtt.canon");
+ }
+ void visitRttSub(RttSub* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): rtt.sub");
+ }
+ void visitStructNew(StructNew* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): struct.new");
+ }
+ void visitStructGet(StructGet* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): struct.get");
+ }
+ void visitStructSet(StructSet* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): struct.set");
+ }
+ void visitArrayNew(ArrayNew* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): array.new");
+ }
+ void visitArrayGet(ArrayGet* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): array.get");
+ }
+ void visitArraySet(ArraySet* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): array.set");
+ }
+ void visitArrayLen(ArrayLen* curr) {
+ o << '(';
+ PrintExpressionContents(currFunction, o).visit(curr);
+ WASM_UNREACHABLE("TODO (gc): array.len");
+ }
// Module-level visitors
void handleSignature(Signature curr, Name* funcName = nullptr) {
o << "(func";