NAME
    warnings::method - Produces warnings if methods are called as functions

VERSION
    This document describes method version 0.02

SYNOPSIS
        use warnings::method; # or use warnings::method 'FATAL';

        package Foo;
        sub bar :method{
            # ...
        }

        Foo::bar(); # WARN: 'Method Foo::bar() called as a function'
        Foo->bar(); # OK

DESCRIPTION
    This pragmatic module produces warnings if methods are called as
    functions. Here, *methods* are subroutines declared with the :method
    attribute.

    This module scans compiled opcode tree, checks subroutine calls and
    warns when dangerous function calls are detected. All the processes
    finish in compile time, so this module has no effect on run-time
    performance.

INTERFACE
  "use/no warnings::method;"
    Enable/Disable the "method" warnings. These are equivalent to "use/no
    warnings 'method'" if "warnings::method" is already loaded.

DEPENDENCIES
    Perl 5.8.1 or later, and a C compiler.

BUGS AND LIMITATIONS
    No bugs have been reported.

    Please report any bugs or feature requests to
    "bug-warnings-method@rt.cpan.org/", or through the web interface at
    <http://rt.cpan.org/>.

SEE ALSO
    The following has the same concept to forbid people to call methods as
    functions.

    UNIVERSAL::isa - Attempt to recover from people calling UNIVERSAL::isa
    as a function

    UNIVERSAL::can - Hack around people calling UNIVERSAL::can() as a
    function

AUTHOR
    Goro Fuji <gfuji(at)cpan.org>

LICENSE AND COPYRIGHT
    Copyright (c) 2008, Goro Fuji <gfuji(at)cpan.org>. Some rights reserved.

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

