tree 68a07bec7d0dba5607771f580415dab09bcaf941
parent 70ae9b8106fc817baa844ba0cfda9f93d049f718
author Jeff Johnston <jjohnstn@redhat.com> 1548881448 -0500
committer Roland Grunberg <rgrunber@redhat.com> 1556306001 -0400

Bug 543991 - Refactor CallHierarchy and associated classes for jdt.ls

- create new package org.eclipse.jdt.internal.corext.callhierarchy
  in jdt.core.manipulation and make it visible to jdt.ui
- create new IMethodWrapperDynamic interface that defines equals()
  and getAdapter() methods that can be used to substitute for
  the ones in MethodWrapper
- move MethodWrapper to java.core.manipulation and add a static
  IMethodWrapperDynamic instance variable that is used by the
  equals() and getAdapter() methods
- create a MethodWrapperDynamic class in jdt.ui that implements
  IMethodWrapperDynamic and defines equals() and getAdapter()
  methods that access IWorkbenchAdapter and
  MethodWrapperWorkbenchAdapter classes that are unavailable in
  jdt.core.manipulation
- create a MethodWrapperDynamicCore class that is similar but does
  not refer to the workbench classes
- initialize the static IMethodWrapperDynamic instance in
  MethodWrapper in JavaPlugin
- refactor CalleeAnalyzerVisitor, CalleeMethodWrapper,
  CallerMethodWrapper, CallHierarchyMessages, CallHierarchyVisitor,
  CallLocation, CallSearchResultCollector, IImplementorFinder,
  Implementors, JavaImplementorFinder, MethodCall,
  MethodReferencesSearchRequestor, and RealCallers to
  jdt.core.manipulation
- create CallHierarchyCore in jdt.core.manipulation based on
  CallHierarchy
- change CallHierarchy to get an instance of CallHierarchyCore to
  use in various methods that don't use preference store
- refactor StringMatcher to jdt.core.manipulation

Change-Id: I716251700d785ce806e1b425fed7a01aba6b11b9
Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
