Make removing attributes also remove their installed delegators + test
[gitmo/Moose.git] / lib / Moose / Meta / Class.pm
index 97ef77d..36e115c 100644 (file)
@@ -11,7 +11,7 @@ use List::Util qw( first );
 use List::MoreUtils qw( any all uniq );
 use Scalar::Util 'weaken', 'blessed';
 
-our $VERSION   = '0.60';
+our $VERSION   = '0.61';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -195,60 +195,6 @@ sub construct_instance {
     return $instance;
 }
 
-# FIXME:
-# This is ugly
-sub get_method_map {
-    my $self = shift;
-
-    my $current = Class::MOP::check_package_cache_flag($self->name);
-
-    if (defined $self->{'_package_cache_flag'} && $self->{'_package_cache_flag'} == $current) {
-        return $self->{'methods'};
-    }
-
-    $self->{_package_cache_flag} = $current;
-
-    my $map  = $self->{'methods'};
-
-    my $class_name       = $self->name;
-    my $method_metaclass = $self->method_metaclass;
-
-    my %all_code = $self->get_all_package_symbols('CODE');
-
-    foreach my $symbol (keys %all_code) {
-        my $code = $all_code{$symbol};
-
-        next if exists  $map->{$symbol} &&
-                defined $map->{$symbol} &&
-                        $map->{$symbol}->body == $code;
-
-        my ($pkg, $name) = Class::MOP::get_code_info($code);
-
-        # NOTE:
-        # in 5.10 constant.pm the constants show up
-        # as being in the right package, but in pre-5.10
-        # they show up as constant::__ANON__ so we
-        # make an exception here to be sure that things
-        # work as expected in both.
-        # - SL
-        unless ( $pkg eq 'constant' && $name eq '__ANON__' ) {
-            next
-                if ( $pkg || '' ) ne $class_name
-                || ( ( $name || '' ) ne '__ANON__'
-                     && ( $pkg || '' ) ne $class_name
-                   );
-        }
-
-        $map->{$symbol} = $method_metaclass->wrap(
-            $code,
-            package_name => $class_name,
-            name         => $symbol
-        );
-    }
-
-    return $map;
-}
-
 ### ---------------------------------------------
 
 sub add_attribute {