[CODEGEN] Avoid use of deprecated AST nodes (#418)

Co-authored-by: hauntsaninja <>
This commit is contained in:
Shantanu
2022-01-06 12:04:33 -08:00
committed by GitHub
parent 3edc2633e9
commit 6f7acad48f

View File

@@ -305,9 +305,6 @@ class CodeGenerator(ast.NodeVisitor):
for stmt in node.orelse: for stmt in node.orelse:
ast.NodeVisitor.generic_visit(self, stmt) ast.NodeVisitor.generic_visit(self, stmt)
def visit_Str(self, node):
return ast.literal_eval(node)
def visit_Subscript(self, node): def visit_Subscript(self, node):
assert node.ctx.__class__.__name__ == "Load" assert node.ctx.__class__.__name__ == "Load"
lhs = self.visit(node.value) lhs = self.visit(node.value)
@@ -374,9 +371,6 @@ class CodeGenerator(ast.NodeVisitor):
def visit_Index(self, node): def visit_Index(self, node):
return self.visit(node.value) return self.visit(node.value)
def visit_NameConstant(self, node):
return node.value
def visit_keyword(self, node): def visit_keyword(self, node):
return {node.arg: self.visit(node.value)} return {node.arg: self.visit(node.value)}
@@ -393,9 +387,19 @@ class CodeGenerator(ast.NodeVisitor):
return fn(*args, _builder=self.builder, **kws) return fn(*args, _builder=self.builder, **kws)
return fn(*args, **kws) return fn(*args, **kws)
def visit_Constant(self, node):
return node.value
if sys.version_info < (3, 8):
def visit_NameConstant(self, node):
return node.value
def visit_Num(self, node): def visit_Num(self, node):
return node.n return node.n
def visit_Str(self, node):
return ast.literal_eval(node)
def visit_Attribute(self, node): def visit_Attribute(self, node):
lhs = self.visit(node.value) lhs = self.visit(node.value)
return getattr(lhs, node.attr) return getattr(lhs, node.attr)