summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
62f3bf7)
Signed-off-by: Jean Privat <jean@pryen.org>
var mvisibility: nullable MVisibility
var arity = 0
var names = new Array[String]
var mvisibility: nullable MVisibility
var arity = 0
var names = new Array[String]
if nclassdef isa AStdClassdef then
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
nkind = nclassdef.n_classkind
mkind = nkind.mkind
nvisibility = nclassdef.n_visibility
end
names.add(ptname)
end
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.
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
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
else
name = "Sys"
nkind = null
mkind = concrete_kind
nvisibility = null
mvisibility = public_visibility
+ mclass = try_get_mclass_by_name(nclassdef, mmodule, name)
- 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.")
if mclass == null then
if nclassdef isa AStdClassdef and nclassdef.n_kwredef != null then
error(nclassdef, "Redef Error: no imported class `{name}` to refine.")