summaryrefslogtreecommitdiff
path: root/qpid/java/common/genutil.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-05-15 17:52:22 +0000
committerRafael H. Schloming <rhs@apache.org>2008-05-15 17:52:22 +0000
commitacd902b4b5aa605cf3aae20280c63db54510abbd (patch)
tree9d03a1eb47d0f9cbfe2f4b36232e3f8feb7ab413 /qpid/java/common/genutil.py
parent6695301f20644333b0fdacee073ec88ad4e5c88a (diff)
downloadqpid-python-acd902b4b5aa605cf3aae20280c63db54510abbd.tar.gz
QPID-1062: phase 1 of improvements to 0-10 encode/decode; this inlines the read/write method of structs into generated code resulting in roughly a 2x improvement
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@656760 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common/genutil.py')
-rw-r--r--qpid/java/common/genutil.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/qpid/java/common/genutil.py b/qpid/java/common/genutil.py
index 5206b50bbd..4aba529182 100644
--- a/qpid/java/common/genutil.py
+++ b/qpid/java/common/genutil.py
@@ -147,20 +147,21 @@ class Field:
def __init__(self, index, nd):
self.index = index
self.name = camel(1, nd["@name"])
- type_node = resolve_type(nd)
- tname = cname(type_node)
- if type_node.name == "struct":
+ self.type_node = resolve_type(nd)
+ tname = cname(self.type_node)
+ if self.type_node.name == "struct":
self.read = "(%s) dec.readStruct(%s.TYPE)" % (tname, tname)
self.write = "enc.writeStruct(%s.TYPE, check(struct).%s)" % (tname, self.name)
- elif type_node.name == "domain":
- coder = camel(0, resolve_type(type_node)["@name"])
- self.read = "%s.get(dec.read%s())" % (tname, coder)
- self.write = "enc.write%s(check(struct).%s.getValue())" % (coder, self.name)
+ self.coder = "Struct"
+ elif self.type_node.name == "domain":
+ self.coder = camel(0, resolve_type(self.type_node)["@name"])
+ self.read = "%s.get(dec.read%s())" % (tname, self.coder)
+ self.write = "enc.write%s(check(struct).%s.getValue())" % (self.coder, self.name)
else:
- coder = camel(0, type_node["@name"])
- self.read = "dec.read%s()" % coder
- self.write = "enc.write%s(check(struct).%s)" % (coder, self.name)
- self.type = jtype(type_node)
+ self.coder = camel(0, self.type_node["@name"])
+ self.read = "dec.read%s()" % self.coder
+ self.write = "enc.write%s(check(struct).%s)" % (self.coder, self.name)
+ self.type = jtype(self.type_node)
self.default = DEFAULTS.get(self.type, "null")
self.has = camel(1, "has", self.name)
self.get = camel(1, "get", self.name)