[ 
https://issues.apache.org/jira/browse/GROOVY-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650719#comment-16650719
 ] 

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_r225298000
  
    --- 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);
    +            } catch (final NoSuchMethodException e) { // java 8
    +                try {
    +                    lookup = 
MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, Integer.TYPE);
    +                    if (!lookup.isAccessible()) {
    --- End diff --
    
    we can actually not rely on this being accessible... I am missing the 
IllegalAccessException and InaccessibleObjectException handling 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)

Reply via email to