get_linear_isa
apply_all_roles
get_code_info
+ not_supported
);
our %EXPORT_TAGS = (
all => \@EXPORT_OK,
}
}
- no strict 'refs';
- *{ __PACKAGE__ . '::get_linear_isa'} = $impl;
+
+ no warnings 'once';
+ *get_linear_isa = $impl;
}
{ # taken from Sub::Identify
}
# taken from Class/MOP.pm
-sub _is_valid_class_name {
+sub is_valid_class_name {
my $class = shift;
return 0 if ref($class);
my $found;
my %exceptions;
for my $class (@classes) {
- unless ( _is_valid_class_name($class) ) {
+ unless ( is_valid_class_name($class) ) {
my $display = defined($class) ? $class : 'undef';
confess "Invalid class name ($display)";
}
return;
}
+sub not_supported{
+ my($feature) = @_;
+
+ $feature ||= ( caller(1) )[3]; # subroutine name
+
+ local $Carp::CarpLevel = $Carp::CarpLevel + 2;
+ Carp::croak("Mouse does not currently support $feature");
+}
+
1;
__END__