More factorization.
diff --git a/Tools/bgen/bgen/bgenType.py b/Tools/bgen/bgen/bgenType.py
index 9d5b4f8..2f0bc57 100644
--- a/Tools/bgen/bgen/bgenType.py
+++ b/Tools/bgen/bgen/bgenType.py
@@ -24,11 +24,16 @@
Example: int.declare('spam') prints "int spam;"
"""
- if reference:
- Output("%s& %s;", self.typeName, name)
- else:
- Output("%s %s;", self.typeName, name)
+ Output("%s;", self.getDeclaration(name, reference))
+ def getDeclaration(self, name, reference=False):
+ """Return a string declaring a variable or argument, without
+ any syntactic adornment"""
+ if reference:
+ return "%s& %s" % (self.typeName, name)
+ else:
+ return "%s %s" % (self.typeName, name)
+
def getargs(self):
return self.getargsFormat(), self.getargsArgs()
@@ -72,6 +77,7 @@
Default is to call passInput().
"""
return self.passInput(name)
+
def errorCheck(self, name):
"""Check for an error returned in the variable.
diff --git a/Tools/bgen/bgen/bgenVariable.py b/Tools/bgen/bgen/bgenVariable.py
index 36c287d..a71d0f5 100644
--- a/Tools/bgen/bgen/bgenVariable.py
+++ b/Tools/bgen/bgen/bgenVariable.py
@@ -43,6 +43,11 @@
self.type.declare(self.name, reference=True)
elif self.flags != SelfMode:
self.type.declare(self.name)
+
+ def getDeclaration(self):
+ """Return the unadorned declaration of the variable,
+ suitable for use in a formal parameter list."""
+ return self.type.getDeclaration(self.name)
def getargsFormat(self):
"""Call the type's getargsFormatmethod."""