summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/global_checks.ml
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2003-04-30 09:30:59 +0000
committerPascal Rigaux <pixel@mandriva.com>2003-04-30 09:30:59 +0000
commit3d726d18053a2ea9cf435d661fc6fd0a36daab99 (patch)
tree64406beefbf9d941a955d72f33dcb1f5d8ef15cf /perl_checker.src/global_checks.ml
parent16d1e7e21e4169abd573a3b6e53afb4a203a81f2 (diff)
downloadperl_checker-3d726d18053a2ea9cf435d661fc6fd0a36daab99.tar
perl_checker-3d726d18053a2ea9cf435d661fc6fd0a36daab99.tar.gz
perl_checker-3d726d18053a2ea9cf435d661fc6fd0a36daab99.tar.bz2
perl_checker-3d726d18053a2ea9cf435d661fc6fd0a36daab99.tar.xz
perl_checker-3d726d18053a2ea9cf435d661fc6fd0a36daab99.zip
allow "*foo = sub {}" with no prototype
Diffstat (limited to 'perl_checker.src/global_checks.ml')
-rw-r--r--perl_checker.src/global_checks.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/perl_checker.src/global_checks.ml b/perl_checker.src/global_checks.ml
index f51811a..9bb83b5 100644
--- a/perl_checker.src/global_checks.ml
+++ b/perl_checker.src/global_checks.ml
@@ -306,7 +306,7 @@ let check_variables vars t =
check_unused_local_variables vars' ;
Some vars
- | Sub_declaration(Ident(fq, name, pos) as ident, perl_proto, Block body) ->
+ | Sub_declaration(Ident(fq, name, pos) as ident, perl_proto, Block body, kind) ->
let vars = declare_Our vars ([ I_func, string_of_Ident ident ], pos) in
let my_vars, l =
@@ -315,7 +315,8 @@ let check_variables vars t =
[], My_our ("my", mys, mys_pos) :: body
| _ ->
let dont_check_use =
- fq = None && List.mem name ["BEGIN"; "END"; "DESTROY"] ||
+ kind = Glob_assign ||
+ fq = None && List.mem name ["DESTROY"] ||
Hashtbl.mem vars.state.packages_being_classes (some_or fq vars.current_package.package_name)
in
[(I_array, "_"), (pos, ref dont_check_use, None)], body