From 0a2c4ea0c43824d113295964688a3357c6e8a4bf Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Tue, 2 Jun 2020 01:51:27 +0200 Subject: [PATCH] improved ast printing --- compiler/src/prog8/ast/AstToSourceCode.kt | 2 -- compiler/src/prog8/compiler/Main.kt | 2 +- compiler/src/prog8/optimizer/CallGraph.kt | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/compiler/src/prog8/ast/AstToSourceCode.kt b/compiler/src/prog8/ast/AstToSourceCode.kt index b3c287d8b..68bc807da 100644 --- a/compiler/src/prog8/ast/AstToSourceCode.kt +++ b/compiler/src/prog8/ast/AstToSourceCode.kt @@ -177,8 +177,6 @@ class AstToSourceCode(val output: (text: String) -> Unit, val program: Program): private fun outputStatements(statements: List) { for(stmt in statements) { - if(stmt is VarDecl && stmt.autogeneratedDontRemove) - continue // skip autogenerated decls (to avoid generating a newline) outputi("") stmt.accept(this) output("\n") diff --git a/compiler/src/prog8/compiler/Main.kt b/compiler/src/prog8/compiler/Main.kt index d95b3a37c..1e371b85d 100644 --- a/compiler/src/prog8/compiler/Main.kt +++ b/compiler/src/prog8/compiler/Main.kt @@ -42,7 +42,7 @@ fun compileProgram(filepath: Path, optimizeAst(programAst, errors) postprocessAst(programAst, errors, compilationOptions) - printAst(programAst) // TODO + // printAst(programAst) // TODO if(writeAssembly) programName = writeAssembly(programAst, errors, outputDir, optimize, compilationOptions) diff --git a/compiler/src/prog8/optimizer/CallGraph.kt b/compiler/src/prog8/optimizer/CallGraph.kt index 40bcd5c3f..8dcaad9dd 100644 --- a/compiler/src/prog8/optimizer/CallGraph.kt +++ b/compiler/src/prog8/optimizer/CallGraph.kt @@ -127,7 +127,7 @@ class CallGraph(private val program: Program) : IAstVisitor { override fun visit(decl: VarDecl) { if (decl.autogeneratedDontRemove || decl.definingModule().isLibraryModule) { - // make sure autogenerated vardecls are in the used symbols + // make sure autogenerated vardecls are in the used symbols and are never removed as 'unused' addNodeAndParentScopes(decl) }