From 84f4abd64f2f6d1e5afae404d01a8abf36becc01 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 1 Apr 2003 15:18:29 +0000 Subject: - warn !($var =~ /.../) - warn $a & 0xff == $b better written $a & (0xff == $b) - "not" should not be used, use "!" instead --- perl_checker.src/parser_helper.ml | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'perl_checker.src/parser_helper.ml') 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 _ -- cgit v1.2.1