# aliases as public APIs
-# it must be 'require', because Mouse::Meta::Module depends on Mouse::Util
+# it must be 'require', not 'use', because Mouse::Meta::Module depends on Mouse::Util
require Mouse::Meta::Module; # for the entities of metaclass cache utilities
BEGIN {
}
sub meta{
- return Mouse::Meta::Class->initialize($_[0]);
+ return Mouse::Meta::Class->initialize(ref($_[0]) || $_[0]);
}
sub dump {
This function can be used in place of tricks like
C<eval "use $module"> or using C<require>.
-=head2 C<< Mouse::Util::class_of(ClassName) >>
+=head3 C<< Mouse::Util::class_of(ClassName or Object) >>
-The counterpart of C<Class::MOP::class_of()>. This is not exportable.
+=head3 C<< Mouse::Util::get_metaclass_by_name(ClassName) >>
-=head2 C<< Mouse::Util::get_metaclass_by_name(ClassName) >>
+=head3 C<< Mouse::Util::get_all_metaclass_instances() >>
-The counterpart of C<Class::MOP::get_metaclass_by_name()>. This is not exportable.
+=head3 C<< Mouse::Util::get_all_metaclass_names() >>
=head2 MRO::Compat
L<Moose::Util>
-L<Scalar::Util>
+L<Class::MOP>
L<Sub::Identify>