Branch Coverage

lib/Mousse.pm
Criterion Covered Total %
branch 177 928 19.0


line true false branch
51 0 5 if ref $class
52 0 5 unless defined $class
54 5 0 if $class =~ /\A \w+ (?: :: \w+ )* \z/msx
62 0 5 if ref $class or not defined $class or not length $class
70 0 13 unless exists $$pack{$part}
73 0 13 if ref $entry ne 'GLOB'
77 0 5 unless %{$pack;}
81 0 0 if exists $$pack{'VERSION'} and defined *{$$pack{'VERSION'};}{'SCALAR'} and defined ${$$pack{'VERSION'};}
83 1 0 if exists $$pack{'ISA'} and defined *{$$pack{'ISA'};}{'ARRAY'} and @{$$pack{'ISA'};} != 0
88 4 4 if ref $entry ne 'GLOB' or defined *{$entry;}{'CODE'}
99 0 6 unless ref $coderef
102 0 6 unless $cv->isa('B::CV')
105 0 6 unless $gv->isa('B::GV')
114 0 0 unless $cv->isa('B::CV')
117 0 0 unless $gv->isa('B::GV')
133 0 0 if &Scalar::Util::blessed($_[0])
135 0 2 if (defined $name)
150 1 4 if (&Scalar::Util::blessed($instance))
152 1 0 unless ($instance->can($method))
161 3 0 if (defined $name)
175 0 0 unless not $_[0]
178 0 0 if defined $_[0]
209 0 0 if &Scalar::Util::blessed($_[0])
220 0 0 unless &$check($value)
232 0 0 unless &$check($value)
264 0 4 unless (defined $name)
267 0 4 unless (defined $code)
271 0 4 if (ref $code ne 'CODE')
287 0 2 if (@_)
292 2 3 unless my $meta = Mousse::Util::get_metaclass_by_name($class)
295 0 3 if (exists $$meta{$name})
309 0 0 unless $_[0]{'method_metaclass'}
310 2 0 unless $_[0]{'attribute_metaclass'}
312 2 0 unless $_[0]{'constructor_class'}
313 0 0 unless $_[0]{'destructor_class'}
325 2 0 @_ == 1 ? :
331 0 2 if ($object->can('BUILD'))
347 0 0 unless &Scalar::Util::blessed($object) and $object->isa($class->name)
389 0 0 if (defined $init_arg)
395 0 0 unless (exists $init_args{$key})
408 0 0 unless $_[0]{'method_metaclass'}
458 2 0 unless $_[0]{'accessor_metaclass'}
510 0 2 unless defined $name
513 2 0 unless (exists $$args{'init_arg'})
520 0 2 if (exists $$args{'builder'}) { }
0 2 elsif (exists $$args{'default'}) { }
524 0 0 unless defined $$args{'builder'}
531 0 0 if (ref $$args{'default'} and ref $$args{'default'} ne 'CODE')
538 0 2 if ($$args{'required'} and not $can_be_required)
544 2 0 if (exists $$args{'is'})
547 0 2 if ($is eq 'ro') { }
2 0 elsif ($is eq 'rw') { }
0 0 elsif ($is eq 'bare') { }
551 0 2 if (exists $$args{'writer'}) { }
562 0 0 unless defined $is
568 0 2 if (exists $$args{'isa'})
572 0 2 if (exists $$args{'does'})
573 0 0 if (defined $tc) { }
578 0 0 unless ($does_ok)
587 0 2 if ($$args{'coerce'})
588 0 0 unless defined $tc
591 0 0 if $$args{'weak_ref'}
595 0 2 if ($$args{'lazy_build'})
596 0 0 if exists $$args{'default'}
601 0 0 if ($name =~ /^_/) { }
611 0 2 if ($$args{'auto_deref'})
612 0 0 unless defined $tc
615 0 0 unless $tc->is_a_type_of('ArrayRef') or $tc->is_a_type_of('HashRef')
619 0 2 if (exists $$args{'trigger'})
620 0 0 unless 'CODE' eq ref $$args{'trigger'}
624 0 2 if ($$args{'lazy'})
625 0 0 unless exists $$args{'default'} or defined $$args{'builder'}
661 0 3 if ($$parent{'hand_optimized_type_constraint'}) { }
0 3 elsif ($$parent{'constraint'}) { }
671 0 3 if ($$self{'constraint'})
675 0 3 if ($$self{'type_constraints'})
679 0 0 if &$c($_[0])
685 3 0 if (@checks == 0) { }
693 0 0 unless &$c(@args)
712 0 4 if (scalar @_ == 1) { }
713 0 0 unless ref $_[0] eq 'HASH'
732 2 0 unless $self->can('DEMOLISH')
756 0 0 if $e
763 0 0 unless $self->can('BUILD')
838 1 4 if ($args{'also'}) { }
845 1 1 unless my $also = $SPEC{$current}{'also'}
846 0 1 ref $also ? :
860 0 6 unless my $spec = $SPEC{$package}
862 5 1 if (my $as_is = $$spec{'as_is'})
866 6 63 if (ref $thingy) { }
879 63 6 if ($code_package eq $package)
885 3 3 if (my $init_meta = $package->can('init_meta'))
886 3 0 unless (grep {$_ == $init_meta;} @init_meta_methods)
896 1 4 if (my $default_list = $args{'groups'}{'default'}) { }
909 3 2 if (@init_meta_methods)
923 0 18 ref $args[0] ? :
930 0 14 if ($arg =~ s/^-//) { }
11 3 elsif ($arg =~ s/^://) { }
931 0 0 if ($arg eq 'traits') { }
932 0 0 ref $args[0] ? :
954 2 16 if ($$spec{'INIT_META'}) { }
0 16 elsif (@traits) { }
960 0 2 if (@traits)
962 0 0 ref $_ ? :
969 0 0 Mousse::Util::is_a_metarole($into->meta) ? :
981 12 6 if (@exports) { }
1012 0 0 unless exists $$stash{$keyword}
1016 0 0 if (ref $gv eq 'GLOB' and *{$gv;}{'CODE'} == $$spec{'EXPORTS'}{$keyword})
1028 0 18 if (ref $arg) { }
1029 0 0 defined $$arg{'into_level'} ? :
0 0 defined $$arg{'into'} ? :
1098 0 1 if ($xs)
1111 0 0 if $@ and $ENV{'MOUSE_XS'}
1114 1 0 unless ($xs)
1122 1 0 if (eval { do { require mro } }) { }
1137 0 0 if exists $stored{$p}
1157 0 0 unless (defined $type)
1158 0 0 exists $Class::C3::MRO{$classname} ? :
1160 0 0 if ($type eq 'c3') { }
1215 0 0 unless defined $role_name
1228 0 0 $options{'trait'} ? :
1232 0 0 $options{'trait'} ? :
1241 0 0 $loaded_class->can('register_implementation') ? :
1258 0 0 unless my(@classes) = @_
1265 0 0 if ($e) { }
1287 0 5 unless (is_valid_class_name($class))
1288 0 0 defined $class ? :
1292 5 0 if is_class_loaded($class)
1308 0 5 if $e
1315 0 0 &Scalar::Util::blessed($_[0]) ? :
1326 0 0 if (ref $role) { }
1335 0 0 if ($i + 1 < $max and ref $_[$i + 1] eq 'HASH') { }
1340 0 0 unless is_a_metarole($role)
1344 0 0 if (scalar @roles == 1) { }
1346 0 0 defined $params ? :
1356 0 0 if @_ == 1
1360 0 0 if @items == 2
1395 0 0 if (exists $args{'longmess'} and not $args{'longmess'}) { }
1409 0 0 defined $maxdepth ? :
1427 0 23 @_ == 1 ? :
1429 0 23 unless defined $args{'name'}
1432 22 1 if (defined $args{'parent'})
1441 0 22 if (defined(my $parent_tp = $args{'parent'}{'type_parameter'}))
1442 0 0 if ($parent_tp != $type_parameter) { }
1443 0 0 unless $type_parameter->is_a_type_of($parent_tp)
1456 20 3 if ($check = delete $args{'optimized'}) { }
0 3 elsif (defined $type_parameter) { }
1468 0 0 if (defined(my $my_check = $args{'constraint'})) { }
1482 0 23 if (defined $check and ref $check ne 'CODE')
1488 3 20 unless $args{'hand_optimized_type_constraint'}
1491 0 23 if ($args{'type_constraints'})
1493 0 0 if ($type->has_coercion)
1528 0 0 if (exists $$self{'type_constraints'})
1540 0 0 if (exists $has{$from})
1544 0 0 unless my $type = Mousse::Util::TypeConstraints::find_or_parse_type_constraint($from)
1559 0 0 if defined $coercion
1561 0 0 if (not $$self{'type_constraints'}) { }
1572 0 0 if ($$pair[0]($thing))
1583 0 0 if ($type->has_coercion)
1587 0 0 if (@coercions)
1592 0 0 if $self->check($value)
1604 0 0 if $self->check(@_)
1606 0 0 unless my $coercion = $self->_compiled_type_coercion
1613 0 0 if (my $msg = $self->message) { }
1618 0 0 if (not defined $value) { }
0 0 elsif (ref $value and defined &overload::StrVal) { }
1632 0 0 if not ref $other and $other eq '__ANON__'
1636 0 0 if $self->name eq $other_name
1638 0 0 if (exists $$self{'type_constraints'})
1640 0 0 if $type->name eq $other_name
1645 0 0 if $p->name eq $other_name
1655 0 0 unless (ref $param)
1671 0 0 unless ($self->check($value))
1799 0 2 if (@_ == 1 and ref $_[0]) { }
0 2 elsif (@_ == 2 and ref $_[1]) { }
2 0 elsif (@_ % 2) { }
1813 0 2 unless (defined $name)
1820 0 2 if ($is_subtype and not $parent)
1825 2 0 if (defined $parent)
1829 2 0 if (defined $name)
1832 2 0 unless ($this)
1834 0 2 unless ($this =~ /\A Mousse \b/msx)
1839 0 2 if (defined $TYPE{$name})
1841 0 0 if ($this ne $that)
1843 0 0 if ($that eq 'Mousse::Util::TypeConstraints')
1846 0 0 scalar grep({$name eq $_;} list_all_builtin_type_constraints()) ? :
1856 0 2 if exists $args{'where'}
1857 2 0 if exists $args{'optimized_as'}
1861 2 0 if (defined $name) { }
1879 0 0 unless my $type = find_type_constraint($type_name)
1916 0 0 if (ref $_[0] ne 'ARRAY')
1920 0 0 @_ == 1 && ref $_[0] eq 'ARRAY' ? :
1940 0 0 unless (@_ == 1 and ref $_[0] eq 'ARRAY')
1945 0 0 @_ == 1 && ref $_[0] eq 'ARRAY' ? :
1959 0 0 if exists $TYPE{$spec}
1963 0 0 unless (defined $meta)
1964 0 0 $create ? :
1967 0 0 if (Mousse::Util::is_a_metarole($meta)) { }
1984 0 0 if grep {not defined $_;} @_
1986 0 0 $$_{'type_constraints'} ? :
2003 0 0 if ($$c{'spec'} =~ s/^\[//)
2006 0 0 if ($$c{'spec'} =~ s/^\]//)
2019 0 0 if ($$c{'spec'} =~ s/\A ([\w.:]+) //msx)
2032 0 0 if (defined $type) { }
0 0 elsif (defined $param) { }
2033 0 0 if (defined $param) { }
2053 0 0 if ($$c{'spec'})
2058 0 0 if (@types)
2068 0 2 if Mousse::Util::is_a_type_constraint($spec) or not defined $spec
2076 0 0 unless Mousse::Util::is_a_type_constraint($constraint)
2083 0 2 if Mousse::Util::is_a_type_constraint($spec) or not defined $spec
2088 2 0 if (defined $tc)
2098 0 0 if ($context{'spec'})
2108 0 0 defined $tc ? :
2114 2 0 defined $tc ? :
2165 0 2 if @_ % 2
2168 0 2 ref $name ? :
2208 0 0 if defined $SUPER_PACKAGE and $SUPER_PACKAGE ne caller()
2209 0 0 unless defined $SUPER_BODY
2223 0 0 if (my $body = $INNER_BODY{$pkg}) { }
2244 0 2 unless my $class = $args{'for_class'}
2256 2 0 unless $meta->superclasses
2260 2 0 unless Mousse::Util::TypeConstraints::find_type_constraint($class)
2331 0 2 if (@bad and $class ne 'Mousse::Meta::Attribute')
2342 0 2 if (@bad)
2349 0 2 if ($class ne 'Mousse::Meta::Attribute')
2355 0 0 unless $_[0]->has_reader
2356 0 0 unless $_[0]->has_writer
2358 0 0 unless $_[0]->reader
2359 0 0 unless $_[0]->writer
2376 0 2 if (my $metaclass = delete $$args{'metaclass'})
2381 0 2 if (my $traits_ref = delete $$args{'traits'})
2386 0 0 if $class->does($trait)
2391 0 0 if ref $$traits_ref[$i + 1]
2395 0 0 if (@traits)
2411 0 0 unless $type_constraint
2412 0 0 if $type_constraint->check($value)
2436 0 0 if (exists $$args{$illegal} and exists $$self{$illegal})
2442 0 0 unless (exists $$args{$name})
2448 0 0 if @traits
2452 0 0 if ($attr =~ /\A _mouse_cache_/msx)
2458 0 0 if ($$args{'lazy_build'})
2473 0 0 if ($accessor) { }
2521 2 8 if (exists $$attribute{$type})
2537 0 2 if (exists $$attribute{'handles'})
2540 0 0 if 'Mousse::Object'->can($handle)
2542 0 0 if ($metaclass->has_method($handle))
2566 0 0 if ($handle_type eq 'HASH') { }
0 0 elsif ($handle_type eq 'ARRAY') { }
0 0 elsif ($handle_type eq 'Regexp') { }
0 0 elsif ($handle_type eq 'CODE') { }
2575 0 0 Mousse::Util::is_a_metarole($meta) ? :
2591 0 0 if ($$self{'isa'}) { }
0 0 elsif ($$self{'does'}) { }
2597 0 0 unless defined $meta
2641 0 2 if (ref $self ne 'Mousse::Meta::Class')
2666 3 2 if (@_)
2670 3 0 if $self->verify_superclass($super, $meta)
2682 1 2 if (defined $super_meta) { }
2683 0 1 if (Mousse::Util::is_a_metarole($super_meta))
2693 0 2 unless ($mm and $mm == \&Mousse::Util::meta)
2694 0 0 if ($super->can('new') or $super->can('DESTROY'))
2706 0 0 if ($ENV{'PERL_MOUSE_STRICT'})
2733 0 0 unless ($self_c->isa($other_c))
2764 0 0 unless ($common_ancestor)
2779 0 0 unless defined $method_name
2784 0 0 if defined $method
2804 0 0 unless defined $name
2807 0 0 if $attr->name eq $name
2817 0 2 if (&Scalar::Util::blessed($_[0])) { }
2820 0 0 unless $attr->isa('Mousse::Meta::Attribute')
2829 0 2 @_ == 1 ? :
2831 0 2 unless defined $name
2834 0 2 if ($name =~ s/^\+//) { }
2835 0 0 unless my $inherited_attr = $self->find_attribute_by_name($name)
2842 0 2 if @traits
2858 0 2 if (not $$attr{'associated_methods'} and ($$attr{'is'} || '') ne 'bare')
2870 2 3 unless my $meta = Mousse::Util::get_metaclass_by_name($class)
2902 0 0 if ($args{'inline_constructor'})
2908 0 0 if ($args{'inline_destructor'})
2932 0 0 unless my $original = $into->can($name)
2937 0 0 unless ($modifier_table)
2941 0 0 if (@before)
2944 0 0 unless (@after)
2948 0 0 if (wantarray) { }
0 0 elsif (defined wantarray) { }
2981 0 0 if ($type eq 'before') { }
0 0 elsif ($type eq 'after') { }
3015 0 0 if ($self->has_method($name))
3021 0 0 unless my $super_body = $package->can($name)
3035 0 0 if ($self->has_method($name))
3039 0 0 unless my $super = $self->find_method_by_name($name)
3056 0 0 unless defined $role_name
3059 0 0 if ref $role_name
3062 0 0 unless my $meta = Mousse::Util::get_metaclass_by_name($class)
3067 0 0 if $role->does_role($role_name)
3088 0 0 if @_ % 2 != 0
3096 0 0 if ($class ne 'Mousse::Meta::Method')
3126 0 1 $ENV{'MOUSE_DEBUG'} ? :
3147 0 2 defined $constraint ? :
3157 2 0 if ($type eq 'rw' or $type eq 'wo') { }
0 0 elsif ($type eq 'ro') { }
3158 2 0 if ($type eq 'rw') { }
3170 0 2 if (defined $constraint)
3171 0 0 if ($should_coerce)
3185 2 0 unless $is_weak or $trigger or $should_deref
3189 0 2 if ($is_weak)
3193 0 2 if ($trigger)
3206 0 2 if ($attribute->is_lazy and $type ne 'wo')
3209 0 0 if (defined $builder) { }
0 0 elsif (ref $default eq 'CODE') { }
3219 0 0 if $type eq 'rw'
3221 0 0 if ($should_coerce) { }
0 0 elsif (defined $constraint) { }
3233 0 0 if ($is_weak)
3239 0 2 if ($should_deref)
3240 0 0 if ($constraint->is_a_type_of('ArrayRef')) { }
0 0 elsif ($constraint->is_a_type_of('HashRef')) { }
3260 0 2 if $e
3307 0 1 $ENV{'MOUSE_DEBUG'} ? :
3346 0 0 if $e
3354 0 3 if $_
3362 0 2 if ($strict)
3381 0 3 if (defined $type_constraint)
3389 0 3 if (defined $type_constraint)
3395 3 0 if (defined $init_arg)
3400 0 3 if ($need_coercion)
3407 0 3 if ($attr->has_trigger)
3412 0 3 if ($strict)
3419 0 3 if ($attr->has_default or $attr->has_builder) { }
0 3 elsif ($attr->is_required) { }
3420 0 0 unless ($attr->is_lazy)
3425 0 0 if (defined $builder) { }
0 0 elsif (ref $default eq 'CODE') { }
0 0 elsif (defined $default) { }
3438 0 0 if ($need_coercion)
3451 3 0 if defined $init_arg
3453 0 3 if ($is_weak_ref)
3461 0 2 if ($strict)
3466 0 2 if ($metaclass->is_anon_class)
3470 0 2 if ($has_triggers)
3491 0 2 if $e
3499 0 0 if ($class->can('BUILDARGS') and $class->can('BUILDARGS') != \&Mousse::Object::BUILDARGS)
3519 0 0 unless $metaclass->name->can('BUILD')
3523 0 0 if (Mousse::Util::get_code_ref($class, 'BUILD'))
3539 0 0 if (ref $method_to_call eq 'ARRAY')
3548 0 0 unless (defined $can_be_optimized)
3556 0 0 if ($can_be_optimized) { }
3568 0 0 ref $proxy && !&Scalar::Util::blessed($proxy) ? :
0 0 !defined($proxy) ? :
3571 0 0 if ($error)
3589 0 1 $ENV{'MOUSE_DEBUG'} ? :
3596 0 0 if (Mousse::Util::get_code_ref($class, 'DEMOLISH'))
3603 0 0 if ($demolishall)
3640 0 0 if $e
3665 0 7 unless $package_name and not ref $package_name
3675 0 0 if ref $package_name
3677 0 0 unless $package_name and not ref $package_name
3680 0 0 if (exists $METAS{$package_name})
3689 0 0 unless defined $class_or_instance
3730 0 0 $code && !exists($foreign{Mousse::Util::get_code_package($code)}) ? :
3739 0 0 unless defined $method_name
3748 0 0 unless defined $method_name
3758 0 0 if (my $code = $self->get_method_body($method_name))
3781 0 0 if (my $type = ref $arg) { }
3782 0 0 if ($type eq 'Regexp') { }
0 0 elsif ($type eq 'ARRAY') { }
3814 0 0 if @_ < 2
3817 0 0 if (exists $options{'superclasses'})
3818 0 0 if (Mousse::Util::is_a_metarole($self)) { }
3823 0 0 unless ref $superclasses eq 'ARRAY'
3829 0 0 if (defined $attributes)
3830 0 0 unless ref $attributes eq 'ARRAY' or ref $attributes eq 'HASH'
3834 0 0 if (defined $methods)
3835 0 0 unless ref $methods eq 'HASH'
3839 0 0 if (defined $roles)
3840 0 0 unless ref $roles eq 'ARRAY'
3846 0 0 unless (defined $package_name)
3850 0 0 unless ($mortal)
3852 0 0 unless $superclasses
3853 0 0 unless $roles
3856 0 0 if exists $IMMORTALS{$cache_key}
3866 0 0 if exists $options{'version'}
3867 0 0 if exists $options{'authority'}
3872 0 0 if $mortal
3879 0 0 if defined $superclasses
3887 0 0 if (defined $attributes)
3888 0 0 if (ref $attributes eq 'ARRAY') { }
3901 0 0 if (defined $methods)
3906 0 0 if (defined $roles and not $options{'in_application_to_instance'})
3910 0 0 if ($cache_key)
3920 0 0 if $Mousse::Util::in_global_destruction
3923 0 0 unless $serial_id
3926 0 0 if (exists $INC{'threads.pm'})
3929 0 0 if (caller)[2] == 0
3935 0 0 if exists $$self{'superclasses'}
3970 0 0 if ($class ne 'Mousse::Meta::Role')
4012 0 0 @_ == 1 ? :
4042 0 0 if ($self->has_method($method_name))
4061 0 0 unless defined $role_name
4064 0 0 if ref $role_name
4067 0 0 if $role_name eq $self->name
4070 0 0 if $role->does_role($role_name)
4083 0 0 if (exists $$args{'exclude'} or exists $$args{'alias'})
4088 0 0 if ($$args{'alias'} and not exists $$args{-'alias'})
4091 0 0 if ($$args{'excludes'} and not exists $$args{-'excludes'})
4097 0 0 if (my $alias = $$args{-'alias'})
4101 0 0 if (my $excludes = $$args{-'excludes'})
4103 0 0 if (ref $excludes) { }
4111 0 0 if ($class ne 'Mousse::Meta::Role::Application')
4121 0 0 if (Mousse::Util::is_a_metaclass($consumer)) { }
0 0 elsif (Mousse::Util::is_a_metarole($consumer)) { }
4155 0 0 if (defined $instance)
4167 0 0 if ($$self{'_to'} eq 'role') { }
4175 0 0 if exists $$self{'aliased_methods'}{$method_name}
4176 0 0 if exists $$role{'methods'}{$method_name}
4177 0 0 if $consumer_class_name->can($method_name)
4181 0 0 if (@missing)
4182 0 0 @missing == 1 ? :
4200 0 0 if $method_name eq 'meta'
4204 0 0 unless (exists $$excludes{$method_name})
4205 0 0 unless ($consumer->has_method($method_name))
4211 0 0 if (exists $$alias{$method_name})
4216 0 0 if (defined $dstcode and $dstcode != $code) { }
4232 0 0 if $consumer->has_attribute($attr_name)
4243 0 0 if (my $modifiers = $$role{'override_method_modifiers'})
4251 0 0 unless my $table = $$role{"${modifier_type}_method_modifiers"}
4259 0 0 if $$consumer{"_applied_$modifier_type"}{join $;, $method_name, $code}++
4272 0 0 unless ($metaclass_or_role->does_role($r))
4297 0 0 ref $role_spec eq 'ARRAY' ? :
4312 0 0 if (($$self{'methods'}{$method_name} || 0) == $code)
4317 0 0 if ($method_name eq 'meta') { }
4324 0 0 if (@{$roles;} > 1)
4355 0 0 @_ == 1 ? :
4358 0 0 if ($existing and $existing != $spec)
4370 0 0 if ($existing and $existing != $code)
4393 0 0 if (exists $$role{'conflicting_methods'})
4399 0 0 if (@conflicting)
4400 0 0 @conflicting == 1 ? :
4412 0 0 @conflicting > 1 ? :
4439 0 0 if ($class ne 'Mousse::Meta::Role::Method')
4495 0 0 if @_ % 2
4498 0 0 ref $name ? :
4533 0 0 unless defined $Mousse::SUPER_BODY
4554 0 0 unless @_
4567 0 0 unless my $class = $args{'for_class'}
4579 0 0 unless Mousse::Util::TypeConstraints::find_type_constraint($class)
4600 0 0 &Scalar::Util::blessed($args{'for'}) ? :
4604 0 0 unless ($for)
4608 0 0 if (Mousse::Util::is_a_metarole($for)) { }
4619 0 0 unless keys %{$roles;}
4621 0 0 exists $$roles{$primary} ? :
4644 0 0 if $$args{'class_metaroles'} or $$args{'roles_metaroles'}
4646 0 0 if exists $$args{'for_class'}
4664 0 0 &Scalar::Util::blessed($$args{'for'}) ? :
4669 0 0 if (Mousse::Util::is_a_metaclass($for)) { }
4672 0 0 if exists $$args{'metaclass_roles'}
4678 0 0 if exists $$args{'metaclass_roles'}
4685 0 0 if exists $$args{$old_key}
4706 0 0 if $new_base ne $meta->name
4714 0 0 unless ($superclasses)
4715 0 0 unless $roles
4720 0 0 unless grep {not ref $_ || $meta->does_role($_);} @{$roles;}
4723 0 0 $superclasses ? :