-
Notifications
You must be signed in to change notification settings - Fork 286
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
[TypeRecovery] Re-work for Fixed Iteration Strategy & Using POSSIBLE_TYPES
#3733
base: master
Are you sure you want to change the base?
Conversation
…aph that is later absorbed
There appears to be something flaky about the tests. Will investigate further |
Update: Seems like method-level parallelism isn't causing the flakiness, and rather the file-level one. |
I think I am falling prey to technical debt. It may be good to start reworking this pass in general, visiting on a per-statement basis and keeping things simpler. There is a lot of noise coming from these heuristics, as they are not normalized nor controlled. It would be a good idea to also separate these heuristics and have them callable through some other mechanism. |
Benefits
POSSIBLE_TYPES
in order to avoid clashing with the must-style ofDYNAMIC_TYPE_HINT_FULL_NAME
Breaking Changes
<returnValue>.<indexAccess>.<indexAccess>.
one needs an iteration count of at least 3.File
and the pass will iterate throughMethods
from that file while checking variables captured in by a parent scope.Main Changes
GraphCache
object to theTypeRecoveryState
Next Steps
TODO: Work towards a fully
ConcurrentWriterCpgPass
solution by expanding upon theGraphCache
TODO: Make use of
Declaration
nodes in the symbol table to avoid many repeated AST crawlsCloses PR #3551
cc: @ml86 @max-leuthaeuser