[pypy-svn] r17236 - pypy/dist/pypy/interpreter/astcompiler
adim at codespeak.net
adim at codespeak.net
Mon Sep 5 15:42:04 CEST 2005
Author: adim
Date: Mon Sep 5 15:42:02 2005
New Revision: 17236
Modified:
pypy/dist/pypy/interpreter/astcompiler/ast.py
pypy/dist/pypy/interpreter/astcompiler/astgen.py
pypy/dist/pypy/interpreter/astcompiler/pycodegen.py
Log:
set default lineno value to -1 rather than None
because union of None and numbers is not supported
Modified: pypy/dist/pypy/interpreter/astcompiler/ast.py
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/ast.py (original)
+++ pypy/dist/pypy/interpreter/astcompiler/ast.py Mon Sep 5 15:42:02 2005
@@ -23,7 +23,7 @@
class Node(Wrappable):
"""Abstract base class for ast nodes."""
- def __init__(self, lineno = None):
+ def __init__(self, lineno=-1):
self.lineno = lineno
self.filename = ""
@@ -73,7 +73,7 @@
return visitor.visitExpression(self)
class Add(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -91,7 +91,7 @@
return visitor.visitAdd(self)
class And(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -110,7 +110,7 @@
return visitor.visitAnd(self)
class AssAttr(Node):
- def __init__(self, expr, attrname, flags, lineno=None):
+ def __init__(self, expr, attrname, flags, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.attrname = attrname
@@ -129,7 +129,7 @@
return visitor.visitAssAttr(self)
class AssList(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -148,7 +148,7 @@
return visitor.visitAssList(self)
class AssName(Node):
- def __init__(self, name, flags, lineno=None):
+ def __init__(self, name, flags, lineno=-1):
Node.__init__(self, lineno)
self.name = name
self.flags = flags
@@ -166,7 +166,7 @@
return visitor.visitAssName(self)
class AssTuple(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -185,7 +185,7 @@
return visitor.visitAssTuple(self)
class Assert(Node):
- def __init__(self, test, fail, lineno=None):
+ def __init__(self, test, fail, lineno=-1):
Node.__init__(self, lineno)
self.test = test
self.fail = fail
@@ -210,7 +210,7 @@
return visitor.visitAssert(self)
class Assign(Node):
- def __init__(self, nodes, expr, lineno=None):
+ def __init__(self, nodes, expr, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
self.expr = expr
@@ -234,7 +234,7 @@
return visitor.visitAssign(self)
class AugAssign(Node):
- def __init__(self, node, op, expr, lineno=None):
+ def __init__(self, node, op, expr, lineno=-1):
Node.__init__(self, lineno)
self.node = node
self.op = op
@@ -253,7 +253,7 @@
return visitor.visitAugAssign(self)
class Backquote(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -270,7 +270,7 @@
return visitor.visitBackquote(self)
class Bitand(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -289,7 +289,7 @@
return visitor.visitBitand(self)
class Bitor(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -308,7 +308,7 @@
return visitor.visitBitor(self)
class Bitxor(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -327,7 +327,7 @@
return visitor.visitBitxor(self)
class Break(Node):
- def __init__(self, lineno=None):
+ def __init__(self, lineno=-1):
Node.__init__(self, lineno)
def getChildren(self):
@@ -343,7 +343,7 @@
return visitor.visitBreak(self)
class CallFunc(Node):
- def __init__(self, node, args, star_args = None, dstar_args = None, lineno=None):
+ def __init__(self, node, args, star_args = None, dstar_args = None, lineno=-1):
Node.__init__(self, lineno)
self.node = node
self.args = args
@@ -375,7 +375,7 @@
return visitor.visitCallFunc(self)
class Class(Node):
- def __init__(self, name, bases, doc, code, lineno=None):
+ def __init__(self, name, bases, doc, code, lineno=-1):
Node.__init__(self, lineno)
self.name = name
self.bases = bases
@@ -403,7 +403,7 @@
return visitor.visitClass(self)
class Compare(Node):
- def __init__(self, expr, ops, lineno=None):
+ def __init__(self, expr, ops, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.ops = ops
@@ -427,7 +427,7 @@
return visitor.visitCompare(self)
class Const(Node):
- def __init__(self, value, lineno=None):
+ def __init__(self, value, lineno=-1):
Node.__init__(self, lineno)
self.value = value
@@ -444,7 +444,7 @@
return visitor.visitConst(self)
class Continue(Node):
- def __init__(self, lineno=None):
+ def __init__(self, lineno=-1):
Node.__init__(self, lineno)
def getChildren(self):
@@ -460,7 +460,7 @@
return visitor.visitContinue(self)
class Decorators(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -479,7 +479,7 @@
return visitor.visitDecorators(self)
class Dict(Node):
- def __init__(self, items, lineno=None):
+ def __init__(self, items, lineno=-1):
Node.__init__(self, lineno)
self.items = items
@@ -498,7 +498,7 @@
return visitor.visitDict(self)
class Discard(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -515,7 +515,7 @@
return visitor.visitDiscard(self)
class Div(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -533,7 +533,7 @@
return visitor.visitDiv(self)
class Ellipsis(Node):
- def __init__(self, lineno=None):
+ def __init__(self, lineno=-1):
Node.__init__(self, lineno)
def getChildren(self):
@@ -549,7 +549,7 @@
return visitor.visitEllipsis(self)
class Exec(Node):
- def __init__(self, expr, locals, globals, lineno=None):
+ def __init__(self, expr, locals, globals, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.locals = locals
@@ -578,7 +578,7 @@
return visitor.visitExec(self)
class FloorDiv(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -596,7 +596,7 @@
return visitor.visitFloorDiv(self)
class For(Node):
- def __init__(self, assign, list, body, else_, lineno=None):
+ def __init__(self, assign, list, body, else_, lineno=-1):
Node.__init__(self, lineno)
self.assign = assign
self.list = list
@@ -627,7 +627,7 @@
return visitor.visitFor(self)
class From(Node):
- def __init__(self, modname, names, lineno=None):
+ def __init__(self, modname, names, lineno=-1):
Node.__init__(self, lineno)
self.modname = modname
self.names = names
@@ -645,7 +645,7 @@
return visitor.visitFrom(self)
class Function(Node):
- def __init__(self, decorators, name, argnames, defaults, flags, doc, code, lineno=None):
+ def __init__(self, decorators, name, argnames, defaults, flags, doc, code, lineno=-1):
Node.__init__(self, lineno)
self.decorators = decorators
self.name = name
@@ -688,7 +688,7 @@
return visitor.visitFunction(self)
class GenExpr(Node):
- def __init__(self, code, lineno=None):
+ def __init__(self, code, lineno=-1):
Node.__init__(self, lineno)
self.code = code
self.argnames = [AssName('[outmost-iterable]', OP_ASSIGN)]
@@ -709,7 +709,7 @@
return visitor.visitGenExpr(self)
class GenExprFor(Node):
- def __init__(self, assign, iter, ifs, lineno=None):
+ def __init__(self, assign, iter, ifs, lineno=-1):
Node.__init__(self, lineno)
self.assign = assign
self.iter = iter
@@ -738,7 +738,7 @@
return visitor.visitGenExprFor(self)
class GenExprIf(Node):
- def __init__(self, test, lineno=None):
+ def __init__(self, test, lineno=-1):
Node.__init__(self, lineno)
self.test = test
@@ -755,7 +755,7 @@
return visitor.visitGenExprIf(self)
class GenExprInner(Node):
- def __init__(self, expr, quals, lineno=None):
+ def __init__(self, expr, quals, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.quals = quals
@@ -779,7 +779,7 @@
return visitor.visitGenExprInner(self)
class Getattr(Node):
- def __init__(self, expr, attrname, lineno=None):
+ def __init__(self, expr, attrname, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.attrname = attrname
@@ -797,7 +797,7 @@
return visitor.visitGetattr(self)
class Global(Node):
- def __init__(self, names, lineno=None):
+ def __init__(self, names, lineno=-1):
Node.__init__(self, lineno)
self.names = names
@@ -814,7 +814,7 @@
return visitor.visitGlobal(self)
class If(Node):
- def __init__(self, tests, else_, lineno=None):
+ def __init__(self, tests, else_, lineno=-1):
Node.__init__(self, lineno)
self.tests = tests
self.else_ = else_
@@ -839,7 +839,7 @@
return visitor.visitIf(self)
class Import(Node):
- def __init__(self, names, lineno=None):
+ def __init__(self, names, lineno=-1):
Node.__init__(self, lineno)
self.names = names
@@ -856,7 +856,7 @@
return visitor.visitImport(self)
class Invert(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -873,7 +873,7 @@
return visitor.visitInvert(self)
class Keyword(Node):
- def __init__(self, name, expr, lineno=None):
+ def __init__(self, name, expr, lineno=-1):
Node.__init__(self, lineno)
self.name = name
self.expr = expr
@@ -891,7 +891,7 @@
return visitor.visitKeyword(self)
class Lambda(Node):
- def __init__(self, argnames, defaults, flags, code, lineno=None):
+ def __init__(self, argnames, defaults, flags, code, lineno=-1):
Node.__init__(self, lineno)
self.argnames = argnames
self.defaults = defaults
@@ -926,7 +926,7 @@
return visitor.visitLambda(self)
class LeftShift(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -944,7 +944,7 @@
return visitor.visitLeftShift(self)
class List(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -963,7 +963,7 @@
return visitor.visitList(self)
class ListComp(Node):
- def __init__(self, expr, quals, lineno=None):
+ def __init__(self, expr, quals, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.quals = quals
@@ -987,7 +987,7 @@
return visitor.visitListComp(self)
class ListCompFor(Node):
- def __init__(self, assign, list, ifs, lineno=None):
+ def __init__(self, assign, list, ifs, lineno=-1):
Node.__init__(self, lineno)
self.assign = assign
self.list = list
@@ -1014,7 +1014,7 @@
return visitor.visitListCompFor(self)
class ListCompIf(Node):
- def __init__(self, test, lineno=None):
+ def __init__(self, test, lineno=-1):
Node.__init__(self, lineno)
self.test = test
@@ -1031,7 +1031,7 @@
return visitor.visitListCompIf(self)
class Mod(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -1049,7 +1049,7 @@
return visitor.visitMod(self)
class Module(Node):
- def __init__(self, doc, node, lineno=None):
+ def __init__(self, doc, node, lineno=-1):
Node.__init__(self, lineno)
self.doc = doc
self.node = node
@@ -1067,7 +1067,7 @@
return visitor.visitModule(self)
class Mul(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -1085,7 +1085,7 @@
return visitor.visitMul(self)
class Name(Node):
- def __init__(self, varname, lineno=None):
+ def __init__(self, varname, lineno=-1):
Node.__init__(self, lineno)
self.varname = varname
@@ -1102,7 +1102,7 @@
return visitor.visitName(self)
class NoneConst(Node):
- def __init__(self, lineno=None):
+ def __init__(self, lineno=-1):
Node.__init__(self, lineno)
def getChildren(self):
@@ -1118,7 +1118,7 @@
return visitor.visitNoneConst(self)
class Not(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -1135,7 +1135,7 @@
return visitor.visitNot(self)
class NumberConst(Node):
- def __init__(self, number_value, lineno=None):
+ def __init__(self, number_value, lineno=-1):
Node.__init__(self, lineno)
self.number_value = number_value
@@ -1152,7 +1152,7 @@
return visitor.visitNumberConst(self)
class Or(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -1171,7 +1171,7 @@
return visitor.visitOr(self)
class Pass(Node):
- def __init__(self, lineno=None):
+ def __init__(self, lineno=-1):
Node.__init__(self, lineno)
def getChildren(self):
@@ -1187,7 +1187,7 @@
return visitor.visitPass(self)
class Power(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -1205,7 +1205,7 @@
return visitor.visitPower(self)
class Print(Node):
- def __init__(self, nodes, dest, lineno=None):
+ def __init__(self, nodes, dest, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
self.dest = dest
@@ -1230,7 +1230,7 @@
return visitor.visitPrint(self)
class Printnl(Node):
- def __init__(self, nodes, dest, lineno=None):
+ def __init__(self, nodes, dest, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
self.dest = dest
@@ -1255,7 +1255,7 @@
return visitor.visitPrintnl(self)
class Raise(Node):
- def __init__(self, expr1, expr2, expr3, lineno=None):
+ def __init__(self, expr1, expr2, expr3, lineno=-1):
Node.__init__(self, lineno)
self.expr1 = expr1
self.expr2 = expr2
@@ -1285,7 +1285,7 @@
return visitor.visitRaise(self)
class Return(Node):
- def __init__(self, value, lineno=None):
+ def __init__(self, value, lineno=-1):
Node.__init__(self, lineno)
self.value = value
@@ -1302,7 +1302,7 @@
return visitor.visitReturn(self)
class RightShift(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -1320,7 +1320,7 @@
return visitor.visitRightShift(self)
class Slice(Node):
- def __init__(self, expr, flags, lower, upper, lineno=None):
+ def __init__(self, expr, flags, lower, upper, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.flags = flags
@@ -1351,7 +1351,7 @@
return visitor.visitSlice(self)
class Sliceobj(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -1370,7 +1370,7 @@
return visitor.visitSliceobj(self)
class Stmt(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -1389,7 +1389,7 @@
return visitor.visitStmt(self)
class StringConst(Node):
- def __init__(self, string_value, lineno=None):
+ def __init__(self, string_value, lineno=-1):
Node.__init__(self, lineno)
self.string_value = string_value
@@ -1406,7 +1406,7 @@
return visitor.visitStringConst(self)
class Sub(Node):
- def __init__(self, (left, right), lineno=None):
+ def __init__(self, (left, right), lineno=-1):
Node.__init__(self, lineno)
self.left = left
self.right = right
@@ -1424,7 +1424,7 @@
return visitor.visitSub(self)
class Subscript(Node):
- def __init__(self, expr, flags, subs, lineno=None):
+ def __init__(self, expr, flags, subs, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
self.flags = flags
@@ -1450,7 +1450,7 @@
return visitor.visitSubscript(self)
class TryExcept(Node):
- def __init__(self, body, handlers, else_, lineno=None):
+ def __init__(self, body, handlers, else_, lineno=-1):
Node.__init__(self, lineno)
self.body = body
self.handlers = handlers
@@ -1478,7 +1478,7 @@
return visitor.visitTryExcept(self)
class TryFinally(Node):
- def __init__(self, body, final, lineno=None):
+ def __init__(self, body, final, lineno=-1):
Node.__init__(self, lineno)
self.body = body
self.final = final
@@ -1496,7 +1496,7 @@
return visitor.visitTryFinally(self)
class Tuple(Node):
- def __init__(self, nodes, lineno=None):
+ def __init__(self, nodes, lineno=-1):
Node.__init__(self, lineno)
self.nodes = nodes
@@ -1515,7 +1515,7 @@
return visitor.visitTuple(self)
class UnaryAdd(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -1532,7 +1532,7 @@
return visitor.visitUnaryAdd(self)
class UnarySub(Node):
- def __init__(self, expr, lineno=None):
+ def __init__(self, expr, lineno=-1):
Node.__init__(self, lineno)
self.expr = expr
@@ -1549,7 +1549,7 @@
return visitor.visitUnarySub(self)
class While(Node):
- def __init__(self, test, body, else_, lineno=None):
+ def __init__(self, test, body, else_, lineno=-1):
Node.__init__(self, lineno)
self.test = test
self.body = body
@@ -1577,7 +1577,7 @@
return visitor.visitWhile(self)
class Yield(Node):
- def __init__(self, value, lineno=None):
+ def __init__(self, value, lineno=-1):
Node.__init__(self, lineno)
self.value = value
@@ -1599,7 +1599,7 @@
method in replacement of the former visitor.visit = walker.dispatch
It could also use to identify base type for visit arguments of AST nodes
"""
-
+
def default(self, node):
for child in node.getChildNodes():
child.accept(self)
Modified: pypy/dist/pypy/interpreter/astcompiler/astgen.py
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/astgen.py (original)
+++ pypy/dist/pypy/interpreter/astcompiler/astgen.py Mon Sep 5 15:42:02 2005
@@ -121,9 +121,9 @@
else:
args = self.parent.args or self.args
if args:
- print >> buf, " def __init__(self, %s, lineno=None):" % args
+ print >> buf, " def __init__(self, %s, lineno=-1):" % args
else:
- print >> buf, " def __init__(self, lineno=None):"
+ print >> buf, " def __init__(self, lineno=-1):"
if self.parent.args:
print >> buf, " %s.__init__(self, %s, lineno)" % self.parent.args
else:
@@ -307,7 +307,7 @@
class Node(Wrappable):
"""Abstract base class for ast nodes."""
- def __init__(self, lineno = None):
+ def __init__(self, lineno = -1):
self.lineno = lineno
self.filename = ""
Modified: pypy/dist/pypy/interpreter/astcompiler/pycodegen.py
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/pycodegen.py (original)
+++ pypy/dist/pypy/interpreter/astcompiler/pycodegen.py Mon Sep 5 15:42:02 2005
@@ -194,7 +194,7 @@
self.checkClass()
self.locals = misc.Stack()
self.setups = misc.Stack()
- self.last_lineno = None
+ self.last_lineno = -1
self._div_op = "BINARY_DIVIDE"
self.genexpr_cont_stack = []
@@ -335,8 +335,8 @@
if node is None:
return False
lineno = node.lineno
- if lineno is not None and (lineno != self.last_lineno
- or force):
+ if lineno != -1 and (lineno != self.last_lineno
+ or force):
self.emitop_int('SET_LINENO', lineno)
self.last_lineno = lineno
return True
More information about the Pypy-commit
mailing list