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) {
