1 package MooseX::Declare::Syntax::Extending;
5 use aliased 'MooseX::Declare::Context::Namespaced';
7 use namespace::clean -except => 'meta';
10 MooseX::Declare::Syntax::OptionHandling
13 around context_traits => sub { shift->(@_), Namespaced };
15 sub add_extends_option_customizations {
16 my ($self, $ctx, $package, $superclasses) = @_;
18 # add code for extends keyword
19 $ctx->add_scope_code_parts(
23 map { $ctx->qualify_namespace($_) }
36 MooseX::Declare::Syntax::Extending - Extending with superclasses
40 Extends a class by a specified C<extends> option.
46 =item * L<MooseX::Declare::Syntax::OptionHandling>
52 =head2 add_extends_option_customizations
54 Object->add_extends_option_customizations (
57 ArrayRef $superclasses,
61 This will add a code part that will call C<extends> with the C<$superclasses>
68 =item * L<MooseX::Declare>
70 =item * L<MooseX::Declare::Syntax::Keyword::Class>
72 =item * L<MooseX::Declare::Syntax::OptionHandling>
76 =head1 AUTHOR, COPYRIGHT & LICENSE
78 See L<MooseX::Declare>