Merge: doc: fixed some typos and other misc. corrections
[nit.git] / src / astprinter.nit
index a1fd48e..91aee2f 100644 (file)
 # print AST in an human form
 module astprinter
 
-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
@@ -100,7 +90,7 @@ redef class ABlockExpr
        end
 end
 
-redef class AIntExpr
+redef class AIntegerExpr
        redef fun accept_printer(v)
        do
                v.write(value.to_s)
@@ -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