summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/perl_checker.ml
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2002-11-26 14:14:53 +0000
committerPascal Rigaux <pixel@mandriva.com>2002-11-26 14:14:53 +0000
commit1537738cd9023b08d8730a56eb7bc1e1cab0dc90 (patch)
tree9413bf04a7937f557cd9691d3cfa0031d3adda5a /perl_checker.src/perl_checker.ml
parent431db26a9d138a21e17caf3affe5d2131387b69f (diff)
downloadperl-MDK-Common-1537738cd9023b08d8730a56eb7bc1e1cab0dc90.tar
perl-MDK-Common-1537738cd9023b08d8730a56eb7bc1e1cab0dc90.tar.gz
perl-MDK-Common-1537738cd9023b08d8730a56eb7bc1e1cab0dc90.tar.bz2
perl-MDK-Common-1537738cd9023b08d8730a56eb7bc1e1cab0dc90.tar.xz
perl-MDK-Common-1537738cd9023b08d8730a56eb7bc1e1cab0dc90.zip
*** empty log message ***
Diffstat (limited to 'perl_checker.src/perl_checker.ml')
-rw-r--r--perl_checker.src/perl_checker.ml8
1 files changed, 4 insertions, 4 deletions
diff --git a/perl_checker.src/perl_checker.ml b/perl_checker.src/perl_checker.ml
index 9da3726..0247919 100644
--- a/perl_checker.src/perl_checker.ml
+++ b/perl_checker.src/perl_checker.ml
@@ -32,10 +32,10 @@ let rec parse_file state file =
Info.start_a_new_file file ;
let tokens = Lexer.get_token Lexer.token lexbuf in
let t = Parser_helper.parse_tokens Parser.prog tokens (Some lexbuf) in
- let package = get_global_info_from_package t in
- Tree.get_global_vars_declaration state package ;
+ let required_packages, package = get_global_info_from_package t in
+ Tree.get_vars_declaration state package ;
let state = { state with per_package = (package.package_name, package) :: state.per_package } in
- let state = List.fold_left parse_package_if_needed state package.uses in
+ let state = List.fold_left parse_package_if_needed state (required_packages @ List.map (fun (s, (_, pos)) -> s, pos) package.uses) in
state
with Failure s -> (
prerr_endline s ;
@@ -43,7 +43,7 @@ let rec parse_file state file =
)
with _ -> failwith ("bad file " ^ file)
-and parse_package_if_needed state (package_name, (_, pos)) =
+and parse_package_if_needed state (package_name, pos) =
if List.mem_assoc package_name state.per_package then state else
try
let package = snd (List.hd state.per_package) in