Merge: Abstract attribute
[nit.git] / contrib / jwrapper / src / model.nit
index b77c734..d38a7a1 100644 (file)
@@ -85,8 +85,6 @@ class JavaType
 
        fun is_collection: Bool do return is_primitive_array or collections_list.has(self.id)
 
-       fun is_map: Bool do return maps.has(self.id)
-
        fun is_wrapped: Bool do return find_extern_class != null
 
        fun extern_name: NitType
@@ -178,7 +176,7 @@ class JavaType
 
                var regex = "extern class [a-zA-Z1-9]\\\+[ ]\\\+in[ ]\\\+\"Java\"[ ]*`\{[ ]*" + self.to_s + "\\\+[ ]*`\}"
                var nit_dir = "NIT_DIR".environ
-               var grep = new IProcess("grep", "-r", regex, nit_dir/"lib/android/", nit_dir/"lib/java/")
+               var grep = new ProcessReader("grep", "-r", regex, nit_dir/"lib/android/", nit_dir/"lib/java/")
                var to_eat = ["private", "extern", "class"]
 
                var output = grep.read_line
@@ -232,9 +230,9 @@ class JavaType
                return id
        end
 
-       fun collections_list: Array[String] is cached do return ["List", "ArrayList", "LinkedList", "Vector", "Set", "SortedSet", "HashSet", "TreeSet", "LinkedHashSet", "Map", "SortedMap", "HashMap", "TreeMap", "Hashtable", "LinkedHashMap"]
-       fun iterable: Array[String] is cached do return ["ArrayList", "Set", "HashSet", "LinkedHashSet", "LinkedList", "Stack", "TreeSet", "Vector"]
-       fun maps: Array[String] is cached do return ["Map", "SortedMap", "HashMap", "TreeMap", "Hashtable", "LinkedHashMap"]
+       var collections_list: Array[String] is lazy do return ["List", "ArrayList", "LinkedList", "Vector", "Set", "SortedSet", "HashSet", "TreeSet", "LinkedHashSet", "Map", "SortedMap", "HashMap", "TreeMap", "Hashtable", "LinkedHashMap"]
+       var iterable: Array[String] is lazy do return ["ArrayList", "Set", "HashSet", "LinkedHashSet", "LinkedList", "Stack", "TreeSet", "Vector"]
+       var maps: Array[String] is lazy do return ["Map", "SortedMap", "HashMap", "TreeMap", "Hashtable", "LinkedHashMap"]
 end
 
 class NitType
@@ -249,7 +247,6 @@ class NitType
        var is_complete: Bool = true
 
        fun has_generic_params: Bool do return not generic_params == null
-       fun maps: Array[String] is cached do return ["HashMap", "RBTreeMap"]
 
        fun id: String do return identifier
 
@@ -271,8 +268,6 @@ class NitType
                self.mod = mod
        end
 
-       fun is_map: Bool do return maps.has(self.identifier)
-
        redef fun to_s: String
        do
                var id = self.identifier