From 2ab0ae6a5431205aeda1142342b4df052f2e4845 Mon Sep 17 00:00:00 2001
From: Jack Jansen <jack.jansen@cwi.nl>
Date: Thu, 16 Jun 2005 21:26:24 +0000
Subject: [PATCH] More factorization.

---
 Tools/bgen/bgen/bgenType.py     | 12 +++++++++---
 Tools/bgen/bgen/bgenVariable.py |  5 +++++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Tools/bgen/bgen/bgenType.py b/Tools/bgen/bgen/bgenType.py
index 9d5b4f81212..2f0bc57350d 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 36c287d6e5d..a71d0f54e8d 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."""
-- 
2.30.9