force_alive("Float")
force_alive("Char")
force_alive("Pointer")
+ force_alive("Byte")
while not todo.is_empty do
var mmethoddef = todo.shift
for npropdef in modelbuilder.collect_attr_propdef(cd) do
if not npropdef.has_value then continue
- var mpropdef = npropdef.mpropdef.as(not null)
+ var mpropdef = npropdef.mreadpropdef.as(not null)
var v = new RapidTypeVisitor(self, bound_mtype, mpropdef)
v.enter_visit(npropdef.n_expr)
v.enter_visit(npropdef.n_block)
end
end
+redef class AByteExpr
+ redef fun accept_rapid_type_visitor(v)
+ do
+ v.add_type(self.mtype.as(MClassType))
+ end
+end
+
redef class AFloatExpr
redef fun accept_rapid_type_visitor(v)
do
redef fun accept_rapid_type_visitor(v)
do
var mmodule = v.analysis.mainmodule
- var object_type = mmodule.object_type
+ var object_type = mmodule.string_type
var arraytype = mmodule.array_type(object_type)
v.add_type(arraytype)
var nattype = mmodule.native_array_type(object_type)