|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] ocaml, libxl: support "private" fields
# HG changeset patch
# User Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
# Date 1327683681 0
# Node ID db9cac5b24897a5a936a516660457ace6043fc22
# Parent b3387ae40371d8d075218502b456c250d0cb60b1
ocaml, libxl: support "private" fields
The changeset
24378:b4365e2c2595 libxl: idl: support new "private" type attribute
is not complete. Actually using this feature does not work because
the ocaml idl generator does not know about it.
So add that support.
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Committed-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
diff -r b3387ae40371 -r db9cac5b2489 tools/ocaml/libs/xl/genwrap.py
--- a/tools/ocaml/libs/xl/genwrap.py Fri Jan 27 17:01:20 2012 +0000
+++ b/tools/ocaml/libs/xl/genwrap.py Fri Jan 27 17:01:21 2012 +0000
@@ -93,6 +93,8 @@
s += "\t{\n"
for f in ty.fields:
+ if f.type.private:
+ continue
x = ocaml_instance_of(f.type, f.name)
x = x.replace("\n", "\n\t\t")
s += "\t\t" + x + ";\n"
@@ -148,6 +150,8 @@
elif isinstance(ty, libxltypes.Aggregate) and (parent is None):
n = 0
for f in ty.fields:
+ if f.type.private:
+ continue
s += "%s\n" % c_val(f.type, "%s->%s" % (c, f.name), "Field(%s,
%d)" % (o,n), parent="%s->" % (c))
n = n + 1
else:
@@ -212,6 +216,8 @@
n = 0
for f in ty.fields:
+ if f.type.private:
+ continue
s += "\n"
s += "\t%s\n" % ocaml_Val(f.type, "%s_field" % ty.rawname,
"%s->%s" % (c,f.name), parent="%s->" % c)
s += "\tStore_field(%s, %d, %s);\n" % (o, n, "%s_field" %
ty.rawname)
@@ -290,6 +296,8 @@
cinc.write(autogen_header("/*", "*/"))
for ty in types:
+ if ty.private:
+ continue
#sys.stdout.write(" TYPE %-20s " % ty.rawname)
ml.write(gen_ocaml_ml(ty, False))
ml.write("\n")
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |