Lines 832-849
Link Here
|
832 |
} |
832 |
} |
833 |
} |
833 |
} |
834 |
public static long versionToJdkLevel(Object versionID) { |
834 |
public static long versionToJdkLevel(Object versionID) { |
835 |
if (VERSION_1_1.equals(versionID)) { |
835 |
if (versionID instanceof String) { |
836 |
return ClassFileConstants.JDK1_1; |
836 |
String version = (String) versionID; |
837 |
} else if (VERSION_1_2.equals(versionID)) { |
837 |
// verification is optimized using the fact that all versions have same length and start with "1." |
838 |
return ClassFileConstants.JDK1_2; |
838 |
if (version.length() == 3 && version.charAt(0) == '1' && version.charAt(1) == '.') { |
839 |
} else if (VERSION_1_3.equals(versionID)) { |
839 |
switch (version.charAt(2)) { |
840 |
return ClassFileConstants.JDK1_3; |
840 |
case '1': |
841 |
} else if (VERSION_1_4.equals(versionID) || VERSION_JSR14.equals(versionID)) { |
841 |
return ClassFileConstants.JDK1_1; |
842 |
return ClassFileConstants.JDK1_4; |
842 |
case '2': |
843 |
} else if (VERSION_1_5.equals(versionID)) { |
843 |
return ClassFileConstants.JDK1_2; |
844 |
return ClassFileConstants.JDK1_5; |
844 |
case '3': |
845 |
} else if (VERSION_1_6.equals(versionID)) { |
845 |
return ClassFileConstants.JDK1_3; |
846 |
return ClassFileConstants.JDK1_6; |
846 |
case '4': |
|
|
847 |
return ClassFileConstants.JDK1_4; |
848 |
case '5': |
849 |
return ClassFileConstants.JDK1_5; |
850 |
case '6': |
851 |
return ClassFileConstants.JDK1_6; |
852 |
default: |
853 |
return 0; // unknown |
854 |
} |
855 |
} |
856 |
if (VERSION_JSR14.equals(versionID)) { |
857 |
return ClassFileConstants.JDK1_4; |
858 |
} |
847 |
} |
859 |
} |
848 |
return 0; // unknown |
860 |
return 0; // unknown |
849 |
} |
861 |
} |