def generate_assign(self, node, ext_info):
target_code = ''
if isinstance(node.targets[0], ast.Name):
target_code = self.dispatch(node.targets[0])
else:
raise CompileError()
if isinstance(node.value, ast.Call):
return '%s\n%s=$__return_%s' % (
self.dispatch(node.value),
target_code,
node.value.func.id
)
else:
ext_info = {}
value_code = self.dispatch(node.value, ext_info)
extra_code = ext_info.get('extra_code', '')
if value_code is None:
raise CompileError()
return extra_code + target_code + '=' + value_code
评论列表
文章目录