From 4123910d3df3e22d5398f361eea8676755652f4e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 12 Aug 2019 19:36:06 +0200 Subject: [PATCH] Upgrade to CGLIB 3.3 Closes gh-23453 --- spring-core/spring-core.gradle | 2 +- .../org/springframework/cglib/core/KeyFactory.java | 2 +- .../org/springframework/cglib/proxy/Enhancer.java | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/spring-core/spring-core.gradle b/spring-core/spring-core.gradle index c6f7cdbbefa..2d4abb9e7e5 100644 --- a/spring-core/spring-core.gradle +++ b/spring-core/spring-core.gradle @@ -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 { diff --git a/spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java b/spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java index 12705897d07..e1503b85c13 100644 --- a/spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java +++ b/spring-core/src/main/java/org/springframework/cglib/core/KeyFactory.java @@ -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, diff --git a/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java b/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java index fdca6b52d0b..ab748c01148 100644 --- a/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java +++ b/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java @@ -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 { 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 { 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 { 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 { 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 { 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 { } }); e.aconst_null(); - e.invoke_static(thisType, SET_THREAD_CALLBACKS); + e.invoke_static(thisType, SET_THREAD_CALLBACKS, false); e.return_value(); e.end_method(); }