[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