-
Notifications
You must be signed in to change notification settings - Fork 258
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
Fix globbed read/import bugs #449
Merged
Merged
Commits on May 28, 2024
-
Split MemberNode into (Regular/Shared)MemberNode
SharedMemberNode enables generating non-constant object members at run time without generating an unbounded number of Truffle root nodes.
Configuration menu - View commit details
-
Copy full SHA for f5042c8 - Browse repository at this point
Copy the full SHA f5042c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 879d853 - Browse repository at this point
Copy the full SHA 879d853View commit details -
Introduce VmObjectBuilder, a uniform way to build `VmObject`s whose `ObjectMember`s are determined at run time. Replace some manual object building code with VmObjectBuilder. Add some assertions to fix IntelliJ warnings.
Configuration menu - View commit details
-
Copy full SHA for 8742111 - Browse repository at this point
Copy the full SHA 8742111View commit details -
Improve implementation of globbed read/import nodes
- Leverage SharedMemberNode to have a single Truffle root node per globbed read/import expression instead of one root node per resolved glob element. - Remove caching in ReadGlobNode because it only works correctly if glob pattern is a string *constant*. - Remove caching in StaticReadNode (now ReadGlobElementNode/ImportGlobElementNode) because it seems unnecessary and the implementation doesn't look quite right.
Configuration menu - View commit details
-
Copy full SHA for a8b7047 - Browse repository at this point
Copy the full SHA a8b7047View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b9e27d - Browse repository at this point
Copy the full SHA 5b9e27dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f307a45 - Browse repository at this point
Copy the full SHA f307a45View commit details -
Problem: The result of a globbed read depends not only on the glob pattern but also on the current module URI. However, ResourceManager does not take this into account when caching globbed reads, causing wrong results. Changes: - Cache globbed reads per read expression. This is also how globbed imports are cached, except that import URIs are constant. - Make ReadGlobNode and ImportGlobNode code as similar as possible. - Reduce code duplication by inheriting from AbstractReadNode. - Add some tests.
Configuration menu - View commit details
-
Copy full SHA for 5fba868 - Browse repository at this point
Copy the full SHA 5fba868View commit details -
* Defer initialization of shared member node, add @child annotations * Reduce footprint of truffle boundaries * Revert bugfix when reflecting upon modules with globbed imports
Configuration menu - View commit details
-
Copy full SHA for e2a4604 - Browse repository at this point
Copy the full SHA e2a4604View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.