Browse Source

Upgrade to CGLIB 3.3

Closes gh-23453
pull/23454/head
Juergen Hoeller 7 years ago
parent
commit
4123910d3d
  1. 2
      spring-core/spring-core.gradle
  2. 2
      spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java
  3. 14
      spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java

2
spring-core/spring-core.gradle

@ -10,7 +10,7 @@ dependencyManagement { @@ -10,7 +10,7 @@ dependencyManagement {
// spring-core includes asm and repackages cglib, inlining both into the spring-core jar.
// cglib itself depends on asm and is therefore further transformed by the JarJar task to
// depend on org.springframework.asm; this avoids including two different copies of asm.
def cglibVersion = "3.2.11"
def cglibVersion = "3.3.0"
def objenesisVersion = "3.0.1"
configurations {

2
spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java

@ -262,7 +262,7 @@ abstract public class KeyFactory { @@ -262,7 +262,7 @@ abstract public class KeyFactory {
}
Type[] parameterTypes = TypeUtils.getTypes(newInstance.getParameterTypes());
ce.begin_class(Constants.V1_2,
ce.begin_class(Constants.V1_8,
Constants.ACC_PUBLIC,
getClassName(),
KEY_FACTORY,

14
spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java

@ -683,7 +683,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -683,7 +683,7 @@ public class Enhancer extends AbstractClassGenerator {
ClassEmitter e = new ClassEmitter(v);
if (currentData == null) {
e.begin_class(Constants.V1_2,
e.begin_class(Constants.V1_8,
Constants.ACC_PUBLIC,
getClassName(),
Type.getType(sc),
@ -693,7 +693,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -693,7 +693,7 @@ public class Enhancer extends AbstractClassGenerator {
Constants.SOURCE_FILE);
}
else {
e.begin_class(Constants.V1_2,
e.begin_class(Constants.V1_8,
Constants.ACC_PUBLIC,
getClassName(),
null,
@ -1118,7 +1118,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -1118,7 +1118,7 @@ public class Enhancer extends AbstractClassGenerator {
CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, NEW_INSTANCE, null);
Type thisType = getThisType(e);
e.load_arg(0);
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
emitCommonNewInstance(e);
}
@ -1137,7 +1137,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -1137,7 +1137,7 @@ public class Enhancer extends AbstractClassGenerator {
e.dup();
e.invoke_constructor(thisType);
e.aconst_null();
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
e.return_value();
e.end_method();
}
@ -1156,7 +1156,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -1156,7 +1156,7 @@ public class Enhancer extends AbstractClassGenerator {
e.push(0);
e.load_arg(0);
e.aastore();
e.invoke_static(getThisType(e), SET_THREAD_CALLBACKS);
e.invoke_static(getThisType(e), SET_THREAD_CALLBACKS, false);
break;
default:
e.throw_exception(ILLEGAL_STATE_EXCEPTION, "More than one callback object required");
@ -1168,7 +1168,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -1168,7 +1168,7 @@ public class Enhancer extends AbstractClassGenerator {
final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null);
final Type thisType = getThisType(e);
e.load_arg(2);
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
e.new_instance(thisType);
e.dup();
e.load_arg(0);
@ -1191,7 +1191,7 @@ public class Enhancer extends AbstractClassGenerator { @@ -1191,7 +1191,7 @@ public class Enhancer extends AbstractClassGenerator {
}
});
e.aconst_null();
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
e.return_value();
e.end_method();
}

Loading…
Cancel
Save