self.result_value.release_temp(env)
def generate_execution_code(self, code):
+ import ExprNodes
self.rhs.generate_evaluation_code(code)
self.dup.generate_subexpr_evaluation_code(code)
+ if isinstance(self.dup, ExprNodes.NewTempExprNode):
+ # This is because we're manually messing with subexpr nodes
+ if self.dup.is_temp:
+ self.dup.allocate_temp_result(code)
# self.dup.generate_result_code is run only if it is not buffer access
if self.operator == "**":
extra = ", Py_None"
else:
extra = ""
- import ExprNodes
if self.lhs.type.is_pyobject:
if isinstance(self.lhs, ExprNodes.IndexNode) and self.lhs.is_buffer_access:
error(self.pos, "In-place operators not allowed on object buffers in this release.")