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

sunlan pushed a commit to branch danielsun/tweak-vmplugin
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit d32b4236099d82be575cbe48964ce35ca2d4e535
Author: Daniel Sun <[email protected]>
AuthorDate: Sun Jul 19 18:58:56 2020 +0800

    Try to fix the failing build on JDK14
---
 src/main/java/org/codehaus/groovy/vmplugin/v8/Java8.java | 8 ++++++--
 src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java | 9 +++++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v8/Java8.java 
b/src/main/java/org/codehaus/groovy/vmplugin/v8/Java8.java
index bf865da..dd13d9a 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v8/Java8.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v8/Java8.java
@@ -141,7 +141,11 @@ public class Java8 implements VMPlugin {
         mn.setAnnotationDefault(true);
     }
 
-    private static Constructor<MethodHandles.Lookup> getLookupConstructor() {
+    protected Constructor<MethodHandles.Lookup> getLookupConstructor() {
+        return getLookupConstructorOfJava8();
+    }
+
+    private static Constructor<MethodHandles.Lookup> 
getLookupConstructorOfJava8() {
         return LookupHolder.LOOKUP_Constructor;
     }
 
@@ -652,7 +656,7 @@ public class Java8 implements VMPlugin {
 
     public static MethodHandles.Lookup of(final Class<?> declaringClass) {
         try {
-            return getLookupConstructor().newInstance(declaringClass, 
MethodHandles.Lookup.PRIVATE).in(declaringClass);
+            return getLookupConstructorOfJava8().newInstance(declaringClass, 
MethodHandles.Lookup.PRIVATE).in(declaringClass);
         } catch (final IllegalAccessException | InstantiationException e) {
             throw new IllegalArgumentException(e);
         } catch (final InvocationTargetException e) {
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java 
b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
index a004a67..1761fb8 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
@@ -156,7 +156,12 @@ public class Java9 extends Java8 {
         }
     }
 
-    private static Constructor<MethodHandles.Lookup> getLookupConstructor() {
+    @Override
+    protected Constructor<MethodHandles.Lookup> getLookupConstructor() {
+        return getLookupConstructorOfJava9();
+    }
+
+    private static Constructor<MethodHandles.Lookup> 
getLookupConstructorOfJava9() {
         return LookupHolder.LOOKUP_Constructor;
     }
 
@@ -170,7 +175,7 @@ public class Java9 extends Java8 {
             if (privateLookup != null) {
                 return (MethodHandles.Lookup) privateLookup.invoke(null, 
declaringClass, MethodHandles.lookup());
             }
-            return getLookupConstructor().newInstance(declaringClass, 
MethodHandles.Lookup.PRIVATE).in(declaringClass);
+            return getLookupConstructorOfJava9().newInstance(declaringClass, 
MethodHandles.Lookup.PRIVATE).in(declaringClass);
         } catch (final IllegalAccessException | InstantiationException e) {
             throw new IllegalArgumentException(e);
         } catch (final InvocationTargetException e) {

Reply via email to