indirect - Lexically warn about using the indirect method call syntax.
VERSION
- Version 0.26
+ Version 0.33
SYNOPSIS
In a script :
This module is not a source filter.
METHODS
- "unimport [ 'global', hook => $hook | 'fatal' ]"
+ "unimport"
+ no indirect;
+ no indirect 'fatal';
+ no indirect hook => sub { my ($obj, $name, $file, $line) = @_; ... };
+ no indirect 'global';
+ no indirect 'global, 'fatal';
+ no indirect 'global', hook => sub { ... };
+
Magically called when "no indirect @opts" is encountered. Turns the
module on. The policy to apply depends on what is first found in @opts :
}
"import"
+ use indirect;
+
Magically called at each "use indirect". Turns the module off.
As explained in "unimport"'s description, an "use indirect" statement
indirect 'global', ..." (if there's one).
FUNCTIONS
- "msg $object, $method, $file, $line"
+ "msg"
+ my $msg = msg($object, $method, $file, $line);
+
Returns the default error message that "indirect" generates when an
indirect method call is reported.
is due to a shortcoming in the way perl handles the hints hash, which is
addressed in perl 5.10.
+ Indirect constructs that appear in code "eval"'d during the global
+ destruction phase of a spawned thread or pseudo-fork (the processes used
+ internally for the "fork" emulation on Windows) are not reported.
+
The search for indirect method calls happens before constant folding.
Hence "my $x = new Class if 0" will be caught.
A C compiler. This module may happen to build with a C++ compiler as
well, but don't rely on it, as no guarantee is made in this regard.
- Carp (standard since perl 5), XSLoader (since perl 5.006).
+ Carp (standard since perl 5), XSLoader (since perl 5.6.0).
AUTHOR
Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
reporting issues.
COPYRIGHT & LICENSE
- Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved.
+ Copyright 2008,2009,2010,2011,2012,2013,2014 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.