本文整理汇总了Java中com.sun.org.apache.bcel.internal.Constants.ILOAD属性的典型用法代码示例。如果您正苦于以下问题:Java Constants.ILOAD属性的具体用法?Java Constants.ILOAD怎么用?Java Constants.ILOAD使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类com.sun.org.apache.bcel.internal.Constants
的用法示例。
在下文中一共展示了Constants.ILOAD属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initFromFile
/**
* Read needed data (e.g. index) from file.
* PRE: (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
*/
protected void initFromFile(ByteSequence bytes, boolean wide)
throws IOException
{
if(wide) {
n = bytes.readUnsignedShort();
length = 4;
} else if(((opcode >= Constants.ILOAD) &&
(opcode <= Constants.ALOAD)) ||
((opcode >= Constants.ISTORE) &&
(opcode <= Constants.ASTORE))) {
n = bytes.readUnsignedByte();
length = 2;
} else if(opcode <= Constants.ALOAD_3) { // compact load instruction such as ILOAD_2
n = (opcode - Constants.ILOAD_0) % 4;
length = 1;
} else { // Assert ISTORE_0 <= tag <= ASTORE_3
n = (opcode - Constants.ISTORE_0) % 4;
length = 1;
}
}
示例2: getType
/**
* Returns the type associated with the instruction -
* in case of ALOAD or ASTORE Type.OBJECT is returned.
* This is just a bit incorrect, because ALOAD and ASTORE
* may work on every ReferenceType (including Type.NULL) and
* ASTORE may even work on a ReturnaddressType .
* @return type associated with the instruction
*/
public Type getType(ConstantPoolGen cp) {
switch(canon_tag) {
case Constants.ILOAD: case Constants.ISTORE:
return Type.INT;
case Constants.LLOAD: case Constants.LSTORE:
return Type.LONG;
case Constants.DLOAD: case Constants.DSTORE:
return Type.DOUBLE;
case Constants.FLOAD: case Constants.FSTORE:
return Type.FLOAT;
case Constants.ALOAD: case Constants.ASTORE:
return Type.OBJECT;
default: throw new ClassGenException("Oops: unknown case in switch" + canon_tag);
}
}