Don't add LHS type constraint for callable references too early, before the resolution

The constraint depends on a resolution candidate, because it can be Java static or companion object's member (don't need add constraint in this case)

^KT-41978 Fixed
This commit is contained in:
Victor Petukhov
2021-09-29 19:13:03 +03:00
committed by TeamCityServer
parent fd2929d2c5
commit 43a83dd07a
21 changed files with 642 additions and 45 deletions
@@ -1644,6 +1644,31 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/callableReference/arrayOf.kt");
}
@TestMetadata("callableReferenceOfCompanionConst.kt")
public void testCallableReferenceOfCompanionConst() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionConst.kt");
}
@TestMetadata("callableReferenceOfCompanionMethod.kt")
public void testCallableReferenceOfCompanionMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionMethod.kt");
}
@TestMetadata("callableReferenceOfCompanionProperty.kt")
public void testCallableReferenceOfCompanionProperty() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionProperty.kt");
}
@TestMetadata("callableReferenceOfKotlinNestedClass.kt")
public void testCallableReferenceOfKotlinNestedClass() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfKotlinNestedClass.kt");
}
@TestMetadata("callableReferenceOfObjectMethod.kt")
public void testCallableReferenceOfObjectMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfObjectMethod.kt");
}
@TestMetadata("charArrayOf.kt")
public void testCharArrayOf() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/charArrayOf.kt");
@@ -1644,6 +1644,31 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/callableReference/arrayOf.kt");
}
@TestMetadata("callableReferenceOfCompanionConst.kt")
public void testCallableReferenceOfCompanionConst() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionConst.kt");
}
@TestMetadata("callableReferenceOfCompanionMethod.kt")
public void testCallableReferenceOfCompanionMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionMethod.kt");
}
@TestMetadata("callableReferenceOfCompanionProperty.kt")
public void testCallableReferenceOfCompanionProperty() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionProperty.kt");
}
@TestMetadata("callableReferenceOfKotlinNestedClass.kt")
public void testCallableReferenceOfKotlinNestedClass() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfKotlinNestedClass.kt");
}
@TestMetadata("callableReferenceOfObjectMethod.kt")
public void testCallableReferenceOfObjectMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfObjectMethod.kt");
}
@TestMetadata("charArrayOf.kt")
public void testCharArrayOf() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/charArrayOf.kt");
@@ -1609,6 +1609,31 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/callableReference/arrayOf.kt");
}
@TestMetadata("callableReferenceOfCompanionConst.kt")
public void testCallableReferenceOfCompanionConst() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionConst.kt");
}
@TestMetadata("callableReferenceOfCompanionMethod.kt")
public void testCallableReferenceOfCompanionMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionMethod.kt");
}
@TestMetadata("callableReferenceOfCompanionProperty.kt")
public void testCallableReferenceOfCompanionProperty() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfCompanionProperty.kt");
}
@TestMetadata("callableReferenceOfKotlinNestedClass.kt")
public void testCallableReferenceOfKotlinNestedClass() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfKotlinNestedClass.kt");
}
@TestMetadata("callableReferenceOfObjectMethod.kt")
public void testCallableReferenceOfObjectMethod() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/callableReferenceOfObjectMethod.kt");
}
@TestMetadata("charArrayOf.kt")
public void testCharArrayOf() throws Exception {
runTest("compiler/testData/codegen/box/callableReference/charArrayOf.kt");