[pypy-commit] lang-js default: fix wraping for visit_case_clauses
stepahn
noreply at buildbot.pypy.org
Wed May 18 11:14:54 CEST 2011
Author: Stephan <stephan at stzal.com>
Branch:
Changeset: r63:939319186301
Date: 2011-05-18 10:57 +0200
http://bitbucket.org/pypy/lang-js/changeset/939319186301/
Log: fix wraping for visit_case_clauses
diff --git a/js/astbuilder.py b/js/astbuilder.py
--- a/js/astbuilder.py
+++ b/js/astbuilder.py
@@ -390,12 +390,12 @@
def visit_caseblock(self, node):
pos = self.get_pos(node)
- caseclauses = self.dispatch(node.children[0])
+ caseclauses = self.dispatch(node.children[0]).clauses
if len(node.children) > 1:
defaultblock = self.dispatch(node.children[1])
else:
defaultblock = None
- return operations.Cases(pos, caseclauses, defaultblock)
+ return operations.CaseBlock(pos, caseclauses, defaultblock)
def visit_caseclauses(self, node):
pos = self.get_pos(node)
@@ -408,7 +408,7 @@
expressions = []
else:
expressions.append(self.dispatch(c))
- return clauses
+ return operations.CaseClauses(pos, clauses)
def visit_defaultclause(self, node):
pos = self.get_pos(node)
diff --git a/js/operations.py b/js/operations.py
--- a/js/operations.py
+++ b/js/operations.py
@@ -360,8 +360,8 @@
bytecode.emit('LABEL', one)
class Switch(Statement):
- def __init__(self, pos, expression, clauses, default_clause = None):
- super(Switch, self).__init__(pos)
+ def __init__(self, pos, expression, clauses, default_clause):
+ self.pos = pos
self.expression = expression
self.clauses = clauses
self.default_clause = default_clause
@@ -391,12 +391,17 @@
bytecode.emit('LABEL', end_of_switch)
bytecode.emit('POP')
-class Cases(Statement):
+class CaseBlock(Statement):
def __init__(self, pos, clauses, default_clause):
super(Cases, self).__init__(pos)
self.clauses = clauses
self.default_clause = default_clause
+class CaseClauses(Statement):
+ def __init__(self, pos, clauses):
+ self.pos = pos
+ self.clauses = clauses
+
class CaseClause(Statement):
def __init__(self, pos, expressions, block):
super(CaseClause, self).__init__(pos)
More information about the pypy-commit
mailing list