Upgrade to CGLIB 3.3
Closes gh-23453
This commit is contained in:
@@ -10,7 +10,7 @@ dependencyManagement {
|
|||||||
// spring-core includes asm and repackages cglib, inlining both into the spring-core jar.
|
// 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
|
// 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.
|
// 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"
|
def objenesisVersion = "3.0.1"
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ abstract public class KeyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Type[] parameterTypes = TypeUtils.getTypes(newInstance.getParameterTypes());
|
Type[] parameterTypes = TypeUtils.getTypes(newInstance.getParameterTypes());
|
||||||
ce.begin_class(Constants.V1_2,
|
ce.begin_class(Constants.V1_8,
|
||||||
Constants.ACC_PUBLIC,
|
Constants.ACC_PUBLIC,
|
||||||
getClassName(),
|
getClassName(),
|
||||||
KEY_FACTORY,
|
KEY_FACTORY,
|
||||||
|
|||||||
@@ -683,7 +683,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
|
|
||||||
ClassEmitter e = new ClassEmitter(v);
|
ClassEmitter e = new ClassEmitter(v);
|
||||||
if (currentData == null) {
|
if (currentData == null) {
|
||||||
e.begin_class(Constants.V1_2,
|
e.begin_class(Constants.V1_8,
|
||||||
Constants.ACC_PUBLIC,
|
Constants.ACC_PUBLIC,
|
||||||
getClassName(),
|
getClassName(),
|
||||||
Type.getType(sc),
|
Type.getType(sc),
|
||||||
@@ -693,7 +693,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
Constants.SOURCE_FILE);
|
Constants.SOURCE_FILE);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
e.begin_class(Constants.V1_2,
|
e.begin_class(Constants.V1_8,
|
||||||
Constants.ACC_PUBLIC,
|
Constants.ACC_PUBLIC,
|
||||||
getClassName(),
|
getClassName(),
|
||||||
null,
|
null,
|
||||||
@@ -1118,7 +1118,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, NEW_INSTANCE, null);
|
CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, NEW_INSTANCE, null);
|
||||||
Type thisType = getThisType(e);
|
Type thisType = getThisType(e);
|
||||||
e.load_arg(0);
|
e.load_arg(0);
|
||||||
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
|
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
|
||||||
emitCommonNewInstance(e);
|
emitCommonNewInstance(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1137,7 +1137,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
e.dup();
|
e.dup();
|
||||||
e.invoke_constructor(thisType);
|
e.invoke_constructor(thisType);
|
||||||
e.aconst_null();
|
e.aconst_null();
|
||||||
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
|
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
|
||||||
e.return_value();
|
e.return_value();
|
||||||
e.end_method();
|
e.end_method();
|
||||||
}
|
}
|
||||||
@@ -1156,7 +1156,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
e.push(0);
|
e.push(0);
|
||||||
e.load_arg(0);
|
e.load_arg(0);
|
||||||
e.aastore();
|
e.aastore();
|
||||||
e.invoke_static(getThisType(e), SET_THREAD_CALLBACKS);
|
e.invoke_static(getThisType(e), SET_THREAD_CALLBACKS, false);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
e.throw_exception(ILLEGAL_STATE_EXCEPTION, "More than one callback object required");
|
e.throw_exception(ILLEGAL_STATE_EXCEPTION, "More than one callback object required");
|
||||||
@@ -1168,7 +1168,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null);
|
final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null);
|
||||||
final Type thisType = getThisType(e);
|
final Type thisType = getThisType(e);
|
||||||
e.load_arg(2);
|
e.load_arg(2);
|
||||||
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
|
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
|
||||||
e.new_instance(thisType);
|
e.new_instance(thisType);
|
||||||
e.dup();
|
e.dup();
|
||||||
e.load_arg(0);
|
e.load_arg(0);
|
||||||
@@ -1191,7 +1191,7 @@ public class Enhancer extends AbstractClassGenerator {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
e.aconst_null();
|
e.aconst_null();
|
||||||
e.invoke_static(thisType, SET_THREAD_CALLBACKS);
|
e.invoke_static(thisType, SET_THREAD_CALLBACKS, false);
|
||||||
e.return_value();
|
e.return_value();
|
||||||
e.end_method();
|
e.end_method();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user