<commit_before>=begin pod

=TITLE role Metamodel::MROBasedMethodDispatch

=SUBTITLE Meta model role that locates methods potentially from superclasses

    role Metamodel::MROBasedMethodDispatch { ... }

This role implements locating methods based on the method resolution order of
related (usually "super"/"parent") types.

=head1 Methods

=head2 method find_method

    method find_method(Metamodel::MROBasedMethodDispatch:D: $obj, $name, $no_fallback)

Given a method name, 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).

If C<:no_fallback> is supplied, fallback methods are not considered.

=begin comment

TODO: find_method_qualified, publish_method_cache

=end comment

=end pod
<commit_msg>Document .^find_method_qualified<commit_after>=begin pod

=TITLE role Metamodel::MROBasedMethodDispatch

=SUBTITLE Meta model role that locates methods potentially from superclasses

    role Metamodel::MROBasedMethodDispatch { ... }

This role implements locating methods based on the method resolution order of
related (usually "super"/"parent") types.

=head1 Methods

=head2 method find_method

    method find_method(Metamodel::MROBasedMethodDispatch:D: $obj, $name, $no_fallback)

Given a method name, 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).

If C<:no_fallback> is supplied, fallback methods are not considered.

=head2 method find_method_qualified

    method find_method(Metamodel::MROBasedMethodDispatch:D: $obj, $type, $name)

Given a method name and a type, returns the method from that type. This is
used in calls like

    self.SomeParentClass::the_method();

=begin comment

TODO: publish_method_cache

=end comment

=end pod

{'fraction_non_alphanumeric': 0.0684156378600823, 'fraction_numerical': 0.00257201646090535, 'mean_word_length': 5.314935064935065, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2264613', 'n_tokens_mistral': 580, 'n_tokens_neox': 546, 'n_words': 224}