#java #bytecode #bcel
#java #байт-код #bcel
Вопрос:
Я столкнулся с проблемой в контексте переноса целого числа в стек в BCEL. У меня есть метод _square некоторого класса, то есть «mathClass»
ilist = new InstructionList();
ilist.append(InstructionConstants.ALOAD_0);
ilist.append(new GETFIELD(findex));
//I am trying to push some value using createLoad but it is not working
ilist.append(InstructionConstants.ALOAD_1);
ilist.append(ifact.createInvoke("mathClass", _square, Type.INT,
new Type[] { Type.INT }, Constants.INVOKEVIRTUAL));
Спасибо
Ответ №1:
Я использую
new InstructionList.append(new PUSH(constantPool,23));
метод push используется для переноса данных примитивного типа в стек.