14a836f6f6
Sorry for the long CL; once again I couldn't find a reasonable way to split it up into smaller pieces. This CL causes all of the elements from imports to be generated by the new approach. It does contain a new flag that is used to preserve the current semantics when computing completions for Cider. I hope to be able to make the new approach efficient enough that we can remove this flag, but I can't realistically do that until more of the approach is implemented. I'm also not fond of the way it fails to handle conflicts in the import scope. There's a TODO marking the places that would need to be changed, but the current behavior is that if the same name N is imported from two or more imports and they refer to different elements, the first one found will be suggested and others won't. I don't think we want to suggest any of them unless we also fix the imports so that the name won't be conflicting. I'm not sure how we want to do that, but it needs to work with whatever optimization approach we choose. I think the changes to the tests are all positive, but please double check that I haven't missed a good reason for the previous behavior. Change-Id: I70d4514a67988f654984ac20f33b2d7a3cfc78e2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340282 Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Keerti Parthasarathy <keertip@google.com>