Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.4.7, 2.5.x
-
None
-
Ubuntu 16.04
openjdk version "1.8.0_91"
Description
Test.groovy
import groovy.transform.CompileStatic @CompileStatic interface Handler<E> { void handle(E event) } @CompileStatic class Person { final String name // marking this method as 'protected' will fix the issue private Person(String name) { this.name = name } static void load(String name, Handler<Person> handler) { Thread.start { Person person = new Person(name) handler.handle(person) } } } Person.load('John') { Person p -> println p.name }
Error:
Test.groovy: 20: Cannot call private constructor for Person from class Person$_load_closure1 @ line 20, column 20.
Person person = new Person(name)
^1 error
Attachments
Issue Links
- is duplicated by
-
GROOVY-6468 Unable to call private method/constructor from static inner class with @CompileStatic
- Closed
- is related to
-
GROOVY-6468 Unable to call private method/constructor from static inner class with @CompileStatic
- Closed
- links to