Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle constructors in extraction semantic. #94

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

aravij
Copy link
Contributor

@aravij aravij commented Nov 5, 2020

Fix #86
Previous PR fixed inly block-statement graph creation, but there was need to handle constructors in extraction semantic step.

@lyriccoder
Copy link
Member

I still have the same error:

Traceback (most recent call last):
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\_block_extractors.py", line 15, in extract_blocks_from_statement
    return _block_extractors[statement.node_type](statement)
KeyError: <ASTNodeType.CLASS_DECLARATION: 17>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\git\veniq\veniq\dataset_collection\validation.py", line 144, in validate_row
    opport = find_extraction_opportunities(ast_subtree)
  File "D:\git\veniq\veniq\dataset_collection\validation.py", line 28, in find_extraction_opportunities
    statements_semantic = extract_method_statements_semantic(method_ast)
  File "D:\git\veniq\veniq\baselines\semi\extract_semantic.py", line 12, in extract_method_statements_semantic
    block_statement_graph = build_block_statement_graph(method_ast)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\builder.py", line 15, in build_block_statement_graph
    root_index = _build_graph_from_statement(method_ast.get_root(), graph)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\builder.py", line 26, in _build_graph_from_statement
    new_block_index = _build_graph_from_block(block, graph)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\builder.py", line 40, in _build_graph_from_block
    new_statement_index = _build_graph_from_statement(statement, graph)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\builder.py", line 24, in _build_graph_from_statement
    blocks = extract_blocks_from_statement(statement)
  File "D:\git\veniq\veniq\ast_framework\block_statement_graph\_block_extractors.py", line 17, in extract_blocks_from_statement
    raise NotImplementedError(f"Node {statement.node_type} is not supported.")
NotImplementedError: Node Class declaration is not supported.
100%|██████████| 1/1 [00:00<00:00, 117.67it/s]
D:\git\veniq\venv\lib\site-packages\numpy\core\fromnumeric.py:3372: RuntimeWarning: Mean of empty slice.
  return _methods._mean(a, axis=axis, dtype=dtype,
D:\git\veniq\venv\lib\site-packages\numpy\core\_methods.py:170: RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)

KeymapPanel.zip

@lyriccoder
Copy link
Member

could you please update branch and then create a new issue?

Copy link
Member

@lyriccoder lyriccoder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, i've tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Semi doesn't work with constructors
2 participants