contrib & examples..: update users of `join("")`
[nit.git] / contrib / pep8analysis / src / cfg / dot_printer.nit
index b4fe76e..116c91c 100644 (file)
@@ -1,7 +1,7 @@
 import cfg_base
 
 redef class CFG
-       fun print_dot( f: OFStream, long: Bool )
+       fun print_dot( f: Writer, long: Bool )
        do
                f.write("digraph \{\n")
                f.write("charset=latin1\n")
@@ -13,32 +13,30 @@ redef class CFG
 end
 
 redef class BasicBlock
-       fun print_dot_nodes( f: OFStream, long: Bool )
+       fun print_dot_nodes( f: Writer, long: Bool )
        do
-               var lbl
-               if long then
-                       lbl = "\"{name}:\\n{dot_node_text}\""
-               else
-                       lbl = name
-               end
+               var lbl = "\"{name}:\\n{dot_node_text(long)}\""
                f.write( "{name} [label={lbl}]\n" )
        end
 
-       fun dot_node_text : String
+       fun dot_node_text(long: Bool): String
        do
                var code_lines = new Array[String]
                for line in lines do code_lines.add(line.text)
-               var code = code_lines.join("")
+               var code = code_lines.join
 
                code = code.replace("\n","\\l").replace("\"","\\\"").replace("\\n","|n").replace("/","\\/").replace("\r","")
                # the last one is a hack
-               return "{dot_node_header}{code}{dot_node_footer}"
+
+               if long then
+                       return "{dot_node_header}{code}{dot_node_footer}"
+               else return code
        end
 
        fun dot_node_header: String do return ""
        fun dot_node_footer: String do return ""
 
-       fun print_dot_edges( f: OFStream, long: Bool )
+       fun print_dot_edges( f: Writer, long: Bool )
        do
                for s in successors do
                        f.write( "{name} -> {s.name}\n" )