ceylon / ceylon-compiler

DEPRECATED
GNU General Public License v2.0
138 stars 36 forks source link

IOOBE instantiating Tuple with metamodel #2391

Closed jvasileff closed 8 years ago

jvasileff commented 8 years ago

Code similar to this used to work:

shared void run() {
    value tuple = `class Tuple`.instantiate {
        typeArguments = [`String`, `String`, `[]`];
        arguments = ["head", []];
    };
}
ceylon run: Index: 2, Size: 2
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
    at java.util.ArrayList.rangeCheck(ArrayList.java:635)
    at java.util.ArrayList.get(ArrayList.java:411)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.MethodHandleUtil.unboxArguments(MethodHandleUtil.java:94)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.MethodHandleUtil.unboxArguments(MethodHandleUtil.java:81)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.ConstructorDispatch.reflectionToMethodHandle(ConstructorDispatch.java:597)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.ConstructorDispatch.<init>(ConstructorDispatch.java:126)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.meta.ClassImpl.getDispatch(ClassImpl.java:112)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.meta.ClassImpl.apply(ClassImpl.java:398)
    at com.redhat.ceylon.compiler.java.runtime.metamodel.decl.ClassDeclarationImpl.instantiate(ClassDeclarationImpl.java:281)
    at simple.run_.run(run.ceylon:31)