nitc :: MModule :: set_visibility_for
REQUIRE: the visibility of the modules imported by m
are already set for m
# Set the visibility of an imported module
# REQUIRE: the visibility of the modules imported by `m` are already set for `m`
fun set_visibility_for(m: MModule, v: MVisibility)
do
if v == intrude_visibility then
self.intrude_mmodules.add(m)
self.intrude_mmodules.add_all(m.intrude_mmodules)
self.public_mmodules.add_all(m.public_mmodules)
self.private_mmodules.add_all(m.private_mmodules)
else if v == public_visibility then
self.public_mmodules.add(m)
self.public_mmodules.add_all(m.intrude_mmodules)
self.public_mmodules.add_all(m.public_mmodules)
else if v == private_visibility then
self.private_mmodules.add(m)
self.private_mmodules.add_all(m.intrude_mmodules)
self.private_mmodules.add_all(m.public_mmodules)
else
print "{self} visibility for {m} = {v}"
abort # invalid visibility
end
end
src/model/mmodule.nit:218,2--239,4