Author: Stephan <[email protected]>
Branch: 
Changeset: r231:17bae57e1698
Date: 2012-05-24 18:46 +0200
http://bitbucket.org/pypy/lang-js/changeset/17bae57e1698/

Log:    15.1.2.4

diff --git a/js/astbuilder.py b/js/astbuilder.py
--- a/js/astbuilder.py
+++ b/js/astbuilder.py
@@ -289,10 +289,14 @@
     visit_objectliteral = listop
 
     def visit_block(self, node):
+        def isnotempty(node):
+            return node is not None and not isinstance(node, operations.Empty)
+
         op = node.children[0]
         pos = self.get_pos(op)
         l = [self.dispatch(child) for child in node.children[1:]]
-        return operations.Block(pos, l)
+        nodes = [node for node in l if isnotempty(node)]
+        return operations.Block(pos, nodes)
 
     def visit_arguments(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
@@ -235,6 +235,8 @@
         if len(self.nodes) > 0:
             node = self.nodes[-1]
             node.emit(bytecode)
+        else:
+            bytecode.emit('LOAD_UNDEFINED')
 
 BitwiseAnd = create_binary_op('BITAND')
 BitwiseXor = create_binary_op('BITXOR')
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to