title: Eclipse call hierarchy lambda
body: <p>I think 5 years has passed since Lambda has been released for Java. </p>
  
  <pre><code>public static void main(String[] args) {
      go();
  }
  
  private static void go() {
      Set&lt;String&gt; set = new HashSet&lt;&gt;();
      set.stream().forEach((s) -&gt; {
          inner(s);
      });
  }
  
  private static void inner(String s) {
      inner1(s);
  }
  
  private static void inner1(String s) {
  
  }
  </code></pre>
  
  <p>When I press CTRL-ALT-H - (open call hierarchy) on <code>inner1</code> method, I expect to see a whole stack trace from in <code>inner1</code> to <code>main</code> method. Instead, my staktrace is trimmed on <code>inner</code> method. I've just downloaded the newest Eclipse, I think it 2018-12, previously I was using Mars.</p>
  
  <p><a href="https://i.stack.imgur.com/nj8Vw.png" rel="noreferrer"><img src="https://i.stack.imgur.com/nj8Vw.png" alt="enter image description here"></a>
  Intellij can show me the expected call-hierarchy, and I don't really understand why Eclipse still can't do it. Not sure if anyone else is using Eclipse in 2019, but maybe you can advise a plugin or something. </p>
  
  <p>Switching to Intellij is not an option, I tried couple of times, but the habit is hard to overcome.</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>There is similar  - <a href="https://stackoverflow.com/questions/30254458/eclipse-open-call-hierarchy-stop-searching-in-lambda-chain">SO question</a></p>
  
  <blockquote>
    <p>At run time, evaluation of a lambda expression is similar to
    evaluation of a class instance creation expression, insofar as normal
    completion produces a reference to an object. Evaluation of a lambda
    expression is distinct from execution of the lambda body.</p>
  </blockquote>
  
  <p>and</p>
  
  <blockquote>
    <p>Just note, that for lambdas implementing library types like
    Consumer, the number of callers into accept(T) in a workspace may
    easily become unmanageable, similar to any call hierarchy through,
    e.g, Runnable.run() - but that doesn't question the general usefulness
    of call hierarchies through lambdas.</p>
  </blockquote>
  
  <p>I don't really care about lambda internals, somehow other IDE is able to show expected stacktrace</p>