Java Code Examples for org.apache.bcel.Constants#ICONST_0

The following examples show how to use org.apache.bcel.Constants#ICONST_0 . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PUSH.java    From ApkToolPlus with Apache License 2.0 5 votes vote down vote up
/**
 * This constructor also applies for values of type short, char, byte 
 *
 * @param cp Constant pool
 * @param value to be pushed 
 */
public PUSH(ConstantPoolGen cp, int value) {
  if((value >= -1) && (value <= 5)) // Use ICONST_n
    instruction = INSTRUCTIONS[Constants.ICONST_0 + value];
  else if((value >= -128) && (value <= 127)) // Use BIPUSH
    instruction = new BIPUSH((byte)value);
  else if((value >= -32768) && (value <= 32767)) // Use SIPUSH
    instruction = new SIPUSH((short)value);
  else // If everything fails create a Constant pool entry
    instruction = new LDC(cp.addInteger(value));
}
 
Example 2
Source File: PUSH.java    From ApkToolPlus with Apache License 2.0 2 votes vote down vote up
/**
 * @param cp Constant pool
 * @param value to be pushed 
 */
public PUSH(ConstantPoolGen cp, boolean value) {
  instruction = INSTRUCTIONS[Constants.ICONST_0 + (value? 1 : 0)];
}