case 3: // int, short, char, byte, boolean are all represented by Constant_INTEGER final int intVal = readInt(offset[cpIdx]); switch (fieldTypeDescriptorFirstChar) { case 'I': return Float.valueOf(Float.intBitsToFloat(readInt(offset[cpIdx]))); case 5: // long return Long.valueOf(readLong(offset[cpIdx]));
switch (tag) { case 'B': return Byte.valueOf((byte) readInt(offset[readUnsignedShort()])); case 'C': return Character.valueOf((char) readInt(offset[readUnsignedShort()])); case 'D': return Double.valueOf(Double.longBitsToDouble(readLong(offset[readUnsignedShort()]))); case 'F': return Float.valueOf(Float.intBitsToFloat(readInt(offset[readUnsignedShort()]))); case 'I': return Integer.valueOf(readInt(offset[readUnsignedShort()])); case 'J': return Long.valueOf(readLong(offset[readUnsignedShort()])); case 'S': return Short.valueOf((short) readInt(offset[readUnsignedShort()])); case 'Z': return Boolean.valueOf(readInt(offset[readUnsignedShort()]) != 0); case 's': return getConstantPoolString(readUnsignedShort());
if (readInt() != 0xCAFEBABE) { throw new IOException("Classfile " + relativePath + " does not have correct classfile magic number"); for (int j = 0; j < attributesCount; j++) { final int attributeLength = readInt(); // == 2 skip(attributeLength); for (int j = 0; j < attributesCount; j++) { final int attributeNameCpIdx = readUnsignedShort(); final int attributeLength = readInt(); // == 2 final int attributeLength = readInt(); skip(attributeLength); final int attributeLength = readInt(); if (constantPoolStringEquals(attributeNameCpIdx, "RuntimeVisibleAnnotations") || (scanSpec.annotationVisibility == RetentionPolicy.CLASS && constantPoolStringEquals( for (int i = 0; i < attributesCount; i++) { final int attributeNameCpIdx = readUnsignedShort(); final int attributeLength = readInt(); if (constantPoolStringEquals(attributeNameCpIdx, "RuntimeVisibleAnnotations") || (scanSpec.annotationVisibility == RetentionPolicy.CLASS