-
Notifications
You must be signed in to change notification settings - Fork 9
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
Skip already visited files #178
base: main
Are you sure you want to change the base?
Conversation
… should skip already visited files.
…ips already visited files
I opened this for review but left it as [wip] until I finish adding an integration test (I already added a unit test). |
… cover syntactic edge-cases for switch cases
Given that the bugfix resides in the AbstracCollector it doesn't require a backwards compatibility flag, there is no valid usecase for the collector to enter an infinitely loop. |
I have added an integration test, but the test's assertion is fairly weak -- the empty file it loads has no symbols so I assert that it collects 0 symbols. Since I can't stop the infinite loop early (?) then I can't really check for the result of the collector and make assertions there. However, without this PR the test would fail due to the infinite loop by exhausting all allocated memory. Do you have any better strategies to test this? My only other idea is to use the |
…ips already visited files (integration test)
Missed a file from the commit. Please reapprove workflows. |
@icanhazstring did you get a chance for a review on this? |
Ping |
Hi. Sorry might have some time later that week. |
@icanhazstring ping |
This PR attempts to fix the bugs reported in:
A self-referencing file or a cyclic dependency would generate an infinite loop during parsing.
Code example:
The chosen solution is that the parser should keep track of files it has already visited and skip reparsing them.
All Submissions:
New Feature Submissions:
Changes to Core Features: