В Java, как я могу получить поля, которые используются в методе?Java: поля списка, используемые в методе
В основном, это те же вопросы, что и this one in .NET. Я не хочу перечислять поля из класса, но перечислять поля, которые используются в данном методе класса.
Пример:
public class A {
int a;
int b;
public int bob(){
return a-b;
}
Я хочу, чтобы получить такие поля, как это:
Fields[] fields = FieldReader.(A.class.getMethod("bob"));
Так что fields[0]=A.a
и fields[1]=A.b
я не нашел решение с использованием стандартного отражения. Как вы думаете, что можно использовать библиотеку манипуляции с байт-кодом, например ASM?
Не могли бы вы немного объяснить, почему вы хотите это сделать? Скорее всего, это будет более простой способ, если вы сможете объяснить контекст. – sprinter
Это для исследовательской цели, мне нужно указать поля, используемые в компараторе. – Julien
Вы можете использовать http://asm.ow2.org/asm50/javadoc/user/org/objectweb/asm/MethodVisitor.html, более конкретный метод 'visitFieldInst'. Посмотрите на руководство ASM, это хорошая отправная точка. – Grzesuav