fix for KT-796/797 candidate/resultingDescriptor misuse
This commit is contained in:
@@ -2199,7 +2199,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
|
|||||||
if(getterDescriptor.getReceiverParameter().exists()) {
|
if(getterDescriptor.getReceiverParameter().exists()) {
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
for (TypeParameterDescriptor typeParameterDescriptor : getterDescriptor.getTypeParameters()) {
|
for (TypeParameterDescriptor typeParameterDescriptor : resolvedGetCall.getCandidateDescriptor().getTypeParameters()) {
|
||||||
if(typeParameterDescriptor.isReified()) {
|
if(typeParameterDescriptor.isReified()) {
|
||||||
generateTypeInfo(resolvedGetCall.getTypeArguments().get(typeParameterDescriptor), null);
|
generateTypeInfo(resolvedGetCall.getTypeArguments().get(typeParameterDescriptor), null);
|
||||||
index++;
|
index++;
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fun <T> Array<T>?.get(i : Int?) = this.sure().get(i.sure())
|
||||||
|
fun <T> array(vararg t : T) : Array<T> = t
|
||||||
|
|
||||||
|
fun box() : String {
|
||||||
|
val a : Array<String>? = array<String>("Str", "Str2")
|
||||||
|
val i : Int? = 1
|
||||||
|
return if(a[i] == "Str2") "OK" else "fail"
|
||||||
|
}
|
||||||
@@ -74,4 +74,8 @@ public class VarArgTest extends CodegenTestCase {
|
|||||||
createEnvironmentWithFullJdk();
|
createEnvironmentWithFullJdk();
|
||||||
blackBoxFile("regressions/kt581.jet");
|
blackBoxFile("regressions/kt581.jet");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testKt797() {
|
||||||
|
blackBoxFile("regressions/kt796_797.jet");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user