src/rta: import csv publicly.
[nit.git] / src / rapid_type_analysis.nit
index 05e2332..9a6b117 100644 (file)
@@ -25,7 +25,7 @@ module rapid_type_analysis
 
 import semantize
 
-private import csv # for live_types_to_csv
+import csv # for live_types_to_csv
 private import ordered_tree # for live_methods_to_tree
 
 private import more_collections
@@ -213,11 +213,16 @@ class RapidTypeAnalysis
 
                # Force primitive types
                force_alive("Bool")
-               force_alive("Int")
                force_alive("Float")
                force_alive("Char")
                force_alive("Pointer")
                force_alive("Byte")
+               force_alive("Int")
+               force_alive("Int8")
+               force_alive("Int16")
+               force_alive("UInt16")
+               force_alive("Int32")
+               force_alive("UInt32")
 
                while not todo.is_empty do
                        var mmethoddef = todo.shift
@@ -535,14 +540,7 @@ redef class AExpr
        end
 end
 
-redef class AIntExpr
-       redef fun accept_rapid_type_visitor(v)
-       do
-               allocate_mtype(v)
-       end
-end
-
-redef class AByteExpr
+redef class AIntegerExpr
        redef fun accept_rapid_type_visitor(v)
        do
                allocate_mtype(v)
@@ -583,7 +581,7 @@ redef class AStringFormExpr
        do
                var native = v.analysis.mainmodule.native_string_type
                v.add_type(native)
-               var prop = v.get_method(native, "to_s_with_length")
+               var prop = v.get_method(native, "to_s_full")
                v.add_monomorphic_send(native, prop)
        end
 end
@@ -701,7 +699,7 @@ redef class ASuperExpr
        end
 end
 
-redef class AForExpr
+redef class AForGroup
        redef fun accept_rapid_type_visitor(v)
        do
                v.add_callsite(self.method_iterator)