NAME
    Perl::Critic::Policy::Dynamic::NoIndirect - Perl::Critic policy against
    indirect method calls.

VERSION
    Version 0.06

DESCRIPTION
    This Perl::Critic dynamic policy reports any use of indirect object
    syntax with a 'stern' severity. It's listed under the 'dynamic' and
    'maintenance' themes.

    Since it wraps around indirect, it needs to compile the audited code and
    as such is implemented as a subclass of Perl::Critic::DynamicPolicy.

CAVEATS
    The uses of the indirect pragma inside the audited code take precedence
    over this policy. Hence no violations will be reported for indirect
    method calls that are located inside the lexical scope of "use indirect"
    or "no indirect hook => ...". Occurrences of "no indirect" won't be a
    problem.

    Since the reports generated by indirect are remapped to the
    corresponding PPI::Element objects, the order in which the violations
    are returned is different from the order given by indirect : the former
    is the document order (top to bottom, left to right) while the latter is
    the optree order (arguments before function calls).

DEPENDENCIES
    perl 5.8, Carp.

    Perl::Critic, Perl::Critic::Dynamic.

    indirect 0.20.

SEE ALSO
    Perl::Critic::Policy::Objects::ProhibitIndirectSyntax is a Perl::Critic
    policy that statically checks for indirect constructs. But to be static
    it has to be very restricted : you have to manually specify which
    subroutine names are methods for which the indirect form should be
    forbidden. This can lead to false positives (a subroutine with the name
    you gave is defined in the current scope) and negatives (indirect
    constructs for methods you didn't specify). But you don't need to
    actually compile (or run, as it's more or less the same thing) the code.

AUTHOR
    Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.

    You can contact me by mail or on "irc.perl.org" (vincent).

BUGS
    Please report any bugs or feature requests to
    "bug-perl-critic-policy-dynamic-noindirect at rt.cpan.org", or through
    the web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Critic-Policy-Dynam
    ic-NoIndirect>. I will be notified, and then you'll automatically be
    notified of progress on your bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc Perl::Critic::Policy::Dynamic::NoIndirect

COPYRIGHT & LICENSE
    Copyright 2009,2010,2011 Vincent Pit, all rights reserved.

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

