summaryrefslogtreecommitdiffstats
path: root/Lib/compiler/ast.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/compiler/ast.py')
-rw-r--r--Lib/compiler/ast.py66
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):