2013-09-18 3 views

ответ

1

Код в моем вопросе: Injecting code in an existing method using BCEL используется для редактирования статического массива. Однако я изменил его, чтобы изменить локальную переменную. Код для редактирования статической переменной было что-то вроде этого:

InstructionList il = new InstructionList(); 
InstructionFactory f = new InstructionFactory(constantPoolGen); 
il.append(f.createGetStatic("MyClassName","MyVariableName",Type.INT)); 
il.append(new PUSH(contantPoolGen, 2)); 
il.append(new ISTORE()); 

InstructionList я получил впрыскивается в методе, поэтому я не уверен, если это работает для вас ..

Смежные вопросы