Provided by: libtext-micromason-perl_2.22-1_all bug

NAME

       Text::MicroMason::LineNumbers - Report errors at correct source code line numbers

DESCRIPTION

       This mixin class associates each token in a template with the line number on which it was
       found, and then inserts special comments in the generated Perl code that preserve that
       original source file and line number information.

       This should facilitate debugging, by making it easier to match up run- time errors with
       the template code that produced them.

       To turn this behavior on, just add "-LineNumbers" to your MicroMason creation call:

         my $mason = Text::MicroMason->new( qw( -LineNumbers ) );

   Public Methods
       These methods are called from within the normal flow of MicroMason functionality, and you
       do not need to invoke them directly.

       read()
           Clears the variables used to store the file name and first line of a template, so that
           they can be set by the methods below.

       read_file()
           Saves the source file name before invoking the standard behavior for this method.

             $mason->compile( file => $filename );

       read_handle()
           Saves the caller's file name before invoking the standard behavior for this method.

             $mason->compile( handle => $filename );

       read_text()
           Saves the caller's file name before invoking the standard behavior for this method.

             $mason->compile( text => $filename );

       read_inline()
           This is similar to read_text, except it adjusts the line numbering to reflect a
           template that's embdded as a literal text in the Perl code.

             $mason->compile( inline => q{
                     My template text goes here.
             } );

       lex()
           Identical to the lex() method provided by the Base class, except that it also inserts
           a stream of line-number-setting comments into the to-be- compiled Perl code that
           attempt to re-synchronize the

       assembler_rules()
           Maps the "line_num" token to a perl line number comment.

   Private Methods
       _get_external_caller()
           Returns the source file and line number of the first item in the function call stack
           that is not a Text::MicroMason package.

SEE ALSO

       For an overview of this templating framework, see Text::MicroMason.

       This is a mixin class intended for use with Text::MicroMason::Base.

       For distribution, installation, support, copyright and license information, see
       Text::MicroMason::Docs::ReadMe.