Commit eb3c6af8 authored by Jack Jansen's avatar Jack Jansen

More factorization.

parent 7b586c92
......@@ -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.
......
......@@ -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."""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment