X-Git-Url: http://nitlanguage.org diff --git a/src/astprinter.nit b/src/astprinter.nit index 97ff1fd..1a4d804 100644 --- a/src/astprinter.nit +++ b/src/astprinter.nit @@ -17,10 +17,9 @@ # print AST in an human form module astprinter -import typing -import phase +import semantize intrude import parser -import literal +private import literal private class ASTPrinterVisitor super Visitor @@ -42,21 +41,12 @@ private class ASTPrinterVisitor has_eol = true end - var last_current: nullable ANode + var last_current: nullable ANode = null fun write(s: String) do if last_current != current_node then last_current = current_node - var l = current_node._location - if l != null then - eol - out.add(s) - out.add("\t# {l.colored_line("0;32").split_with('\n').first}") - has_eol = false - eol - return - end end out.add(s) has_eol = false @@ -110,7 +100,7 @@ end redef class ANewExpr redef fun accept_printer(v) do - v.write("new {mtype.as(not null)}.{mproperty.as(not null)}") + v.write("new {mtype.as(not null)}.{callsite.mproperty}") if not n_args.n_exprs.is_empty then v.write("(") v.indent @@ -129,12 +119,12 @@ redef class ASendExpr redef fun accept_printer(v) do v.enter_visit(n_expr) - v.write(".{mproperty.name}") + v.write(".{callsite.mproperty.name}") if not raw_arguments.is_empty then v.write("(") v.indent var is_first = true - for a in raw_arguments.as(not null) do + for a in raw_arguments do if is_first then is_first = false else v.write(",") v.enter_visit(a) end