summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/parser_helper.ml
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2003-04-01 15:18:29 +0000
committerPascal Rigaux <pixel@mandriva.com>2003-04-01 15:18:29 +0000
commit84f4abd64f2f6d1e5afae404d01a8abf36becc01 (patch)
tree9b154b564dc183cf72506525432816ed0dd0400d /perl_checker.src/parser_helper.ml
parent2ca280165adadc0eef3743c9eec4b7b5430d4271 (diff)
downloadperl_checker-84f4abd64f2f6d1e5afae404d01a8abf36becc01.tar
perl_checker-84f4abd64f2f6d1e5afae404d01a8abf36becc01.tar.gz
perl_checker-84f4abd64f2f6d1e5afae404d01a8abf36becc01.tar.bz2
perl_checker-84f4abd64f2f6d1e5afae404d01a8abf36becc01.tar.xz
perl_checker-84f4abd64f2f6d1e5afae404d01a8abf36becc01.zip
- warn !($var =~ /.../)
- warn $a & 0xff == $b better written $a & (0xff == $b) - "not" should not be used, use "!" instead
Diffstat (limited to 'perl_checker.src/parser_helper.ml')
-rw-r--r--perl_checker.src/parser_helper.ml12
1 files changed, 12 insertions, 0 deletions
diff --git a/perl_checker.src/parser_helper.ml b/perl_checker.src/parser_helper.ml
index 7665eee..1f2a1c3 100644
--- a/perl_checker.src/parser_helper.ml
+++ b/perl_checker.src/parser_helper.ml
@@ -69,6 +69,7 @@ let is_always_false = function
| Num(n, _) -> float_of_string n = 0.
| Raw_string(s, _) -> s = ""
| String(l, _) -> l = []
+ | List [] -> true
| _ -> false
let not_complex e =
@@ -176,6 +177,9 @@ let rec prio_less = function
| _, P_tight_and -> true
| P_tight_and, _ -> false
+ | P_bit, P_bit -> true
+ | P_bit, _ -> false
+
| _, P_expr -> true
| P_expr, _ -> false
@@ -336,6 +340,14 @@ let check_scalar_subscripted (e, _) =
| Deref(I_scalar, Deref _) -> warn_rule "for complex dereferencing, use \"->\""
| _ -> ()
+let check_negatable_expr ((_, e), _) =
+ match un_parenthesize_full e with
+ | Call_op("m//", var :: _, _) when not (is_var_dollar_ var) ->
+ warn_rule "!($var =~ /.../) is better written $var !~ /.../"
+ | Call_op("!m//", var :: _, _) when not (is_var_dollar_ var) ->
+ warn_rule "!($var !~ /.../) is better written $var =~ /.../"
+ | _ -> ()
+
let check_ternary_paras(cond, a, b) =
let rec dont_need_short_circuit_rec = function
| Num _