Make the new method in CMOP::Method::Generated throw an error. This is an abstract...
[gitmo/Class-MOP.git] / lib / Class / MOP / Method / Generated.pm
index f3032da..1e35f76 100644 (file)
@@ -12,32 +12,12 @@ our $AUTHORITY = 'cpan:STEVAN';
 
 use base 'Class::MOP::Method';
 
-sub new {
-    my $class   = shift;
-    my %options = @_;  
-        
-    ($options{package_name} && $options{name})
-        || confess "You must supply the package_name and name parameters $Class::MOP::Method::UPGRADE_ERROR_TEXT";     
-        
-    my $self = $class->_new(\%options);
-    
-    $self->initialize_body;
-    
-    return $self;
-}
-
-sub _new {
-    my $class = shift;
-    my $options = @_ == 1 ? $_[0] : {@_};
-
-    $options->{is_inline} ||= 0;
-    $options->{body} ||= undef;
+## accessors
 
-    bless $options, $class;
+sub new {
+    confess __PACKAGE__ . " is an abstract base class, you must provide a constructor.";
 }
 
-## accessors
-
 sub is_inline { $_[0]{is_inline} }
 
 sub definition_context { $_[0]{definition_context} }