[ https://issues.apache.org/jira/browse/GROOVY-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650718#comment-16650718 ]
ASF GitHub Bot commented on GROOVY-8843: ---------------------------------------- Github user blackdrag commented on a diff in the pull request: https://github.com/apache/groovy/pull/811#discussion_r225293219 --- Diff: src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java --- @@ -18,14 +18,78 @@ */ package org.codehaus.groovy.vmplugin.v9; +import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.vmplugin.v8.Java8; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** - * Java 9 based functions will be added here if needed. + * Additional Java 9 based functions will be added here as needed. */ public class Java9 extends Java8 { + + private static class LookupHolder { + private static final Method PRIVATE_LOOKUP; + private static final Constructor<MethodHandles.Lookup> LOOKUP_Constructor; + static { + Constructor<MethodHandles.Lookup> lookup = null; + Method privateLookup = null; + try { // java 9 + privateLookup = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class); --- End diff -- why do we do a reflective lookup here for a method that is public static? This is already the Java 9 module, so pre Java 9 code is of no concern... especially the NoSuchMethodException is supposed to never happen here > Fix illegal reflective access within o.c.g.vmplugin.v7.Java7 > ------------------------------------------------------------ > > Key: GROOVY-8843 > URL: https://issues.apache.org/jira/browse/GROOVY-8843 > Project: Groovy > Issue Type: Sub-task > Reporter: Paul King > Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)