diff options
Diffstat (limited to 'Lib/compiler/ast.py')
| -rw-r--r-- | Lib/compiler/ast.py | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/Lib/compiler/ast.py b/Lib/compiler/ast.py index 93437d6..f923077 100644 --- a/Lib/compiler/ast.py +++ b/Lib/compiler/ast.py @@ -51,9 +51,9 @@ class Expression(Node): return "Expression(%s)" % (repr(self.node)) class Add(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -308,11 +308,12 @@ class CallFunc(Node): return "CallFunc(%s, %s, %s, %s)" % (repr(self.node), repr(self.args), repr(self.star_args), repr(self.dstar_args)) class Class(Node): - def __init__(self, name, bases, doc, code, lineno=None): + def __init__(self, name, bases, doc, code, decorators = None, lineno=None): self.name = name self.bases = bases self.doc = doc self.code = code + self.decorators = decorators self.lineno = lineno def getChildren(self): @@ -321,16 +322,19 @@ class Class(Node): children.extend(flatten(self.bases)) children.append(self.doc) children.append(self.code) + children.append(self.decorators) return tuple(children) def getChildNodes(self): nodelist = [] nodelist.extend(flatten_nodes(self.bases)) nodelist.append(self.code) + if self.decorators is not None: + nodelist.append(self.decorators) return tuple(nodelist) def __repr__(self): - return "Class(%s, %s, %s, %s)" % (repr(self.name), repr(self.bases), repr(self.doc), repr(self.code)) + return "Class(%s, %s, %s, %s, %s)" % (repr(self.name), repr(self.bases), repr(self.doc), repr(self.code), repr(self.decorators)) class Compare(Node): def __init__(self, expr, ops, lineno=None): @@ -427,9 +431,9 @@ class Discard(Node): return "Discard(%s)" % (repr(self.expr),) class Div(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -481,9 +485,9 @@ class Exec(Node): return "Exec(%s, %s, %s)" % (repr(self.expr), repr(self.locals), repr(self.globals)) class FloorDiv(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -556,7 +560,6 @@ class Function(Node): self.kwargs = 1 - def getChildren(self): children = [] children.append(self.decorators) @@ -586,6 +589,7 @@ class GenExpr(Node): self.argnames = ['.0'] self.varargs = self.kwargs = None + def getChildren(self): return self.code, @@ -603,7 +607,6 @@ class GenExprFor(Node): self.lineno = lineno self.is_outmost = False - def getChildren(self): children = [] children.append(self.assign) @@ -780,7 +783,6 @@ class Lambda(Node): self.kwargs = 1 - def getChildren(self): children = [] children.append(self.argnames) @@ -799,9 +801,9 @@ class Lambda(Node): return "Lambda(%s, %s, %s, %s)" % (repr(self.argnames), repr(self.defaults), repr(self.flags), repr(self.code)) class LeftShift(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -889,9 +891,9 @@ class ListCompIf(Node): return "ListCompIf(%s)" % (repr(self.test),) class Mod(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -919,9 +921,9 @@ class Module(Node): return "Module(%s, %s)" % (repr(self.doc), repr(self.node)) class Mul(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -991,9 +993,9 @@ class Pass(Node): return "Pass()" class Power(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -1091,9 +1093,9 @@ class Return(Node): return "Return(%s)" % (repr(self.value),) class RightShift(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): @@ -1166,9 +1168,9 @@ class Stmt(Node): return "Stmt(%s)" % (repr(self.nodes),) class Sub(Node): - def __init__(self, (left, right), lineno=None): - self.left = left - self.right = right + def __init__(self, leftright, lineno=None): + self.left = leftright[0] + self.right = leftright[1] self.lineno = lineno def getChildren(self): |
