Provided by: libmason-perl_2.24-2_all bug

NAME

       Mason::Compilation - Performs compilation of a single component

DESCRIPTION

       A new "Mason::Compilation" object is created by Mason::Interp to compile each component.

       This class has no public API at this time.

MODIFIABLE METHODS

       These methods are not intended to be called externally, but may be useful to modify with method modifiers
       in plugins and subclasses. Their APIs will be kept as stable as possible.

       bad_attribute_names ()
           A  list  of attribute names that should not be used because they are reserved for built-in attributes
           or methods: "args", "m", "cmeta", "render", "main", etc.

       bad_method_names ()
           A list of method names that should not be used because they are  reserved  for  built-in  attributes:
           "args",  "m",  "cmeta",  etc.  Not  as  extensive  as  bad_attribute_names above because methods like
           "render" and "main" can be overridden but make no sense as attributes.

       compile ()
           The top-level method called to compile the component. Returns the generated component class.

       named_block_types ()
           An arrayref of valid named block types: "after", "filter", "method", etc.  Add to this  list  if  you
           want to create your own named blocks (i.e. blocks that take a name argument).

       output_class_footer ()
           Perl code to be added at the bottom of the class. Empty by default.

       output_class_header ()
           Perl  code  to  be  added  at  the top of the class, just after initialization of Moose, $m and other
           required pieces. By default it consults the class_header parameter.

               # Add to the top of every component class:
               #   use Modern::Perl;
               #   use JSON::XS qw(encode_json decode_json);
               #
               override 'output_class_header' => sub {
                   return join( "\n",
                       super(),
                       'use Modern::Perl;',
                       'use JSON::XS qw(encode_json decode_json);' );
               };

       process_perl_code ($coderef)
           This method is called on each distinct piece of Perl code in the component.  $coderef is a  reference
           to   a   string   containing   the   code;   the   method   can  modify  the  code  as  desired.  See
           Mason::Plugin::DollarDot for a sample usage.

       unnamed_block_types ()
           An arrayref of valid unnamed block types: "args", "class", "init", etc. Add to this list if you  want
           to create your own unnamed blocks.

       valid_flags ()
           An  arrayref of valid flags: contains only "extends" at time of writing. Add to this list if you want
           to create your own flags.

SEE ALSO

       Mason

AUTHOR

       Jonathan Swartz <swartz@pobox.com>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2012 by Jonathan Swartz.

       This is free software; you can redistribute it and/or modify it under  the  same  terms  as  the  Perl  5
       programming language system itself.

perl v5.34.0                                       2022-05-27                            Mason::Compilation(3pm)