py2cpp
py2cpp copied to clipboard
NoneType object has no attribute "_fields"
Traceback (most recent call last):
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "d:\myfiles\src\py2cpp\py2cpp\__main__.py", line 40, in <module>
sys.exit(main(sys.argv[1:]))
File "d:\myfiles\src\py2cpp\py2cpp\__main__.py", line 28, in main
cpp_node = conv.visit(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 79, in visit_Module
return cpp.Module(body=[self.visit(x) for x in node.body])
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 79, in <listcomp>
return cpp.Module(body=[self.visit(x) for x in node.body])
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 104, in visit_ClassDef
body = [self.visit(x) for x in node.body]
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 104, in <listcomp>
body = [self.visit(x) for x in node.body]
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 87, in visit_FunctionDef
args = self.visit(node.args)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 258, in visit_arguments
args = [self.visit(x) for x in node.args]
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 258, in <listcomp>
args = [self.visit(x) for x in node.args]
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 271, in visit_arg
annotation = self.visit(node.annotation)
File "d:\myfiles\src\py2cpp\py2cpp\converter.py", line 63, in visit
ret = super(Converter, self).visit(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 360, in visit
return visitor(node)
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 364, in generic_visit
for field, value in iter_fields(node):
File "C:\Users\Alex_PC\AppData\Local\Programs\Python\Python38\lib\ast.py", line 204, in iter_fields
for field in node._fields:
AttributeError: 'NoneType' object has no attribute '_fields'
python -m py2cpp test.py
hello!
I think you needs to declare the type of every params, and the return value of the function.
For example,
def gcd(a,b):
xxx
should be like this:
def gcd(a:int, b:int)->int:
xxx