diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2003-12-15 14:35:14 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2003-12-15 14:35:14 +0000 |
commit | 0dbfb00bcca5d560c93df23c85c5212dfc004da4 (patch) | |
tree | 6ba9c380a784724287555eae858d83f997eea4b4 /perl_checker.src/global_checks.ml | |
parent | 3e80844f82df533b22e50ff4e215ab06ae5cc78a (diff) | |
download | perl_checker-0dbfb00bcca5d560c93df23c85c5212dfc004da4.tar perl_checker-0dbfb00bcca5d560c93df23c85c5212dfc004da4.tar.gz perl_checker-0dbfb00bcca5d560c93df23c85c5212dfc004da4.tar.bz2 perl_checker-0dbfb00bcca5d560c93df23c85c5212dfc004da4.tar.xz perl_checker-0dbfb00bcca5d560c93df23c85c5212dfc004da4.zip |
- correctly handle "shift" with no parameter at toplevel
- remove (hopefully) unused code rewriting shift -> shift(@_)
Diffstat (limited to 'perl_checker.src/global_checks.ml')
-rw-r--r-- | perl_checker.src/global_checks.ml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/perl_checker.src/global_checks.ml b/perl_checker.src/global_checks.ml index 6e7b46c..0c45783 100644 --- a/perl_checker.src/global_checks.ml +++ b/perl_checker.src/global_checks.ml @@ -281,6 +281,9 @@ let check_variables vars t = | Call(Deref(I_func, Ident(None, "require", _)), [Ident _]) -> Some vars + | Call(Deref(I_func, Ident(None, "shift", pos)) as var, []) -> + check vars (Call(var, [ Deref(I_array, Ident(None, (if vars.is_toplevel then "ARGV" else "_"), pos)) ])) + | Call(Deref(context, (Ident(_, _, pos) as var)), para) -> check_variable (context, var) vars (Some(pos, para)) ; let vars = List.fold_left check_variables_ vars para in |