Я пытаюсь захватить значения переменных, участвующих в условном выражении ветвления и цикла отчетности, например:Javassist захватить локальные значения переменных для конкретных утверждений
if (a + b < c - 5) { // here, capture value of a, b and c
// if body
}
for (int i = 0; i/x < 4 ; i++){ // here, capture value of i and x on exit of loop
// for body
}
ли Javassist обеспечить ExpressionEditor для если, переключатель, для и в то время как такие утверждения, как это делают для FieldAccess, MethodCall, Handler и т. д.?
Есть ли другой подход к этой проблеме? (Мне интересно это делать во время выполнения)
Javassist does - кроме предлагаемого - позволяет выполнять итерацию по всем инструкциям по коду. Из работы с Javassist и ASM я, тем не менее, предлагаю вам заглянуть в ASM, который лучше подходит для этих форм преобразований. –