开发者

getting call hierarchy of a method using reflections

i used java reflections to get methods from a class(loaded those classes).Now i want to get the call hierarchy of those methods.How can i use call hierarchy op开发者_Python百科tion in eclipse IDE for that?any examples or links????


The solutions proposed is to use Thread.currentThread().getStackTrace() in order to obtain the current trace of callers.

However, you want to get this information not for the currently executing method, but for any method on any class. This can't be done easily. I think you have to inspect all classes on the classpath with a bytecode utility and match the calling instructions. Something you will spend too much time on, and I'm pretty sure it isn't needed, unless you are developing an IDE.

Anyway, you can get Eclipse or NetBeans sources and see how it is implemented there.


StackTraceElement[] stackTrace = new Throwable().getStackTrace();


You can use the StackTrace object.

But that looks very brittle to me as approach. Better avoid this kind of logic... Why not passing the caller as an argument to thé method?


Throw an exception in the method which is at the root of the hierarchy. Then you can catch the exception and printStackTrace().

I'm sure there would be cleaner solution than this. But this would work too.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜