var mvisibility: nullable MVisibility
var arity = 0
var names = new Array[String]
+ var mclass
if nclassdef isa AStdClassdef then
- name = nclassdef.n_qid.n_id.text
+ var qid = nclassdef.n_qid
+ assert qid != null
+ name = qid.n_id.text
nkind = nclassdef.n_classkind
mkind = nkind.mkind
nvisibility = nclassdef.n_visibility
end
names.add(ptname)
end
+ mclass = try_get_mclass_by_qid(qid, mmodule)
+ if mclass == null and (qid.n_qualified != null or nclassdef.n_kwredef != null) then
+ class_not_found(qid, mmodule)
+ nclassdef.is_broken = true
+ return
+ end
else if nclassdef isa ATopClassdef and nclassdef.n_propdefs.first.as(AMethPropdef).n_methid.collect_text == "sys" then
# Special case to keep `sys` in object.
mkind = interface_kind
nvisibility = null
mvisibility = public_visibility
+ mclass = try_get_mclass_by_name(nclassdef, mmodule, name)
else
name = "Sys"
nkind = null
mkind = concrete_kind
nvisibility = null
mvisibility = public_visibility
+ mclass = try_get_mclass_by_name(nclassdef, mmodule, name)
end
- var mclass = try_get_mclass_by_name(nclassdef, mmodule, name)
if mclass == null then
if nclassdef isa AStdClassdef and nclassdef.n_kwredef != null then
error(nclassdef, "Redef Error: no imported class `{name}` to refine.")