nitc :: MMethod :: defaultinit
# A global method
class MMethod
super MProperty
redef type MPROPDEF: MMethodDef
# Is the property defined at the top_level of the module?
# Currently such a property are stored in `Object`
var is_toplevel: Bool = false is writable
# Is the property a constructor?
# Warning, this property can be inherited by subclasses with or without being a constructor
# therefore, you should use `is_init_for` the verify if the property is a legal constructor for a given class
var is_init: Bool = false is writable
# The constructor is a (the) root init with empty signature but a set of initializers
var is_root_init: Bool = false is writable
# Is the property a 'new' constructor?
var is_new: Bool = false is writable
# Is the property a legal constructor for a given class?
# As usual, visibility is not considered.
# FIXME not implemented
fun is_init_for(mclass: MClass): Bool
do
return self.is_init
end
# A specific method that is safe to call on null.
# Currently, only `==`, `!=` and `is_same_instance` are safe
fun is_null_safe: Bool do return name == "==" or name == "!=" or name == "is_same_instance"
# Is this method a getter (auto or not)?
#
# See `getter_for`.
fun is_getter: Bool do return getter_for != null
# The attribute this getter is for
#
# Return `null` is this method is not a getter.
var getter_for: nullable MAttribute = null is writable
# Is this method a setter (auto or not)?
#
# See `setter_for`.
fun is_setter: Bool do return setter_for != null
# The attribute this setter is for
#
# Return `null` is this method is not a setter.
var setter_for: nullable MAttribute = null is writable
# Is this method a getter or a setter?
fun is_accessor: Bool do return is_getter or is_setter
end
src/model/model.nit:2411,1--2466,3