var paths = new Array[String]
# Like (an used by) `get_mmodule_by_name` but just return the ModulePath
- private fun search_mmodule_by_name(anode: ANode, mgroup: nullable MGroup, name: String): nullable ModulePath
+ private fun search_mmodule_by_name(anode: nullable ANode, mgroup: nullable MGroup, name: String): nullable ModulePath
do
# First, look in groups
var c = mgroup
# If `mgroup` is set, then the module search starts from it up to the top level (see `paths`);
# if `mgroup` is null then the module is searched in the top level only.
# If no module exists or there is a name conflict, then an error on `anode` is displayed and null is returned.
- fun get_mmodule_by_name(anode: ANode, mgroup: nullable MGroup, name: String): nullable MModule
+ fun get_mmodule_by_name(anode: nullable ANode, mgroup: nullable MGroup, name: String): nullable MModule
do
var path = search_mmodule_by_name(anode, mgroup, name)
if path == null then return null # Forward error
# Helper function to display an error on a node.
# Alias for `self.toolcontext.error(n.hot_location, text)`
- fun error(n: ANode, text: String)
+ fun error(n: nullable ANode, text: String)
do
- self.toolcontext.error(n.hot_location, text)
+ var l = null
+ if n != null then l = n.hot_location
+ self.toolcontext.error(l, text)
end
# Helper function to display a warning on a node.
# Alias for: `self.toolcontext.warning(n.hot_location, text)`
- fun warning(n: ANode, tag, text: String)
+ fun warning(n: nullable ANode, tag, text: String)
do
- self.toolcontext.warning(n.hot_location, tag, text)
+ var l = null
+ if n != null then l = n.hot_location
+ self.toolcontext.warning(l, tag, text)
end
# Helper function to display an advice on a node.
# Alias for: `self.toolcontext.advice(n.hot_location, text)`
- fun advice(n: ANode, tag, text: String)
+ fun advice(n: nullable ANode, tag, text: String)
do
- self.toolcontext.advice(n.hot_location, tag, text)
+ var l = null
+ if n != null then l = n.hot_location
+ self.toolcontext.advice(l, tag, text)
end
# Force to get the primitive method named `name` on the type `recv` or do a fatal error on `n`