title: Scala Macro get caller class recursively (stacktrace)
body: <p>I'm having this issue I cannot fix. I would like to get recursively the classes starting from the macro.</p>
  
  <pre><code>Class A{
    def myfunc = macro mymacro
  }
  Class B{
    val b = new A().myfunc
  }
  Class C{
   val c = new B().b
  }
  </code></pre>
  
  <p>At the end I want to get the resulting stacktrace so [C.c,B.b,A.myfunc].
  Is there any way to do this?
  I already tried to get the owner of the encoding class but I don't know how to identify the class who really called B.
  Please consider the case where I have also a class D like below:</p>
  
  <pre><code>Class D{
    val d = new B().b
  }
  </code></pre>
  
  <p>and a main like below:</p>
  
  <pre><code>Main {
    new C.c
  }
  </code></pre>