[ https://issues.apache.org/jira/browse/GROOVY-11301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17820062#comment-17820062 ]
Eric Milles commented on GROOVY-11301: -------------------------------------- So what are the steps to recreate? > References to inaccesible methods with static compilation leads to runtime > error > -------------------------------------------------------------------------------- > > Key: GROOVY-11301 > URL: https://issues.apache.org/jira/browse/GROOVY-11301 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Reporter: Thodoris Sotiropoulos > Priority: Minor > Attachments: Test$A.class, Test.class > > > I have the following ill-typed program > {code} > import java.util.function.Supplier; > public class Test { > static class A { > private static String m() { return null; } > } > public static void main(String[] args) { > Supplier<String> x = A::m; > } > } > {code} > h3. Actual behaviour > The compiler accepts the program, but I receive the following runtime error, > because I access a private method. > {code} > Exception in thread "main" java.lang.IllegalAccessError: class Test tried to > access private method 'java.lang.String Test$A.m()' (Test and Test$A are in > unnamed module of loader 'app') > at Test.main(groovy51.groovy:9) > {code} > h3. Expected behavior > The program should have been rejected by the compiler. > Tested against master (commit: 191231a832efd2e2fc49391c01f8d176944d68e3) -- This message was sent by Atlassian Jira (v8.20.10#820010)