`see` annotation on triple nested object singleton causes ModelError on test run
Opened this issue · 0 comments
Podmev commented
code sample:
import ceylon.test {
test,
assertEquals
}
shared object a{
shared object b{
shared object c{}
}
}
see(`value a.b.c`)
test
shared void myTest(){
assertEquals(1, 1);
}
ceylon test fails with stacktrace:
com.redhat.ceylon.compiler.java.runtime.metamodel.ModelError: While reflectively instantiating class ceylon.language.SeeAnnotation on element function test.sample16::myTest
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.newModelError(Metamodel.java:1934)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.addAnnotation(Metamodel.java:1160)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.addAnnotation(Metamodel.java:1143)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.annotations(Metamodel.java:1238)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.annotations(Metamodel.java:1224)
at com.redhat.ceylon.compiler.java.runtime.metamodel.decl.NestableDeclarationImpl.annotations(NestableDeclarationImpl.java:98)
at ceylon.test.engine.internal.findAnnotations_.findAnnotations(utils.ceylon:32)
at ceylon.test.engine.DefaultTestExecutor.evaluateTestConditions(DefaultTestExecutor.ceylon:197)
at ceylon.test.engine.DefaultTestExecutor.execute(DefaultTestExecutor.ceylon:46)
at ceylon.test.engine.DefaultTestRunner$9$1$1$1.$call$(DefaultTestRunner.ceylon:99)
at ceylon.test.engine.spi.TaskExecutor.executionLoop(TestExecutionContext.ceylon:127)
at ceylon.test.engine.spi.TaskExecutor.execute$canonical$(TestExecutionContext.ceylon:121)
at ceylon.test.engine.spi.TaskExecutor.execute(TestExecutionContext.ceylon:110)
at ceylon.test.engine.spi.TestExecutionContext.execute$canonical$(TestExecutionContext.ceylon:71)
at ceylon.test.engine.spi.TestExecutionContext.execute(TestExecutionContext.ceylon:70)
at ceylon.test.engine.DefaultTestRunner.runInternal$priv$(DefaultTestRunner.ceylon:94)
at ceylon.test.engine.DefaultTestRunner.run(DefaultTestRunner.ceylon:58)
at ceylon.test.engine.internal.Runner.runTests$priv$(Runner.ceylon:104)
at ceylon.test.engine.internal.Runner.run(Runner.ceylon:36)
at ceylon.test.runTestTool_.runTestTool(tool.ceylon:8)
at ceylon.test.runTestTool_.main(tool.ceylon)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at ceylon.modules.api.runtime.SecurityActions.invokeRunInternal(SecurityActions.java:57)
at ceylon.modules.api.runtime.SecurityActions.invokeRun(SecurityActions.java:48)
at ceylon.modules.api.runtime.AbstractRuntime.invokeRun(AbstractRuntime.java:68)
at ceylon.modules.api.runtime.AbstractRuntime.execute(AbstractRuntime.java:105)
at ceylon.modules.api.runtime.AbstractRuntime.execute(AbstractRuntime.java:101)
at ceylon.modules.Main.execute(Main.java:69)
at ceylon.modules.Main.main(Main.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.modules.Module.run(Module.java:308)
at org.jboss.modules.Main.main(Main.java:487)
at ceylon.modules.bootstrap.CeylonRunTool.run(CeylonRunTool.java:367)
at ceylon.modules.bootstrap.CeylonTestTool.run(CeylonTestTool.java:127)
at com.redhat.ceylon.common.tools.CeylonTool.run(CeylonTool.java:547)
at com.redhat.ceylon.common.tools.CeylonTool.execute(CeylonTool.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.redhat.ceylon.launcher.Launcher.runInJava7Checked(Launcher.java:108)
at com.redhat.ceylon.launcher.Launcher.run(Launcher.java:38)
at com.redhat.ceylon.launcher.Launcher.run(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.redhat.ceylon.launcher.Bootstrap.runVersion(Bootstrap.java:162)
at com.redhat.ceylon.launcher.Bootstrap.runInternal(Bootstrap.java:117)
at com.redhat.ceylon.launcher.Bootstrap.run(Bootstrap.java:93)
at com.redhat.ceylon.launcher.Bootstrap.main(Bootstrap.java:85)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.addAnnotation(Metamodel.java:1153)
... 55 more
Caused by: com.redhat.ceylon.compiler.java.runtime.metamodel.ModelError: Could not find type: b in a
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.newModelError(Metamodel.java:1934)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.newModelError(Metamodel.java:1929)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.metamodelNotFound(DeclarationParser.java:316)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.makeClassOrInterface(DeclarationParser.java:349)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.class_(DeclarationParser.java:273)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.type(DeclarationParser.java:246)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.declaration(DeclarationParser.java:185)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.tpOrMember(DeclarationParser.java:262)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.type(DeclarationParser.java:254)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.declaration(DeclarationParser.java:185)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.package_(DeclarationParser.java:177)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.module(DeclarationParser.java:110)
at com.redhat.ceylon.compiler.java.runtime.metamodel.DeclarationParser.ref(DeclarationParser.java:76)
at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.parseMetamodelReferences(Metamodel.java:1416)
at ceylon.language.SeeAnnotation.<init>(annotations.ceylon:306)