google-research / python-graphs

A static analysis library for computing graph representations of Python programs suitable for use with graph neural networks.
Apache License 2.0
325 stars 39 forks source link

TypeError: can only concatenate str (not "Name") to str #21

Open Strke opened 3 months ago

Strke commented 3 months ago
Exception getting code graph in test_core -- can only concatenate str (not "Name") to str
Traceback (most recent call last):
  File "/home/panjie/code/CATLM/Evaluation/Test Generation/TestDataPrep/input_context_generation_python.py", line 125, in get_context_and_baseline_files
    test_file_graph, test_file_content = get_python_program_graph(test_filepath)
  File "/home/panjie/code/CATLM/Evaluation/Test Generation/TestDataPrep/ast_utils.py", line 10, in get_python_program_graph
    graph = program_graph.get_program_graph(file_content)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/python_graphs/program_graph.py", line 641, in get_program_graph
    SyntaxNodeUnparser(program_node, program_graph)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/python_graphs/program_graph.py", line 783, in __init__
    super(SyntaxNodeUnparser, self).__init__(ast_node, file=devnull)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 38, in __init__
    self.dispatch(tree)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/python_graphs/program_graph.py", line 789, in dispatch
    super(SyntaxNodeUnparser, self).dispatch(ast_node)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 66, in dispatch
    meth(tree)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 78, in _Module
    self.dispatch(stmt)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/python_graphs/program_graph.py", line 789, in dispatch
    super(SyntaxNodeUnparser, self).dispatch(ast_node)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 66, in dispatch
    meth(tree)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 347, in _FunctionDef
    self.__FunctionDef_helper(t, "def")
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 359, in __FunctionDef_helper
    self.dispatch(t.args)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/python_graphs/program_graph.py", line 789, in dispatch
    super(SyntaxNodeUnparser, self).dispatch(ast_node)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 66, in dispatch
    meth(tree)
  File "/home/panjie/miniconda3/envs/CAT-LM/lib/python3.9/site-packages/astunparse/unparser.py", line 832, in _arguments
    self.write("**"+t.kwarg)
TypeError: can only concatenate str (not "Name") to str

I run my code and I meet this error, so I change the line 832 in file python3.9/site-packages/astunparse/unparser.py to self.write("**"+str(t.kwarg)), and this bug never appeared, maybe it is a bug in the code.