Clean up deprecations
[gitmo/Mouse.git] / lib / Mouse / Meta / Class.pm
index 20605ad..b31b8c6 100644 (file)
@@ -194,9 +194,9 @@ sub add_attribute {
     return $attr;
 }
 
-sub compute_all_applicable_attributes {
-    Carp::cluck('compute_all_applicable_attributes() has been deprecated')
-        if Mouse::Util::_MOUSE_VERBOSE;
+sub compute_all_applicable_attributes { # DEPRECATED
+    Carp::cluck('compute_all_applicable_attributes() has been deprecated. Use get_all_attributes() instead');
+
     return shift->get_all_attributes(@_)
 }
 
@@ -218,22 +218,30 @@ sub clone_object {
     return $cloned;
 }
 
-sub clone_instance {
+sub clone_instance { # DEPRECATED
     my ($class, $instance, %params) = @_;
 
-    Carp::cluck('clone_instance has been deprecated. Use clone_object instead')
-        if Mouse::Util::_MOUSE_VERBOSE;
+    Carp::cluck('clone_instance() has been deprecated. Use clone_object() instead');
+
     return $class->clone_object($instance, %params);
 }
 
-sub make_immutable {
-    my $self = shift;
-    my %args = (
+
+sub immutable_options {
+    my ( $self, @args ) = @_;
+
+    return (
         inline_constructor => 1,
         inline_destructor  => 1,
         constructor_name   => 'new',
-        @_,
+        @args,
     );
+}
+
+
+sub make_immutable {
+    my $self = shift;
+    my %args = $self->immutable_options(@_);
 
     $self->{is_immutable}++;
 
@@ -256,10 +264,14 @@ sub make_immutable {
     return 1;
 }
 
-sub make_mutable { not_supported }
+sub make_mutable {
+    my($self) = @_;
+    $self->{is_immutable} = 0;
+    return;
+}
 
-sub is_immutable {  $_[0]->{is_immutable} }
-sub is_mutable   { !$_[0]->{is_immutable} }
+sub is_immutable;
+sub is_mutable   { !$_[0]->is_immutable }
 
 sub _install_modifier_pp{
     my( $self, $type, $name, $code ) = @_;
@@ -450,7 +462,7 @@ Mouse::Meta::Class - The Mouse class metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.40_07
+This document describes Mouse version 0.4501
 
 =head1 METHODS