Eclipse IDE - Open Call Hierarchy is empty/broken

前端 未结 12 1175
难免孤独
难免孤独 2020-12-17 08:06

What should I do, if the \"Open Call Hierarchy\" is broken (empty for every method in a project)? It only shows the name of the method I wanted to see the call hierarchy fo

相关标签:
12条回答
  • 2020-12-17 08:27

    For Kepler and PDT (PHP IDE) it is broken in at least PDT 3.2.0 and 3.3.0 (tried them both). The fix is in 3.3.1 and updating to that was all I had to do get the call hierarchy working again.

    (apologies, I'm not yet allowed to add comments, however this should prove handy to many)

    0 讨论(0)
  • 2020-12-17 08:28

    My problem was that Open Call Hierarchy was searching only the project not the entire Workspace. So I had to click on the small down arrow (in the Call Hierarchy view window on the right; it is the "View Menu" arrow -- a triangle pointing down) in Call Hierarchy view, set the Search Scope > Workspace.

    0 讨论(0)
  • 2020-12-17 08:30

    I have the same behavior with eclipse Kepler (4.3.2).

    I found out, that there is a bug with methods with signature of:

    void get(Object o)
    Object get(Object o)
    

    In the eclipse Error Log view I find the following exception:

    java.lang.NullPointerException
        at org.eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.directoryTable(ClasspathSourceDirectory.java:52)
        at org.eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.findClass(ClasspathSourceDirectory.java:109)
        at org.eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findClass(JavaSearchNameEnvironment.java:146)
        at org.eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findType(JavaSearchNameEnvironment.java:185)
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:145)
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:197)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2799)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2556)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getType(MatchLocator.java:899)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding0(MatchLocator.java:955)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding(MatchLocator.java:907)
        at org.eclipse.jdt.internal.core.search.matching.MethodLocator.matchMethod(MethodLocator.java:327)
        at org.eclipse.jdt.internal.core.search.matching.MethodLocator.resolveLevel(MethodLocator.java:664)
        at org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.locateMatches(ClassFileMatchLocator.java:209)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1699)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1143)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1184)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1301)
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:95)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:231)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:515)
        at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:584)
        at org.eclipse.jdt.internal.corext.callhierarchy.CallerMethodWrapper.findChildren(CallerMethodWrapper.java:155)
        at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.performSearch(MethodWrapper.java:301)
        at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.doFindChildren(MethodWrapper.java:232)
        at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.getCalls(MethodWrapper.java:84)
        at org.eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.getCalls(DeferredMethodWrapper.java:65)
        at org.eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.fetchDeferredChildren(DeferredMethodWrapper.java:79)
        at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
    

    In the end, it looks like a bug in this version:

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=401272

    I assume, that upgrading at least to version 4.4 (Luna) will solve this problem.

    0 讨论(0)
  • 2020-12-17 08:30

    Tried everything in all the answers here, but none of them worked for me. Later I figured out that this was a bug in Eclipse 2019-03 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=545293). Try to upgrade your eclipse or install a newer version. For me installing a newer version(latest version Eclipse 2019-09) solved the problem.

    0 讨论(0)
  • 2020-12-17 08:31

    The following may help:

    • Calling eclipse with eclipse.exe -clean -refresh forces Eclipse to rebuild the index. After that the feature worked again.
    • Closing and re-opening the project.
    0 讨论(0)
  • 2020-12-17 08:36

    I tried many answers all were great, it helped many except few and I was in few.

    My eclipse version is 2019-03(4.11.0). This is which has a bug. Which can be fixed by add-ons.

    Go to the Eclipse Marketplace and search for plugin java 12 Support for Eclipse 2019-03(4.11)… and install it. On completion of installation restart the eclipse. Hopefully this will fix the problem. Have a nice day.

    0 讨论(0)
提交回复
热议问题