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

Generalize incremental parsing maintenance #9

Closed
mcserep opened this issue Jul 1, 2018 · 2 comments
Closed

Generalize incremental parsing maintenance #9

mcserep opened this issue Jul 1, 2018 · 2 comments
Assignees
Labels
Kind: Refactor Refactor required Target: Incremental parsing Towards incremental parsing

Comments

@mcserep
Copy link
Owner

mcserep commented Jul 1, 2018

All plugin parsers should be able to perform maintenance operations related to incremental parsing.

  • Extend the AbstractParser type with a virtual void maintain() {} method to support operations related to incremental parsing or other maintenance.
  • Refactor the incrementalParse() method of the CppParser type into the parser's maintain() method.
  • In parser.cpp, call the maintain() method for all parsers before calling the parse() method. The plugin parsers should be traversed in a reverse topological order, hence inverting the dependency relations defined between them for parsing.

Blocked by #8.

@mcserep
Copy link
Owner Author

mcserep commented Jul 4, 2018

As decided on the Ericsson CodeCompass meeting today, the maintain() method should be named preparse(). The preparse() method can read the file statuses from the ParserContext and decide to detect further status changes, e.g. through the C++ header inclusions (see #8). The preparse() is also responsible for the database maintenance as it was originally designed.

@intjftw
Copy link
Collaborator

intjftw commented Jul 6, 2018

Solved in 8f85585

@intjftw intjftw closed this as completed Jul 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kind: Refactor Refactor required Target: Incremental parsing Towards incremental parsing
Projects
None yet
Development

No branches or pull requests

2 participants