diff options
author | Alain Frisch <alain@frisch.fr> | 2010-05-21 15:45:52 +0000 |
---|---|---|
committer | Alain Frisch <alain@frisch.fr> | 2010-05-21 15:45:52 +0000 |
commit | 8ae65cc68ccc23d862742dce3f0bd894c666acf5 (patch) | |
tree | 6fe177cd04923bcb3fd9df8323a3da993e2288e9 /parsing | |
parent | baceb82d5cd0a738ebbdddd11df71dea9a3a900b (diff) | |
download | ocaml-located_errors.tar.gz |
Keep location on value declarations.located_errors
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'parsing')
-rw-r--r-- | parsing/parser.mly | 8 | ||||
-rw-r--r-- | parsing/parsetree.mli | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/parsing/parser.mly b/parsing/parser.mly index 87a5659611..d3eb5f5b73 100644 --- a/parsing/parser.mly +++ b/parsing/parser.mly @@ -40,6 +40,8 @@ let mkclass d = { pcl_desc = d; pcl_loc = symbol_rloc() } let mkcty d = { pcty_desc = d; pcty_loc = symbol_rloc() } +let mkval ty p = + {pval_type = ty; pval_prim = p; pval_loc = symbol_rloc()} let reloc_pat x = { x with ppat_loc = symbol_rloc () };; let reloc_exp x = { x with pexp_loc = symbol_rloc () };; @@ -470,7 +472,7 @@ structure_item: [{ppat_desc = Ppat_any}, exp] -> mkstr(Pstr_eval exp) | _ -> mkstr(Pstr_value($2, List.rev $3)) } | EXTERNAL val_ident COLON core_type EQUAL primitive_declaration - { mkstr(Pstr_primitive($2, {pval_type = $4; pval_prim = $6})) } + { mkstr(Pstr_primitive($2, mkval $4 $6)) } | TYPE type_declarations { mkstr(Pstr_type(List.rev $2)) } | EXCEPTION UIDENT constructor_arguments @@ -536,9 +538,9 @@ signature: ; signature_item: VAL val_ident COLON core_type - { mksig(Psig_value($2, {pval_type = $4; pval_prim = []})) } + { mksig(Psig_value($2, mkval $4 [])) } | EXTERNAL val_ident COLON core_type EQUAL primitive_declaration - { mksig(Psig_value($2, {pval_type = $4; pval_prim = $6})) } + { mksig(Psig_value($2, mkval $4 $6)) } | TYPE type_declarations { mksig(Psig_type(List.rev $2)) } | EXCEPTION UIDENT constructor_arguments diff --git a/parsing/parsetree.mli b/parsing/parsetree.mli index 05f92bd037..a458b66a65 100644 --- a/parsing/parsetree.mli +++ b/parsing/parsetree.mli @@ -123,7 +123,9 @@ and expression_desc = and value_description = { pval_type: core_type; - pval_prim: string list } + pval_prim: string list; + pval_loc: Location.t; + } (* Type declarations *) |