bors[bot] c3defe2532
Merge #5518
5518: Use resolved paths in SSR rules r=matklad a=davidlattimore

The main user-visible changes are:
* SSR now matches paths based on whether they resolve to the same thing instead of whether they're written the same.
  * So `foo()` won't match `foo()` if it's a different function `foo()`, but will match `bar::foo()` if it's the same `foo`.
* Paths in the replacement will now be rendered with appropriate qualification for their context.
  * For example `foo::Bar` will render as just `Bar` inside the module `foo`, but might render as `baz::foo::Bar` from elsewhere.
* This means that all paths in the search pattern and replacement template must be able to be resolved.
* It now also matters where you invoke SSR from, since paths are resolved relative to wherever that is.
* Search now uses find-uses on paths to locate places to try matching. This means that when a path is present in the pattern, search will generally be pretty fast.
* Function calls can now match method calls again, but this time only if they resolve to the same function.

Co-authored-by: David Lattimore <dml@google.com>
2020-07-24 12:46:55 +00:00
..
2020-07-21 10:50:24 +02:00
2020-07-23 16:53:12 +02:00
2020-07-21 17:17:21 +02:00
2020-07-24 14:12:13 +02:00
2020-07-23 16:53:12 +02:00
2020-07-23 15:07:01 +02:00
2020-07-21 17:55:17 +02:00
2020-07-16 14:29:57 +00:00
2020-07-23 17:23:01 +02:00
2020-07-14 14:58:10 +02:00
2020-07-21 12:52:51 +02:00
2020-07-18 16:40:10 +02:00