diff options
author | Jacques Le Normand <rathereasy@gmail.com> | 2010-10-21 08:17:17 +0000 |
---|---|---|
committer | Jacques Le Normand <rathereasy@gmail.com> | 2010-10-21 08:17:17 +0000 |
commit | 87898cb3e919422090d811376f913ff1df0e650a (patch) | |
tree | d4eca2eb61d5772f5db8564d449575e31a8e5713 /camlp4/Camlp4 | |
parent | 10f670297c0112f319b2c33fd4de32748a3de639 (diff) |
internally, we can now refer to constructors with the help of their type, thus avoiding shadowing
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'camlp4/Camlp4')
-rw-r--r-- | camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml b/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml index ee587d1bd..89ce6b558 100644 --- a/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml +++ b/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml @@ -456,7 +456,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct [ <:patt@loc< $lid:s$ >> -> mkpat loc (Ppat_var s) | <:patt@loc< $id:i$ >> -> let p = Ppat_construct (long_uident ~conv_con i) - None (constructors_arity ()) + None (constructors_arity ()) None in mkpat loc p | PaAli loc p1 p2 -> let (p, i) = @@ -470,21 +470,21 @@ module Make (Ast : Sig.Camlp4Ast) = struct | PaAny loc -> mkpat loc Ppat_any | <:patt@loc< $uid:s$ ($tup:<:patt@loc_any< _ >>$) >> -> mkpat loc (Ppat_construct (lident (conv_con s)) - (Some (mkpat loc_any Ppat_any)) False) + (Some (mkpat loc_any Ppat_any)) False None) | PaApp loc _ _ as f -> let (f, al) = patt_fa [] f in let al = List.map patt al in match (patt f).ppat_desc with - [ Ppat_construct li None _ -> + [ Ppat_construct li None _ _ -> if constructors_arity () then - mkpat loc (Ppat_construct li (Some (mkpat loc (Ppat_tuple al))) True) + mkpat loc (Ppat_construct li (Some (mkpat loc (Ppat_tuple al))) True None) else let a = match al with [ [a] -> a | _ -> mkpat loc (Ppat_tuple al) ] in - mkpat loc (Ppat_construct li (Some a) False) + mkpat loc (Ppat_construct li (Some a) False None) | Ppat_variant s None -> let a = if constructors_arity () then |