[ https://issues.apache.org/jira/browse/GROOVY-8339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817072#comment-16817072 ]
Jochen Theodorou commented on GROOVY-8339: ------------------------------------------ For ②... that is not so easy... I guess when we copy the methods from the parent to the child in the meta class system for public access, we should not only consider private vs public, but also the visibility of the class itself.... in that if we "override" the method we should skip the override if the original method has better accessibility. Of course the real implementation would still be called (by callsite caching, reflection and invokedynamic) because the method call would be still virtual. > Fix warning "An illegal reflective access operation has occurred" > ----------------------------------------------------------------- > > Key: GROOVY-8339 > URL: https://issues.apache.org/jira/browse/GROOVY-8339 > Project: Groovy > Issue Type: Improvement > Components: groovy-jdk > Affects Versions: 2.4.11, 2.4.15 > Environment: >gradle --version > Gradle 4.2 > Build time: 2017-09-20 14:48:23 UTC > Revision: 5ba503cc17748671c83ce35d7da1cffd6e24dfbd > Groovy: 2.4.11 > Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 > JVM: 9 (Oracle Corporation 9+181) > OS: Windows 10 10.0 amd64 > Reporter: Benjamin Roedell > Priority: Major > Labels: security > Time Spent: 20m > Remaining Estimate: 0h > > I'm running JDK-9 on Windows 10 with Gradle 4.2. > My global gradle.properties file contains the following line: > org.gradle.java.home=C:/Program Files/Java/jdk-9 > When I request the gradle version (gradle --version) I get the following > warning: > {code:none} > WARNING: An illegal reflective access operation has occurred > WARNING: Illegal reflective access by > org.codehaus.groovy.reflection.CachedClass > (file:/C:/Program%20Files/gradle-4.2/lib/groovy-all-2.4.11.jar) to method > java.lang.Object.finalize() > WARNING: Please consider reporting this to the maintainers of > org.codehaus.groovy.reflection.CachedClass > WARNING: Use --illegal-access=warn to enable warnings of further illegal > reflective access operations > WARNING: All illegal access operations will be denied in a future release > {code} > This warning displayed regardless of whether I'm using a regular command > prompt or an elevated rights (Administrator) command prompt. > Here's the full command and output: > {code:none} > gradle --version > WARNING: An illegal reflective access operation has occurred > WARNING: Illegal reflective access by > org.codehaus.groovy.reflection.CachedClass > (file:/C:/Program%20Files/gradle-4.2/lib/groovy-all-2.4.11.jar) to method > java.lang.Object.finalize() > WARNING: Please consider reporting this to the maintainers of > org.codehaus.groovy.reflection.CachedClass > WARNING: Use --illegal-access=warn to enable warnings of further illegal > reflective access operations > WARNING: All illegal access operations will be denied in a future release > ------------------------------------------------------------ > Gradle 4.2 > ------------------------------------------------------------ > Build time: 2017-09-20 14:48:23 UTC > Revision: 5ba503cc17748671c83ce35d7da1cffd6e24dfbd > Groovy: 2.4.11 > Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 > JVM: 9 (Oracle Corporation 9+181) > OS: Windows 10 10.0 amd64 > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)