8546b2e4e6
The Spelunker class is only used by analyzer_testing's PubPackageResolutionTest class, and by a utility script. So I believe the best place for this class is in analyzer_testing, for two reasons: * Would we also move the utility script (`pkg/linter/tool/spelunk.dart`)? This is a script that lets you see a visual tree of the syntax nodes of a Dart script. It has been helpful to people writing lint rules, as it helps you understand how you need to walk up or down the tree to check conditions. Therefore, it will be at least as helpful to people writing analysis rules in analyzer plugins (the primary consumers of PubPackageResolutionTest). It doesn't need to live in `bin` (though that's one possibility). It can live in `analyzer_testing/tool`. * Then if the utility script lives in analyzer_testing, and PubPackageResolutionTest lives in analyzer_testing, and these are the sole consumers of Spelunker, it makes sense to move it into analyzer_testing. It does not need to be public API; just live in the source code. Change-Id: Id607091b35ab83c96b8cd73f0ece63923c934fb4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/444240 Commit-Queue: Samuel Rawlins <srawlins@google.com> Reviewed-by: Paul Berry <paulberry@google.com>