Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
12 files changed:
special Visitor
fun get_type_by_name(clsname: Symbol): MMType
do
special Visitor
fun get_type_by_name(clsname: Symbol): MMType
do
+ if not _module.has_global_class_named(clsname) then _tc.fatal_error(_module.location, "Missing necessary class: \"{clsname}\"")
var cls = _module.class_by_name(clsname)
return cls.get_type
end
fun get_instantiated_type_by_name(clsname: Symbol, vtype: Array[MMType]): MMType
do
var cls = _module.class_by_name(clsname)
return cls.get_type
end
fun get_instantiated_type_by_name(clsname: Symbol, vtype: Array[MMType]): MMType
do
+ if not _module.has_global_class_named(clsname) then _tc.fatal_error(_module.location, "Missing necessary class: \"{clsname}\"")
var cls = _module.class_by_name(clsname)
return cls.get_instantiate_type(vtype)
end
var cls = _module.class_by_name(clsname)
return cls.get_instantiate_type(vtype)
end
--- /dev/null
+
+import end#!alt7#
+#alt7#import kernel
+class Object#!alt7#
+end#!alt7#
+
+#alt6#class A
+#alt6#end
+
+#alt8#class L
+#alt8#end
+
+fun some_fun do
+#alt1# var v = 1
+#alt2# var v = 1.0
+#alt3# var v = '1'
+#alt4# var v = "1"
+#alt5# var v = true
+#alt6# var v = [new A, new A]
+#alt7# var v = [1..10]
+#alt8# for i in new L do
+#alt8# end
+ var v: Object
+end
--- /dev/null
+alt/error_needed_types_alt1.nit:0,0: Missing necessary class: "Int"
--- /dev/null
+alt/error_needed_types_alt2.nit:0,0: Missing necessary class: "Float"
--- /dev/null
+alt/error_needed_types_alt3.nit:0,0: Missing necessary class: "Char"
--- /dev/null
+alt/error_needed_types_alt4.nit:0,0: Missing necessary class: "String"
--- /dev/null
+alt/error_needed_types_alt6.nit:0,0: Missing necessary class: "Array"
--- /dev/null
+alt/error_needed_types_alt7.nit:0,0: Missing necessary class: "Range"
--- /dev/null
+alt/error_needed_types_alt8.nit:0,0: Missing necessary class: "Collection"