Skip to content

Commit 21316fa

Browse files
author
hartsantler
committed
fixed return of lambda function
changed test runner to run benchmarks last
1 parent a6f0e68 commit 21316fa

5 files changed

Lines changed: 101 additions & 89 deletions

File tree

pythonjs/python_to_pythonjs.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,20 +1014,24 @@ def visit_Return(self, node):
10141014
elif isinstance(node.value, Name) and node.value.id == 'self' and 'self' in self._instances:
10151015
self._return_type = self._instances['self']
10161016

1017-
if self._cached_property:
1018-
writer.write('self["__dict__"]["%s"] = %s' %(self._cached_property, self.visit(node.value)) )
1019-
writer.write('return self["__dict__"]["%s"]' %self._cached_property)
1020-
else:
1021-
if self._inline:
1022-
writer.write('__returns__%s = %s' %(self._inline[-1], self.visit(node.value)) )
1023-
if self._inline_breakout:
1024-
writer.write('break')
1017+
## cached property is DEPRECATED
1018+
#if self._cached_property:
1019+
# writer.write('self["__dict__"]["%s"] = %s' %(self._cached_property, self.visit(node.value)) )
1020+
# writer.write('return self["__dict__"]["%s"]' %self._cached_property)
1021+
#else:
1022+
if self._inline:
1023+
writer.write('__returns__%s = %s' %(self._inline[-1], self.visit(node.value)) )
1024+
if self._inline_breakout:
1025+
writer.write('break')
1026+
elif isinstance(node.value, ast.Lambda):
1027+
self.visit( node.value )
1028+
writer.write( 'return __lambda__' )
10251029

1026-
elif isinstance(node.value, ast.Tuple):
1027-
writer.write( 'return %s;' % ','.join([self.visit(e) for e in node.value.elts]) )
1030+
elif isinstance(node.value, ast.Tuple):
1031+
writer.write( 'return %s;' % ','.join([self.visit(e) for e in node.value.elts]) )
10281032

1029-
else:
1030-
writer.write('return %s' % self.visit(node.value))
1033+
else:
1034+
writer.write('return %s' % self.visit(node.value))
10311035

10321036
else:
10331037
if self._inline:
@@ -2784,6 +2788,7 @@ def __init__(self, node, compiler=None):
27842788
else:
27852789
self._with_js = True
27862790

2791+
self._in_lambda = False
27872792
self._direct_operators = compiler._direct_operators
27882793
self._builtin_functions = compiler._builtin_functions
27892794
self._js_classes = compiler._js_classes

0 commit comments

Comments
 (0)