summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/parser_helper.ml
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2003-04-17 11:38:51 +0000
committerPascal Rigaux <pixel@mandriva.com>2003-04-17 11:38:51 +0000
commit599c7e0ed6b95c9f77500d54fc4d06d9991adeef (patch)
treeb336f8fd7355adcad43b612bc2f359ec1d999f11 /perl_checker.src/parser_helper.ml
parentacbffb9049c80b31ac1c59eaadd1e7811a07b785 (diff)
downloadperl_checker-599c7e0ed6b95c9f77500d54fc4d06d9991adeef.tar
perl_checker-599c7e0ed6b95c9f77500d54fc4d06d9991adeef.tar.gz
perl_checker-599c7e0ed6b95c9f77500d54fc4d06d9991adeef.tar.bz2
perl_checker-599c7e0ed6b95c9f77500d54fc4d06d9991adeef.tar.xz
perl_checker-599c7e0ed6b95c9f77500d54fc4d06d9991adeef.zip
basic "number of arguments" checking
Diffstat (limited to 'perl_checker.src/parser_helper.ml')
-rw-r--r--perl_checker.src/parser_helper.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/perl_checker.src/parser_helper.ml b/perl_checker.src/parser_helper.ml
index 0092a9f..db6182c 100644
--- a/perl_checker.src/parser_helper.ml
+++ b/perl_checker.src/parser_helper.ml
@@ -41,11 +41,12 @@ let is_var_number_match = function
let non_scalar_context context = context = I_hash || context = I_array
let is_scalar_context context = context = I_scalar
-let is_not_a_scalar = function
+let rec is_not_a_scalar = function
| Deref_with(_, context, _, _)
| Deref(context, _) -> non_scalar_context context
| List []
| List(_ :: _ :: _) -> true
+ | Call_op("?:", [ _cond ; a; b ], _) -> is_not_a_scalar a || is_not_a_scalar b
| _ -> false
let is_not_a_scalar_or_array = function