This is an automated email from the git hooks/post-receive script.

glondu pushed a commit to branch master
in repository atdgen.

commit 5ff4559ca16048b19caf3d446844025c72cb3e97
Author: Stephane Glondu <st...@glondu.net>
Date:   Thu Jan 28 09:51:46 2016 +0100

    Imported Upstream version 1.4.1
---
 Makefile      |  2 +-
 ag_ob_emit.ml |  3 ++-
 ag_oj_emit.ml |  3 ++-
 ag_ov_emit.ml | 37 +++++++++++++++++++------------------
 ag_ox_emit.ml |  5 +++++
 test.atd      |  3 +++
 6 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/Makefile b/Makefile
index 36be845..1555641 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-VERSION = 1.4.0
+VERSION = 1.4.1
 ifeq "$(shell ocamlc -config |grep os_type)" "os_type: Win32"
 EXE=.exe
 else
diff --git a/ag_ob_emit.ml b/ag_ob_emit.ml
index 59eb60b..86f8339 100644
--- a/ag_ob_emit.ml
+++ b/ag_ob_emit.ml
@@ -122,7 +122,7 @@ val %s_of_string :%s
           full_name
           s;
 
-        if with_create then
+        if with_create && Ag_ox_emit.is_exportable x then
           let create_record_intf, create_record_impl =
             Ag_ox_emit.make_record_creator deref x
           in
@@ -1419,6 +1419,7 @@ let make_ocaml_biniou_impl ~with_create ~original_types 
buf deref defs =
   if with_create then
     List.iter (
       fun (is_rec, l) ->
+        let l = List.filter Ag_ox_emit.is_exportable l in
         List.iter (
           fun x ->
             let intf, impl = Ag_ox_emit.make_record_creator deref x in
diff --git a/ag_oj_emit.ml b/ag_oj_emit.ml
index 257283f..c967190 100644
--- a/ag_oj_emit.ml
+++ b/ag_oj_emit.ml
@@ -98,7 +98,7 @@ val %s_of_string :%s
           full_name
           s;
 
-        if with_create then
+        if with_create && Ag_ox_emit.is_exportable x then
           let create_record_intf, create_record_impl =
             Ag_ox_emit.make_record_creator deref x
           in
@@ -1275,6 +1275,7 @@ let make_ocaml_json_impl
   if with_create then
     List.iter (
       fun (is_rec, l) ->
+        let l = List.filter Ag_ox_emit.is_exportable l in
         List.iter (
           fun x ->
             let intf, impl = Ag_ox_emit.make_record_creator deref x in
diff --git a/ag_ov_emit.ml b/ag_ov_emit.ml
index 2ceabdc..d884130 100644
--- a/ag_ov_emit.ml
+++ b/ag_ov_emit.ml
@@ -14,25 +14,25 @@ let name_of_var s = "_" ^ s
 let make_ocaml_validate_intf ~with_create buf deref defs =
   List.iter (
     fun x ->
-      let s = x.def_name in
-      if s <> "" && s.[0] <> '_' && x.def_value <> None then (
-        if with_create then (
-          let create_record_intf, create_record_impl =
-            Ag_ox_emit.make_record_creator deref x
-          in
-          bprintf buf "%s" create_record_intf;
-        );
-
-        let full_name = Ag_ox_emit.get_full_type_name x in
-        let validator_params =
-          String.concat "" (
-            List.map
-              (fun s ->
-                sprintf "\n  (Ag_util.Validation.path -> '%s -> \
-                             Ag_util.Validation.error option) ->" s)
-              x.def_param
-          )
+      if with_create && Ag_ox_emit.is_exportable x then (
+        let create_record_intf, create_record_impl =
+          Ag_ox_emit.make_record_creator deref x
         in
+        bprintf buf "%s" create_record_intf;
+      );
+
+      let full_name = Ag_ox_emit.get_full_type_name x in
+      let validator_params =
+        String.concat "" (
+          List.map
+            (fun s ->
+               sprintf "\n  (Ag_util.Validation.path -> '%s -> \
+                        Ag_util.Validation.error option) ->" s)
+            x.def_param
+        )
+      in
+      let s = x.def_name in
+      if Ag_ox_emit.is_exportable x then (
         bprintf buf "\
 val validate_%s :%s
   Ag_util.Validation.path -> %s -> Ag_util.Validation.error option
@@ -413,6 +413,7 @@ let make_ocaml_validate_impl ~with_create ~original_types 
buf deref defs =
   if with_create then
     List.iter (
       fun (is_rec, l) ->
+        let l = List.filter Ag_ox_emit.is_exportable l in
         List.iter (
           fun x ->
             let intf, impl = Ag_ox_emit.make_record_creator deref x in
diff --git a/ag_ox_emit.ml b/ag_ox_emit.ml
index e80185f..90c8efe 100644
--- a/ag_ox_emit.ml
+++ b/ag_ox_emit.ml
@@ -242,6 +242,11 @@ end
         write_file (prefix ^ ".mli") mli;
         write_file (prefix ^ ".ml") ml
 
+let is_exportable def =
+  let s = def.def_name in
+  s <> "" && s.[0] <> '_'
+  && def.def_value <> None
+
 let make_record_creator deref x =
   match x.def_value with
       Some (`Record (loc, a, `Record `Record, _)) ->
diff --git a/test.atd b/test.atd
index a5e2004..7e3f5d1 100644
--- a/test.atd
+++ b/test.atd
@@ -196,3 +196,6 @@ type precision = {
   small_2 : float <json precision="2">;
   large_2 : float <json precision="2">;
 }
+
+type 'a generic = { x294623: int; }
+type specialized = string generic

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-ocaml-maint/packages/atdgen.git

_______________________________________________
Pkg-ocaml-maint-commits mailing list
Pkg-ocaml-maint-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to