[FE 1.0] Don't check star projections in PrivateInlineFunctionsReturningAnonymousObjectsChecker

^KT-56692 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-02-17 16:30:43 +02:00
committed by Space Team
parent 2a022ca9e0
commit cbc8b74e89
6 changed files with 30 additions and 0 deletions
@@ -17912,6 +17912,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
runTest("compiler/testData/diagnostics/tests/inline/recursion.kt");
}
@Test
@TestMetadata("recursiveTypeInPrivateInlineFunction.kt")
public void testRecursiveTypeInPrivateInlineFunction() throws Exception {
runTest("compiler/testData/diagnostics/tests/inline/recursiveTypeInPrivateInlineFunction.kt");
}
@Test
@TestMetadata("returnedAnonymousObjects.kt")
public void testReturnedAnonymousObjects() throws Exception {
@@ -17912,6 +17912,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/inline/recursion.kt");
}
@Test
@TestMetadata("recursiveTypeInPrivateInlineFunction.kt")
public void testRecursiveTypeInPrivateInlineFunction() throws Exception {
runTest("compiler/testData/diagnostics/tests/inline/recursiveTypeInPrivateInlineFunction.kt");
}
@Test
@TestMetadata("returnedAnonymousObjects.kt")
public void testReturnedAnonymousObjects() throws Exception {
@@ -17918,6 +17918,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/inline/recursion.kt");
}
@Test
@TestMetadata("recursiveTypeInPrivateInlineFunction.kt")
public void testRecursiveTypeInPrivateInlineFunction() throws Exception {
runTest("compiler/testData/diagnostics/tests/inline/recursiveTypeInPrivateInlineFunction.kt");
}
@Test
@TestMetadata("returnedAnonymousObjects.kt")
public void testReturnedAnonymousObjects() throws Exception {
@@ -29,6 +29,7 @@ object PrivateInlineFunctionsReturningAnonymousObjectsChecker : DeclarationCheck
private fun checkTypeAndArguments(type: KotlinType, reportOn: PsiElement, context: DeclarationCheckerContext) {
checkType(type, reportOn, context)
for (argument in type.arguments) {
if (argument.isStarProjection) continue
checkTypeAndArguments(argument.type, reportOn, context)
}
}
@@ -0,0 +1,5 @@
// FIR_IDENTICAL
// ISSUE: KT-56692
private <!NOTHING_TO_INLINE!>inline<!> fun check(inf: Self<*>) = inf
class Self<T : Self<T>>
@@ -17918,6 +17918,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/inline/recursion.kt");
}
@Test
@TestMetadata("recursiveTypeInPrivateInlineFunction.kt")
public void testRecursiveTypeInPrivateInlineFunction() throws Exception {
runTest("compiler/testData/diagnostics/tests/inline/recursiveTypeInPrivateInlineFunction.kt");
}
@Test
@TestMetadata("returnedAnonymousObjects.kt")
public void testReturnedAnonymousObjects() throws Exception {