[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
There is added a new service named `SubstitutingScopeProvider`, that provides factory that creates captured types and approximator for them. In OI they are the same as before commit, for NI they are empty, because that approximation interferes with NI algorithm That service is injected into function descriptors and property descriptors and used for creating `SubstitutingScope` with correct services Also there is changed time when we approximate captured types in NI (after all call checkers) #KT-25290 Fixed
This commit is contained in:
@@ -8093,6 +8093,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/argumentsForT.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("capturedTypeInInputPosition.kt")
|
||||
public void testCapturedTypeInInputPosition() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/capturedTypeInInputPosition.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("commonSupertypeContravariant.kt")
|
||||
public void testCommonSupertypeContravariant() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/commonSupertypeContravariant.kt");
|
||||
@@ -8932,6 +8937,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/varProjection/setterProjectedOutAssign.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("setterProjectedOutAssignFromJava.kt")
|
||||
public void testSetterProjectedOutAssignFromJava() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/varProjection/setterProjectedOutAssignFromJava.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("setterProjectedOutNoPlusAssign.kt")
|
||||
public void testSetterProjectedOutNoPlusAssign() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/generics/varProjection/setterProjectedOutNoPlusAssign.kt");
|
||||
@@ -17375,6 +17385,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/HiddenDeclarations.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("implicitAndExplicitThis.kt")
|
||||
public void testImplicitAndExplicitThis() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/implicitAndExplicitThis.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("implicitReceiverProperty.kt")
|
||||
public void testImplicitReceiverProperty() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/implicitReceiverProperty.kt");
|
||||
@@ -18092,6 +18107,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/samConversions/GenericSubstitutionKT.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt25290.kt")
|
||||
public void testKt25290() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/samConversions/kt25290.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("OverloadPriority.kt")
|
||||
public void testOverloadPriority() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/samConversions/OverloadPriority.kt");
|
||||
|
||||
Reference in New Issue
Block a user