my @methods = Class::MOP::Class->initialize('My::Package')->get_all_me
+thods;
What is in @methods is an array of Class::MOP::Method objects which you can call the following methods on:
- name - the local method name
- package_name - the package where the method is defined
- fully_qualified_name - the package name + name
- body - returns the code ref
It should be noted that unlike Class::Inspector and the newer Class::Sniff, this will honor the MRO (Method Resolution Order) you have chosen to use, so in 5.10 (or under Class::C3) it will return a correct method list if you use the c3 MRO instead of the standard dfs (depth-first-search) MRO.
|