Groovy devs, I am looking into these issues: https://github.com/groovy/groovy-eclipse/issues/714 https://github.com/grails/grails-testing-support/issues/31
When grails.testing.services.ServiceUnitTest is compiled, it produces the following class files in the build directory: - ServiceUnitTest.class - ServiceUnitTest$Trait$FieldHelper.class - ServiceUnitTest$Trait$Helper.class - ServiceUnitTest$Trait$Helper$_mockArtefact_closure1.class - ServiceUnitTest$Trait$Helper$_mockArtefact_closure1$_closure2.class However, the javap output of the class tells a different story with regards to inner types: SourceFile: "ServiceUnitTest.groovy" InnerClasses: public static abstract #19= #18 of #2; //Helper=class grails/testing/services/ServiceUnitTest$Trait$Helper of class grails/testing/services/ServiceUnitTest public static #22= #21 of #2; //FieldHelper=class grails/testing/services/ServiceUnitTest$Trait$FieldHelper of class grails/testing/services/ServiceUnitTest static #25= #24 of #2; //1=class grails/testing/services/ServiceUnitTest$Trait$FieldHelper$1 of class grails/testing/services/ServiceUnitTest It is this last type -- ServiceUnitTest$Trait$FieldHelper$1 -- that cannot be resolved. Can someone familiar with traits compilation say if this class belongs in the bytecode and therefore should also be one of the output class files? Or if this is an errant entry in the class file? When the Compiler/IDE tries to resolve the type, it of course gets an error since it is missing. Eric M.