cqfn / veniq

Veniq uses Machine Learning to analyze source code, find possible refactorings, and suggest those that seem optimal

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Skip statements without semnatic in semantic filter.

aravij opened this issue · comments

See this file:
NbValidatioTransaction.txt

Traceback (most recent call last):
  File "D:/git/veniq/veniq/dataset_collection/validation.py", line 69, in <module>
    opport = _print_extraction_opportunities(
  File "D:/git/veniq/veniq/dataset_collection/validation.py", line 18, in _print_extraction_opportunities
    filtered_extraction_opportunities = filter_extraction_opportunities(
  File "D:\git\veniq\veniq\baselines\semi\filter_extraction_opportunities.py", line 24, in filter_extraction_opportunities
    return list(extraction_opportunities_filtered)
  File "D:\git\veniq\veniq\baselines\semi\filter_extraction_opportunities.py", line 21, in <lambda>
    and semantic_filter(extraction_opportunity, statements_semantic, block_statement_graph),
  File "D:\git\veniq\veniq\baselines\semi\_semantic_filter.py", line 16, in semantic_filter
    method_block_statement_graph.traverse(
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\block.py", line 48, in traverse
    self._traverse_function(self._graph, self._id, on_node_entering, on_node_leaving)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\_nodes_factory.py", line 50, in _traverse_graph
    on_node_entering(destination_node)
  File "D:\git\veniq\veniq\baselines\semi\_semantic_filter.py", line 51, in on_node_entering
    self._on_statement_entering(node)
  File "D:\git\veniq\veniq\baselines\semi\_semantic_filter.py", line 81, in _on_statement_entering
    statement_semantic = self._statements_semantic[statement.node]
KeyError: <ASTNode node_type: Try statement, node_index: 2334>

Originally posted by @lyriccoder in #57 (comment)