eclipse-archived/ceylon

Retrieving annotations from Constructor parameter causes ModelError

Opened this issue · 0 comments

import ceylon.test {
	test
}
shared class ConstructorTestClass{
	String param;
	shared new (String param){
		this.param = param;}
}

shared class AnnotationsFromConstructorParameter() {
	
	
	shared test void shouldGetAnnotationsFromConstructorParameter(){
		assert (exists constructor = `class ConstructorTestClass`.defaultConstructor);
		assert(exists param=constructor.parameterDeclarations.first);
		assert(param.annotations<Annotation>().empty);
	}
	
	
}
com.redhat.ceylon.compiler.java.runtime.metamodel.ModelError: Unsupported parameter container
	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.decl.ValueDeclarationImpl.$getJavaAnnotations$(ValueDeclarationImpl.java:324)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.isAnnotated(Metamodel.java:2006)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.decl.ValueDeclarationImpl.annotated(ValueDeclarationImpl.java:382)
	at test.herd.depin.engine.ceylon.AnnotationsFromConstructorParameter.shouldGetAnnotationsFromConstructorParameter(AnnotationsFromConstructorParameter.ceylon:16)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.meta.FunctionImpl.$call$(FunctionImpl.java:304)
	at com.redhat.ceylon.compiler.java.Util.apply(Util.java:1629)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.Metamodel.apply(Metamodel.java:1891)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.meta.FunctionImpl.apply(FunctionImpl.java:456)
	at com.redhat.ceylon.compiler.java.runtime.metamodel.decl.FunctionDeclarationImpl.memberInvoke(FunctionDeclarationImpl.java:321)
	at ceylon.test.engine.DefaultTestExecutor.invokeFunction$priv$(DefaultTestExecutor.ceylon:321)
	at ceylon.test.engine.DefaultTestExecutor.access$100(DefaultTestExecutor.ceylon:37)
	at ceylon.test.engine.DefaultTestExecutor$6.$call$(DefaultTestExecutor.ceylon:268)
	at ceylon.test.engine.DefaultTestExecutor$4.$call$(DefaultTestExecutor.ceylon:234)
	at ceylon.test.engine.DefaultTestExecutor$5.$call$(DefaultTestExecutor.ceylon:240)
	at ceylon.test.engine.DefaultTestExecutor$3.$call$(DefaultTestExecutor.ceylon:212)
	at ceylon.test.engine.DefaultTestExecutor.executeVariant$priv$(DefaultTestExecutor.ceylon:94)
	at ceylon.test.engine.DefaultTestExecutor.execute(DefaultTestExecutor.ceylon:57)
	at ceylon.test.engine.internal.GroupTestExecutor$2$1$1.$call$(executors.ceylon:34)
	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 com.redhat.ceylon.launcher.Launcher.main(Launcher.java:24)