Property definitions

nitc :: rapid_type_analysis $ ANode :: accept_rapid_type_visitor
	private fun accept_rapid_type_visitor(v: RapidTypeVisitor)
	do
	end
src/rapid_type_analysis.nit:539,2--541,4

nitc :: rapid_type_analysis $ AAssertExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		if can_explain_assert(v.analysis.modelbuilder) then
			var str = explain_assert_str
			if str != null then str.accept_rapid_type_visitor(v)
		end
	end
src/rapid_type_analysis.nit:676,2--682,4

nitc :: rapid_type_analysis $ AIntegerExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		allocate_mtype(v)
	end
src/rapid_type_analysis.nit:556,2--559,4

nitc :: rapid_type_analysis $ AFloatExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		allocate_mtype(v)
	end
src/rapid_type_analysis.nit:563,2--566,4

nitc :: rapid_type_analysis $ ASendExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		v.add_callsite(callsite)
	end
src/rapid_type_analysis.nit:701,2--704,4

nitc :: rapid_type_analysis $ ASuperExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var callsite = self.callsite
		if callsite != null then
			v.add_callsite(callsite)
			return
		end

		v.analysis.add_super_send(v.receiver, mpropdef.as(not null))
	end
src/rapid_type_analysis.nit:739,2--748,4

nitc :: rapid_type_analysis $ ANewExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var mtype = self.recvtype.as(not null)
		v.add_type(mtype)
		v.add_callsite(callsite)
	end
src/rapid_type_analysis.nit:771,2--776,4

nitc :: rapid_type_analysis $ ACharExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		allocate_mtype(v)
	end
src/rapid_type_analysis.nit:570,2--573,4

nitc :: rapid_type_analysis $ ACrangeExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var mtype = self.mtype
		if not mtype isa MClassType then return
		v.add_type(mtype)
		v.add_callsite(init_callsite)
	end
src/rapid_type_analysis.nit:624,2--630,4

nitc :: rapid_type_analysis $ AOrangeExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var mtype = self.mtype
		if not mtype isa MClassType then return
		v.add_type(mtype)
		v.add_callsite(init_callsite)
	end
src/rapid_type_analysis.nit:634,2--640,4

nitc :: rapid_type_analysis $ ATrueExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		allocate_mtype(v)
	end
src/rapid_type_analysis.nit:644,2--647,4

nitc :: rapid_type_analysis $ AFalseExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		allocate_mtype(v)
	end
src/rapid_type_analysis.nit:651,2--654,4

nitc :: rapid_type_analysis $ AIsaExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var cast_type = self.cast_type
		if cast_type == null then return
		v.add_cast_type(cast_type)
	end
src/rapid_type_analysis.nit:658,2--663,4

nitc :: rapid_type_analysis $ AAsCastExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var mtype = self.mtype
		if mtype == null then return
		v.add_cast_type(mtype)
	end
src/rapid_type_analysis.nit:667,2--672,4

nitc :: rapid_type_analysis $ ASuperstringExpr :: accept_rapid_type_visitor
	redef fun accept_rapid_type_visitor(v)
	do
		var mmodule = v.analysis.mainmodule
		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)
		v.add_type(nattype)
		var prop = v.get_method(arraytype, "join")
		v.add_monomorphic_send(arraytype, prop)
		var prop2 = v.get_method(arraytype, "with_native")
		v.add_monomorphic_send(arraytype, prop2)
		v.add_monomorphic_send(nattype, v.get_method(nattype, "native_to_s"))
	end
src/rapid_type_analysis.nit:607,2--620,4

nitc :: rapid_type_analysis $ ACallrefExpr :: accept_rapid_type_visitor
        redef fun accept_rapid_type_visitor(v)
        do
                super
                v.add_type(mtype.as(MClassType))
        end
src/rapid_type_analysis.nit:708,9--712,11