]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: ocaml: generate string_of_* functions for enums
authorRob Hoes <rob.hoes@citrix.com>
Wed, 6 Nov 2013 17:49:48 +0000 (17:49 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 11 Nov 2013 15:38:45 +0000 (15:38 +0000)
Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Acked-by: David Scott <dave.scott@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>

tools/ocaml/libs/xl/genwrap.py

index bdae88670f035796745f8862d03832b37a20932c..0f73e26eae1c666d466933a9d7056a598d50677b 100644 (file)
@@ -162,6 +162,14 @@ def gen_ocaml_ml(ty, interface, indent=""):
         s += "type %s = \n" % ty.rawname
         for v in ty.values:
             s += "\t | %s\n" % v.rawname
+
+        if interface:
+            s += "\nval string_of_%s : %s -> string\n" % (ty.rawname, ty.rawname)
+        else:
+            s += "\nlet string_of_%s = function\n" % ty.rawname
+            for v in ty.values:
+                s += '\t| %s -> "%s"\n' % (v.rawname, v.valuename)
+
     elif isinstance(ty, idl.Aggregate):
         s += ""