Как поместить целое число в стек в BCEL

#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 используется для переноса данных примитивного типа в стек.