# Generate a polymorphic attribute is_set test
fun isset_attribute(a: MAttribute, recv: RuntimeVariable): RuntimeVariable do
# TODO self.check_recv_notnull(recv)
var res = new_var(compiler.mainmodule.bool_type)
# What is the declared type of the attribute?
var mtype = a.intro.static_mtype.as(not null)
var intromclassdef = a.intro.mclassdef
mtype = mtype.resolve_for(intromclassdef.bound_mtype, intromclassdef.bound_mtype, intromclassdef.mmodule, true)
if mtype isa MNullableType then
add("{res} = true; /* easy isset: {a} on {recv.inspect} */")
return res
end
add("{res} = {recv}.attrs.get(\"{a.jname}\") != null; /* {a} on {recv.inspect} */")
return res
end
src/compiler/java_compiler.nit:1081,2--1097,4