Make immutable_metaclass private and move it so it comes after where it is used.
Dave Rolsky [Thu, 23 Apr 2009 19:26:54 +0000 (14:26 -0500)]
lib/Class/MOP/Class.pm

index 41ee57e..0992306 100644 (file)
@@ -1029,7 +1029,15 @@ sub make_mutable {
     }
 }
 
-sub immutable_metaclass {
+sub _rebless_as_immutable {
+    my ( $self, @args ) = @_;
+
+    $self->{__immutable}{original_class} = ref $self;
+
+    bless $self => $self->_immutable_metaclass(@args);
+}
+
+sub _immutable_metaclass {
     my ( $self, %args ) = @_;
 
     if ( my $class = $args{immutable_metaclass} ) {
@@ -1076,14 +1084,6 @@ sub immutable_metaclass {
     }
 }
 
-sub _rebless_as_immutable {
-    my ( $self, @args ) = @_;
-
-    $self->{__immutable}{original_class} = ref $self;
-
-    bless $self => $self->immutable_metaclass(@args);
-}
-
 sub _remove_inlined_code {
     my $self = shift;