def analysis_function(self, function_node, args_type=[]):
variables = Variables()
return_type = Type.VOID
for node in function_node.body:
if isinstance(node, ast.Assign):
self.analysis_assign_node(variables, node)
elif isinstance(node, ast.Return):
return_type = self.get_type(node.value)
if return_type is None:
return_type = Type.VOID
generator = CodeGenerator(self.code,variables=variables)
return generator, return_type
评论列表
文章目录