summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tools/bgen/bgen/bgenType.py12
-rw-r--r--Tools/bgen/bgen/bgenVariable.py5
2 files changed, 14 insertions, 3 deletions
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 @@ class Type:
Example: int.declare('spam') prints "int spam;"
"""
+ 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:
- Output("%s& %s;", self.typeName, name)
+ return "%s& %s" % (self.typeName, name)
else:
- Output("%s %s;", self.typeName, name)
-
+ return "%s %s" % (self.typeName, name)
+
def getargs(self):
return self.getargsFormat(), self.getargsArgs()
@@ -72,6 +77,7 @@ class Type:
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 @@ class Variable:
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."""