Renamed Matcher -> NavigationStrategy. Extracted anonymous classes.
Renamed Matcher -> NavigationStrategy.

Extracted anonymous classes. Renamed methods.
receiverType parameter.
Removed constructor parenthesis for named objects and enum entries.
Supported navigation to decompiled named object and its members.
Supported navigation to source of named object and its members.
Simplified JetClsNavigationPolicy.
Got rid of code duplication.
Replaced some ifs with asserts.
Minor. Renamed variable.
Moved extracting member scope to separate methods.
Simplified method.
Annotated with @Nullable/@NotNull.
Replaced JetFunction with JetNamedFunction.

Replaced JetDeclaration with JetNamedDeclaration.
Added no-resolve optimization for top-level functions and properties.
Added no-resolve optimization for class functions and properties.
Running NavigateToLibrarySourceTest with force resolve, as well.
Replaced eager resolve with lazy when navigating to library sources.
Minor. Better method name.
Rearranged methods.