Make all the generate_* methods in CMOP::Accessor private.
[gitmo/Class-MOP.git] / lib / Class / MOP / Method / Accessor.pm
index dcf5f32..27fe19f 100644 (file)
@@ -67,7 +67,7 @@ sub _initialize_body {
     my $self = shift;
 
     my $method_name = join "_" => (
-        'generate',
+        '_generate',
         $self->accessor_type,
         'method',
         ($self->is_inline ? 'inline' : ())
@@ -80,6 +80,12 @@ sub _initialize_body {
 ## generators
 
 sub generate_accessor_method {
+    warn 'The generate_accessor_method method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_accessor_method;
+}
+
+sub _generate_accessor_method {
     my $attr = (shift)->associated_attribute;
     return sub {
         $attr->set_value($_[0], $_[1]) if scalar(@_) == 2;
@@ -88,6 +94,12 @@ sub generate_accessor_method {
 }
 
 sub generate_reader_method {
+    warn 'The generate_reader_method method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_reader_method;
+}
+
+sub _generate_reader_method {
     my $attr = (shift)->associated_attribute;
     return sub {
         confess "Cannot assign a value to a read-only accessor" if @_ > 1;
@@ -96,6 +108,12 @@ sub generate_reader_method {
 }
 
 sub generate_writer_method {
+    warn 'The generate_writer_method method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_writer_method;
+}
+
+sub _generate_writer_method {
     my $attr = (shift)->associated_attribute;
     return sub {
         $attr->set_value($_[0], $_[1]);
@@ -103,6 +121,12 @@ sub generate_writer_method {
 }
 
 sub generate_predicate_method {
+    warn 'The generate_predicate_method method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_predicate_method;
+}
+
+sub _generate_predicate_method {
     my $attr = (shift)->associated_attribute;
     return sub {
         $attr->has_value($_[0])
@@ -110,6 +134,12 @@ sub generate_predicate_method {
 }
 
 sub generate_clearer_method {
+    warn 'The generate_clearer_method method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_clearer_method;
+}
+
+sub _generate_clearer_method {
     my $attr = (shift)->associated_attribute;
     return sub {
         $attr->clear_value($_[0])
@@ -118,8 +148,13 @@ sub generate_clearer_method {
 
 ## Inline methods
 
-
 sub generate_accessor_method_inline {
+    warn 'The generate_accessor_method_inline method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_accessor_method_inline;
+}
+
+sub _generate_accessor_method_inline {
     my $self          = shift;
     my $attr          = $self->associated_attribute;
     my $attr_name     = $attr->name;
@@ -139,6 +174,12 @@ sub generate_accessor_method_inline {
 }
 
 sub generate_reader_method_inline {
+    warn 'The generate_reader_method_inline method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_reader_method_inline;
+}
+
+sub _generate_reader_method_inline {
     my $self          = shift;
     my $attr          = $self->associated_attribute;
     my $attr_name     = $attr->name;
@@ -157,6 +198,12 @@ sub generate_reader_method_inline {
 }
 
 sub generate_writer_method_inline {
+    warn 'The generate_writer_method_inline method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_writer_method_inline;
+}
+
+sub _generate_writer_method_inline {
     my $self          = shift;
     my $attr          = $self->associated_attribute;
     my $attr_name     = $attr->name;
@@ -173,8 +220,13 @@ sub generate_writer_method_inline {
     return $code;
 }
 
-
 sub generate_predicate_method_inline {
+    warn 'The generate_predicate_method_inline method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_predicate_method_inline;
+}
+
+sub _generate_predicate_method_inline {
     my $self          = shift;
     my $attr          = $self->associated_attribute;
     my $attr_name     = $attr->name;
@@ -192,6 +244,12 @@ sub generate_predicate_method_inline {
 }
 
 sub generate_clearer_method_inline {
+    warn 'The generate_clearer_method_inline method has been made private.'
+        . " The public version is deprecated and will be removed in a future release.\n";
+    goto &_generate_clearer_method_inline;
+}
+
+sub _generate_clearer_method_inline {
     my $self          = shift;
     my $attr          = $self->associated_attribute;
     my $attr_name     = $attr->name;