# FIXME totally lame
$meta->add_method('meta' => sub {
+ if (Class::MOP::DEBUG_NO_META()) {
+ my ($self) = @_;
+ if (my $meta = try { $self->SUPER::meta }) {
+ return $meta if $meta->isa('Class::MOP::Class');
+ }
+ confess "'meta' method called by MOP internals"
+ if caller =~ /Class::MOP|metaclass/;
+ }
$class->initialize(ref($_[0]) || $_[0]);
});
sub superclasses {
my $self = shift;
- my $isa = $self->get_package_symbol(
+ my $isa = $self->get_or_add_package_symbol(
{ sigil => '@', type => 'ARRAY', name => 'ISA' } );
if (@_) {