add_package_symbol is no longer called from get_package_symbol
gfx [Sun, 16 Aug 2009 01:46:40 +0000 (10:46 +0900)]
lib/Class/MOP/Class/Immutable/Trait.pm

index 4daf5bc..bb1b7e1 100644 (file)
@@ -39,6 +39,7 @@ sub remove_method         { _immutable_cannot_call() }
 sub add_attribute         { _immutable_cannot_call() }
 sub remove_attribute      { _immutable_cannot_call() }
 sub remove_package_symbol { _immutable_cannot_call() }
+sub add_package_symbol    { _immutable_cannot_call() }
 
 sub class_precedence_list {
     my $orig = shift;
@@ -83,15 +84,6 @@ sub get_method_map {
     $self->{__immutable}{get_method_map} ||= $self->$orig;
 }
 
-sub add_package_symbol {
-    my $orig = shift;
-    my $self = shift;
-    confess "Cannot add package symbols to an immutable metaclass"
-        unless ( caller(3) )[3] eq 'Class::MOP::Package::get_package_symbol';
-
-    $self->$orig(@_);
-}
-
 1;
 
 __END__