Metaobject that supports resolving inherited methods
Warning: this role is part of the Rakudo implementation, and is not a part of the language specification.
This role implements locating methods based on the method resolution order of related (usually "super"/"parent") types.
method find_method(, , :, *)
Given a method name, it returns the method object of that name which is closest in the method resolution order (MRO). If no method can be found, it returns a VM-specific sentinel value (typically a low-level NULL value) that can be tested for with a test for definedness:
for <upper-case uc># OUTPUT:# method `upper-case` not found# FOO
If :no_fallback
is supplied, fallback methods are not considered.
method find_method_qualified(, , )
Given a method name and a type, returns the method from that type. This is used in calls like
self.SomeParentClass::the_method();
method can(, )
Returns the list of methods of that name the object can do.
method publish_method_cache()
Walk MRO and add methods to cache, unless another method lower in the class hierarchy "shadowed" it.