Мне нужно разобрать некоторые вызовы вызова метода, включая всю сигнатуру, из некоторых классов Java, например,
public class MyClass {
public void myMthod() {
// ... some code here
result = someInstance.someOtherMethod(param1, param2);
// ... some other code here
}
}
В результате я хотел бы получить что-то вроде:
serviceName = someInstance
methodName = someOtherMethod
arguments = {
argument = java.lang.String,
argument = boolean
}
result = java.lang.Long
Каков был бы самый быстрый способ достичь этого?Я думал об использовании парсера RegEx.Проблема в том, что существует несколько шаблонов, например,
a)
result = someInstance.someOtherMethod(getSomething(), param);
b)
result =
getSomeInstance().someOtherMethod(param);
c)
result = getSomeInstance()
.someOtherMethod(
getSomethingElse(), null, param);
. Любая помощь будет принята с благодарностью!Спасибо!