/** * Checks whether the given class version number is supported. * @param classVersion the combined class version number. * @throws UnsupportedOperationException when the version is not supported. */ public static void checkVersionNumbers(int classVersion) throws UnsupportedOperationException { if (classVersion < ClassConstants.INTERNAL_CLASS_VERSION_1_0 || classVersion > ClassConstants.INTERNAL_CLASS_VERSION_1_6) { throw new UnsupportedOperationException("Unsupported version number ["+ internalMajorClassVersion(classVersion)+"."+ internalMinorClassVersion(classVersion)+"] for class format"); } }
/** * Checks whether the given class version number is supported. * @param internalClassVersion the combined class version number. * @throws UnsupportedOperationException when the version is not supported. */ public static void checkVersionNumbers(int internalClassVersion) throws UnsupportedOperationException { if (internalClassVersion < ClassConstants.CLASS_VERSION_1_0 || internalClassVersion > ClassConstants.CLASS_VERSION_10) { throw new UnsupportedOperationException("Unsupported version number ["+ internalMajorClassVersion(internalClassVersion)+"."+ internalMinorClassVersion(internalClassVersion)+"] (maximum "+ ClassConstants.CLASS_VERSION_10_MAJOR+"."+ ClassConstants.CLASS_VERSION_10_MINOR+", Java "+ JavaConstants.CLASS_VERSION_10+")"); } }
/** * Checks whether the given class version number is supported. * @param internalClassVersion the combined class version number. * @throws UnsupportedOperationException when the version is not supported. */ public static void checkVersionNumbers(int internalClassVersion) throws UnsupportedOperationException { if (internalClassVersion < ClassConstants.CLASS_VERSION_1_0 || internalClassVersion > ClassConstants.CLASS_VERSION_10) { throw new UnsupportedOperationException("Unsupported version number ["+ internalMajorClassVersion(internalClassVersion)+"."+ internalMinorClassVersion(internalClassVersion)+"] (maximum "+ ClassConstants.CLASS_VERSION_10_MAJOR+"."+ ClassConstants.CLASS_VERSION_10_MINOR+", Java "+ JavaConstants.CLASS_VERSION_10+")"); } }
/** * Checks whether the given class version number is supported. * @param internalClassVersion the combined class version number. * @throws UnsupportedOperationException when the version is not supported. */ public static void checkVersionNumbers(int internalClassVersion) throws UnsupportedOperationException { if (internalClassVersion < ClassConstants.CLASS_VERSION_1_0 || internalClassVersion > ClassConstants.CLASS_VERSION_10) { throw new UnsupportedOperationException("Unsupported version number ["+ internalMajorClassVersion(internalClassVersion)+"."+ internalMinorClassVersion(internalClassVersion)+"] (maximum "+ ClassConstants.CLASS_VERSION_10_MAJOR+"."+ ClassConstants.CLASS_VERSION_10_MINOR+", Java "+ JavaConstants.CLASS_VERSION_10+")"); } }
dataOutput.writeShort(ClassUtil.internalMajorClassVersion(programClass.u4version));
public void visitProgramClass(ProgramClass programClass) { // Write the magic number. dataOutput.writeInt(programClass.u4magic); // Write the version numbers. dataOutput.writeShort(ClassUtil.internalMinorClassVersion(programClass.u4version)); dataOutput.writeShort(ClassUtil.internalMajorClassVersion(programClass.u4version)); // Write the constant pool. dataOutput.writeShort(programClass.u2constantPoolCount); programClass.constantPoolEntriesAccept(this); // Write the general class information. dataOutput.writeShort(programClass.u2accessFlags); dataOutput.writeShort(programClass.u2thisClass); dataOutput.writeShort(programClass.u2superClass); // Write the interfaces. dataOutput.writeShort(programClass.u2interfacesCount); for (int index = 0; index < programClass.u2interfacesCount; index++) { dataOutput.writeShort(programClass.u2interfaces[index]); } // Write the fields. dataOutput.writeShort(programClass.u2fieldsCount); programClass.fieldsAccept(this); // Write the methods. dataOutput.writeShort(programClass.u2methodsCount); programClass.methodsAccept(this); // Write the class attributes. dataOutput.writeShort(programClass.u2attributesCount); programClass.attributesAccept(this); }
dataOutput.writeShort(ClassUtil.internalMajorClassVersion(programClass.u4version));
dataOutput.writeShort(ClassUtil.internalMajorClassVersion(programClass.u4version));
indent(); println("Superclass: " + programClass.getSuperName()); println("Major version: 0x" + Integer.toHexString(ClassUtil.internalMajorClassVersion(programClass.u4version))); println("Minor version: 0x" + Integer.toHexString(ClassUtil.internalMinorClassVersion(programClass.u4version))); println("Access flags: 0x" + Integer.toHexString(programClass.u2accessFlags));
indent(); println("Superclass: " + programClass.getSuperName()); println("Major version: 0x" + Integer.toHexString(ClassUtil.internalMajorClassVersion(programClass.u4version))); println("Minor version: 0x" + Integer.toHexString(ClassUtil.internalMinorClassVersion(programClass.u4version))); println(" = target " + ClassUtil.externalClassVersion(programClass.u4version));
indent(); println("Superclass: " + programClass.getSuperName()); println("Major version: 0x" + Integer.toHexString(ClassUtil.internalMajorClassVersion(programClass.u4version))); println("Minor version: 0x" + Integer.toHexString(ClassUtil.internalMinorClassVersion(programClass.u4version))); println(" = target " + ClassUtil.externalClassVersion(programClass.u4version));
indent(); println("Superclass: " + programClass.getSuperName()); println("Major version: 0x" + Integer.toHexString(ClassUtil.internalMajorClassVersion(programClass.u4version))); println("Minor version: 0x" + Integer.toHexString(ClassUtil.internalMinorClassVersion(programClass.u4version))); println(" = target " + ClassUtil.externalClassVersion(programClass.u4version));