[NI] Resolve callable reference eagerly if there is only one candidate

#KT-30737 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2019-04-04 03:02:53 +03:00
parent aa96a05469
commit 20a7f387bf
23 changed files with 420 additions and 16 deletions
@@ -2305,11 +2305,21 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/callableReference/resolve"), Pattern.compile("^(.*)\\.kts?$"), TargetBackend.ANY, true);
}
@TestMetadata("ambiguityWhenNoApplicableCallableReferenceCandidate.kt")
public void testAmbiguityWhenNoApplicableCallableReferenceCandidate() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/ambiguityWhenNoApplicableCallableReferenceCandidate.kt");
}
@TestMetadata("ambiguousWithVararg.kt")
public void testAmbiguousWithVararg() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/ambiguousWithVararg.kt");
}
@TestMetadata("applicableCallableReferenceFromDistantScope.kt")
public void testApplicableCallableReferenceFromDistantScope() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/applicableCallableReferenceFromDistantScope.kt");
}
@TestMetadata("byArgType.kt")
public void testByArgType() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/byArgType.kt");
@@ -2325,11 +2335,31 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/byValType.kt");
}
@TestMetadata("chooseOuterCallBySingleCallableReference.kt")
public void testChooseOuterCallBySingleCallableReference() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/chooseOuterCallBySingleCallableReference.kt");
}
@TestMetadata("commonSupertypeFromReturnTypesOfCallableReference.kt")
public void testCommonSupertypeFromReturnTypesOfCallableReference() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/commonSupertypeFromReturnTypesOfCallableReference.kt");
}
@TestMetadata("constructor.kt")
public void testConstructor() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/constructor.kt");
}
@TestMetadata("eagerAndPostponedCallableReferences.kt")
public void testEagerAndPostponedCallableReferences() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/eagerAndPostponedCallableReferences.kt");
}
@TestMetadata("eagerResolveOfSingleCallableReference.kt")
public void testEagerResolveOfSingleCallableReference() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/eagerResolveOfSingleCallableReference.kt");
}
@TestMetadata("innerClassConstructorOnOuterClassInstance.kt")
public void testInnerClassConstructorOnOuterClassInstance() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/innerClassConstructorOnOuterClassInstance.kt");
@@ -2400,6 +2430,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/overloadsMember.kt");
}
@TestMetadata("postponedResolveOfManyCallableReference.kt")
public void testPostponedResolveOfManyCallableReference() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/postponedResolveOfManyCallableReference.kt");
}
@TestMetadata("resolveEqualsOperatorWithAnyExpectedType.kt")
public void testResolveEqualsOperatorWithAnyExpectedType() throws Exception {
runTest("compiler/testData/diagnostics/tests/callableReference/resolve/resolveEqualsOperatorWithAnyExpectedType.kt");