in proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java [37:116]
public static int getWeavingJavaVersion() {
if (weavingJavaVersion == -1 ) {
//In order to avoid an inconsistent stack error the version of the woven byte code needs to match
//the level of byte codes in the original class
switch(JAVA_CLASS_VERSION) {
case Opcodes.V21:
LOGGER.debug("Weaving to Java 21");
weavingJavaVersion = Opcodes.V21;
break;
case Opcodes.V20:
LOGGER.debug("Weaving to Java 20");
weavingJavaVersion = Opcodes.V20;
break;
case Opcodes.V19:
LOGGER.debug("Weaving to Java 19");
weavingJavaVersion = Opcodes.V19;
break;
case Opcodes.V18:
LOGGER.debug("Weaving to Java 18");
weavingJavaVersion = Opcodes.V18;
break;
case Opcodes.V17:
LOGGER.debug("Weaving to Java 17");
weavingJavaVersion = Opcodes.V17;
break;
case Opcodes.V16:
LOGGER.debug("Weaving to Java 16");
weavingJavaVersion = Opcodes.V16;
break;
case Opcodes.V15:
LOGGER.debug("Weaving to Java 15");
weavingJavaVersion = Opcodes.V15;
break;
case Opcodes.V14:
LOGGER.debug("Weaving to Java 14");
weavingJavaVersion = Opcodes.V14;
break;
case Opcodes.V13:
LOGGER.debug("Weaving to Java 13");
weavingJavaVersion = Opcodes.V13;
break;
case Opcodes.V12:
LOGGER.debug("Weaving to Java 12");
weavingJavaVersion = Opcodes.V12;
break;
case Opcodes.V11:
LOGGER.debug("Weaving to Java 11");
weavingJavaVersion = Opcodes.V11;
break;
case Opcodes.V10:
LOGGER.debug("Weaving to Java 10");
weavingJavaVersion = Opcodes.V10;
break;
case Opcodes.V9:
LOGGER.debug("Weaving to Java 9");
weavingJavaVersion = Opcodes.V9;
break;
case Opcodes.V1_8:
LOGGER.debug("Weaving to Java 8");
weavingJavaVersion = Opcodes.V1_8;
break;
case Opcodes.V1_7:
LOGGER.debug("Weaving to Java 7");
weavingJavaVersion = Opcodes.V1_7;
break;
case Opcodes.V1_6:
LOGGER.debug("Weaving to Java 6");
weavingJavaVersion = Opcodes.V1_6;
break;
case Opcodes.V1_5:
LOGGER.debug("Weaving to Java 5");
weavingJavaVersion = Opcodes.V1_5;
break;
default:
//aries should work with Java 5 or above - also will highlight when a higher level (and unsupported) level of Java is released
throw new IllegalArgumentException("Invalid Java version " + JAVA_CLASS_VERSION);
}
}
return weavingJavaVersion;
}