This is an automated email from the ASF dual-hosted git repository.

struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openjpa.git

commit b04c985956815dc3c50d2593c075197a6120ee73
Author: Mark Struberg <strub...@apache.org>
AuthorDate: Wed Jul 19 18:55:53 2023 +0200

    OPENJPA-2911 code cleanup for InterfaceImplGenerator
---
 .../java/org/apache/openjpa/meta/InterfaceImplGenerator.java     | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java
index 9f25319f6..78c059f36 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java
@@ -81,16 +81,13 @@ class InterfaceImplGenerator {
         // distinct temp project / loader for enhancing
         EnhancementProject _enhProject = new EnhancementProject();
 
-        ClassLoader parentLoader = AccessController.doPrivileged(
-            J2DoPrivHelper.getClassLoaderAction(iface));
+        ClassLoader parentLoader = 
AccessController.doPrivileged(J2DoPrivHelper.getClassLoaderAction(iface));
         EnhancementClassLoader loader = new EnhancementClassLoader(_project, 
parentLoader);
-        EnhancementClassLoader enhLoader = new 
EnhancementClassLoader(_enhProject, parentLoader);
         ClassNodeTracker bc = _project.loadClass(getClassName(meta), loader);
         bc.declareInterface(iface);
         ClassMetaData sup = meta.getPCSuperclassMetaData();
         if (sup != null) {
             bc.getClassNode().superName = 
Type.getInternalName(sup.getInterfaceImpl());
-            enhLoader = new EnhancementClassLoader(_enhProject, 
sup.getInterfaceImpl().getClassLoader());
         }
 
         FieldMetaData[] fields = meta.getDeclaredFields();
@@ -123,7 +120,9 @@ class InterfaceImplGenerator {
             EnhancementProject finalProject = new EnhancementProject();
             EnhancementClassLoader finalLoader = new 
EnhancementClassLoader(finalProject, parentLoader);
             final byte[] classBytes2 = 
AsmHelper.toByteArray(enhancer.getPCBytecode());
-            ClassNodeTracker bcEnh2 = finalProject.loadClass(classBytes2, 
finalLoader);
+
+            // this is just to make the ClassLoader aware of the bytecode for 
the enhanced class
+            finalProject.loadClass(classBytes2, finalLoader);
 
             String pcClassName = 
enhancer.getPCBytecode().getClassNode().name.replace("/", ".");
             impl = Class.forName(pcClassName, true, finalLoader);

Reply via email to