nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rta: check the type NativeArray before the method with_native in varargs
[nit.git]
/
src
/
rapid_type_analysis.nit
diff --git
a/src/rapid_type_analysis.nit
b/src/rapid_type_analysis.nit
index
e779174
..
e56951b
100644
(file)
--- a/
src/rapid_type_analysis.nit
+++ b/
src/rapid_type_analysis.nit
@@
-112,9
+112,9
@@
class RapidTypeAnalysis
#elttype = elttype.anchor_to(self.mainmodule, v.receiver)
var vararg = self.mainmodule.get_primitive_class("Array").get_mtype([elttype])
v.add_type(vararg)
#elttype = elttype.anchor_to(self.mainmodule, v.receiver)
var vararg = self.mainmodule.get_primitive_class("Array").get_mtype([elttype])
v.add_type(vararg)
- v.add_monomorphic_send(vararg, self.modelbuilder.force_get_primitive_method(node, "with_native", vararg.mclass, self.mainmodule))
var native = self.mainmodule.get_primitive_class("NativeArray").get_mtype([elttype])
v.add_type(native)
var native = self.mainmodule.get_primitive_class("NativeArray").get_mtype([elttype])
v.add_type(native)
+ v.add_monomorphic_send(vararg, self.modelbuilder.force_get_primitive_method(node, "with_native", vararg.mclass, self.mainmodule))
end
end
@@
-426,12
+426,10
@@
end
redef class AStringFormExpr
redef fun accept_rapid_type_visitor(v)
do
redef class AStringFormExpr
redef fun accept_rapid_type_visitor(v)
do
- var mtype = self.mtype.as(MClassType)
- v.add_type(mtype)
var native = v.get_class("NativeString").mclass_type
v.add_type(native)
var native = v.get_class("NativeString").mclass_type
v.add_type(native)
- var prop = v.get_method(mtype, "from_cstring")
- v.add_monomorphic_send(mtype, prop)
+ var prop = v.get_method(native, "to_s_with_length")
+ v.add_monomorphic_send(native, prop)
end
end
end
end