MClass
from a node
.REQUIRE node.labels.has("MClass")
# Build a new `MClass` from a `node`.
#
# REQUIRE `node.labels.has("MClass")`
private fun to_mclass(model: Model, node: NeoNode): MClass do
var m = mentities.get_or_null(node.id.as(Int))
if m isa MClass then return m
assert node.labels.has("MClass")
var mmodule = to_mmodule(model, node.in_nodes("INTRODUCES").first)
var name = node["name"].to_s
var location = to_location(node["location"].to_s)
var kind = to_kind(node["kind"].to_s)
var visibility = to_visibility(node["visibility"].to_s)
var parameter_names = new Array[String]
if node.has_key("parameter_names") then
for e in node["parameter_names"].as(JsonArray) do
parameter_names.add e.to_s
end
end
var mclass = new MClass(mmodule, name, location, parameter_names, kind, visibility)
mentities[node.id.as(Int)] = mclass
set_doc(node, mclass)
return mclass
end
src/neo.nit:408,2--431,4