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} }