Provided by: libhtml-mason-perl_1.52-1_all bug

NAME

       HTML::Mason::Compiler::ToObject - A Compiler subclass that generates Mason object code

VERSION

       version 1.52

SYNOPSIS

         my $compiler = HTML::Mason::Compiler::ToObject->new;

         my $object_code =
             $compiler->compile( comp_source => $source,
                                 name        => $comp_name,
                                 comp_path   => $comp_path,
                               );

DESCRIPTION

       This Compiler subclass generates Mason object code (Perl code).  It is the default
       Compiler class used by Mason.

PARAMETERS TO THE new() CONSTRUCTOR

       All of these parameters are optional.

       comp_class
           The class into which component objects are blessed.  This defaults to
           HTML::Mason::Component.

       subcomp_class
           The class into which subcomponent objects are blessed.  This defaults to
           HTML::Mason::Component::Subcomponent.

       in_package
           This is the package in which a component's code is executed.  For historical reasons,
           this defaults to "HTML::Mason::Commands".

       preamble
           Text given for this parameter is placed at the beginning of each component, but after
           the execution of any "<%once>" block. See also postamble. The request will be
           available as $m in preamble code.

       postamble
           Text given for this parameter is placed at the end of each component. See also
           preamble.  The request will be available as $m in postamble code.

       use_strict
           True or false, default is true. Indicates whether or not a given component should "use
           strict".

       use_warnings
           True or false, default is false. Indicates whether or not a given component should
           "use warnings".

       named_component_subs
           When compiling a component, use uniquely named subroutines for the a component's body,
           subcomponents, and methods. Doing this allows you to effectively profile Mason
           components. Without this, all components simply show up as __ANON__ or something
           similar in the profiler.

       define_args_hash
           One of "always", "auto", or "never".  This determines whether or not an %ARGS hash is
           created in components.  If it is set to "always", one is always defined.  If set to
           "never", it is never defined.

           The default, "auto", will cause the hash to be defined only if some part of the
           component contains the string "ARGS".  This is somewhat crude, and may result in some
           false positives, but this is preferable to false negatives.

           Not defining the args hash means that we can avoid copying component arguments, which
           can save memory and slightly improve execution speed.

ACCESSOR METHODS

       All of the above properties have read-only accessor methods of the same name. You cannot
       change any property of a compiler after it has been created (but you can create multiple
       compilers with different properties).

METHODS

       This class is primarily meant to be used by the Interpreter object, and as such has a very
       limited public API.

       compile(...)
           This method will take component source and return the compiled object code for that
           source. See "compile(...)" in HTML::Mason::Compiler for details on this method.

           This subclass also accepts a "comp_class" parameter, allowing you to override the
           class into which the component is compiled.

SEE ALSO

       Mason

AUTHORS

       •   Jonathan Swartz <swartz@pobox.com>

       •   Dave Rolsky <autarch@urth.org>

       •   Ken Williams <ken@mathforum.org>

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.