diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 0a2026f25..33b5f5d16 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -620,19 +620,12 @@ struct PrintSExpression : public Visitor<PrintSExpression> { } void visitTable(Table *curr) { // if table wasn't imported, declare it - bool found = false; - for (auto& import : currModule->imports) { - if (import->kind == ExternalKind::Table) { - found = true; - break; - } - } - if (!found) { + if (!curr->imported) { doIndent(o, indent); printTableHeader(curr); + o << maybeNewLine; } if (curr->segments.empty()) return; - if (!found) o << '\n'; doIndent(o, indent); for (auto& segment : curr->segments) { // Don't print empty segments @@ -645,6 +638,7 @@ struct PrintSExpression : public Visitor<PrintSExpression> { } o << ')'; } + o << maybeNewLine; } void printMemoryHeader(Memory* curr) { printOpening(o, "memory") << ' '; @@ -712,8 +706,7 @@ struct PrintSExpression : public Visitor<PrintSExpression> { o << maybeNewLine; } if (curr->table.exists) { - visitTable(&curr->table); - o << maybeNewLine; + visitTable(&curr->table); // Prints its own newlines } visitMemory(&curr->memory); for (auto& child : curr->globals) { |