This should allow doing partial migration, specifically protocol files,
which are imported by other libraries, but are a small library cycle
that does not import much outside of it.
Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This does a few optimizations to improve the performance of the analyzer
when watching for generated files:
- We do all the polling in a separate isolate.
- We detect when Bazel finished running and only poll afterwards.
- We use a batch interface and deliver all changes at once (instead of
one by one). This allows us to avoid resetting caches more often than
necessary.
I had to remove one of the larger tests and created an integration test
instead, since the code for detecting the Bazel builds relies on
`dart:io` directly (`ResourceProvider` does not expose a way to
check for symlink targets).
Since this required a bit more code, I've decided to create a separate
file for it (`bazel_watcher.dart`).
Change-Id: I6c2383e7fd4348ab8af1af639b10db519c7a2f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183010
Commit-Queue: Michal Terepeta <michalt@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This introduces a way to see what paths have been searched for by
the `BazelWorkspace` and adds a polling-based watcher to detect
when files generated by Bazel appear (or have changed). This allows
us to re-analyze things automatically instead of, e.g., restarting
the server.
Change-Id: I60eae29b0e4fcc3a91d8d2275c6898e45548ea03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168649
Commit-Queue: Michal Terepeta <michalt@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
* Add empty closing labels computer/visitor and tests.
See #30285
* Add initial implementation and test for closing labels.
See #30285
* Add various tests for analyzer closing labels.
See #30285
* Fail tests if errors occur.
Without this the notifications will never come through and the test will time out. This causes them to fail right away on errors.
See #30285
* Add test and fix for crash that occurred during testing.
See #30285
* Remove unnecessary abs().
See #30285
* Remove question that has been answered (yes).
See #30285
* Remove unnecessary .argumentList on spansManyLines check.
See #30285
* Add test for prefixed import and constructor names.
The behaviour seems like what we want, though need to confirm if this is the best way to do it.
See #30285
* Add additional prefixed tests and another TODO.
See #30285
* Fix method invocations to show full target/name.
See #30285
* Fix constructor invocations to not use toString().
See #30285
* Convert most closing label tests to unit tests.
See #30285