diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirReferenceResolveTestGenerated.java b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirReferenceResolveTestGenerated.java index 9d901d9c17f..d31510d43d9 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirReferenceResolveTestGenerated.java @@ -624,18 +624,6 @@ public class FirReferenceResolveTestGenerated extends AbstractFirReferenceResolv runTest("analysis/analysis-api/testData/referenceResolve/TypeArgumentWrongNumber.kt"); } - @Test - @TestMetadata("TypeParameterInAnonymousObject.kt") - public void testTypeParameterInAnonymousObject() throws Exception { - runTest("analysis/analysis-api/testData/referenceResolve/TypeParameterInAnonymousObject.kt"); - } - - @Test - @TestMetadata("TypeParameterInFunctionLiteral.kt") - public void testTypeParameterInFunctionLiteral() throws Exception { - runTest("analysis/analysis-api/testData/referenceResolve/TypeParameterInFunctionLiteral.kt"); - } - @Test @TestMetadata("ValueParameter.kt") public void testValueParameter() throws Exception { @@ -1201,4 +1189,62 @@ public class FirReferenceResolveTestGenerated extends AbstractFirReferenceResolv runTest("analysis/analysis-api/testData/referenceResolve/qualifiedAccess/ResolvePackageOfFullyQualifiedReference.kt"); } } + + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/typeParameter") + @TestDataPath("$PROJECT_ROOT") + public class TypeParameter { + @Test + public void testAllFilesPresentInTypeParameter() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/typeParameter"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("multipleBounds.kt") + public void testMultipleBounds() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt"); + } + + @Test + @TestMetadata("reified_argumentInFunctionalType.kt") + public void testReified_argumentInFunctionalType() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.kt"); + } + + @Test + @TestMetadata("reified_extensionReceiver.kt") + public void testReified_extensionReceiver() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.kt"); + } + + @Test + @TestMetadata("reified_returnType.kt") + public void testReified_returnType() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.kt"); + } + + @Test + @TestMetadata("reified_valueParameter.kt") + public void testReified_valueParameter() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.kt"); + } + + @Test + @TestMetadata("reified_valueParameter_vararg.kt") + public void testReified_valueParameter_vararg() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.kt"); + } + + @Test + @TestMetadata("TypeParameterInAnonymousObject.kt") + public void testTypeParameterInAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInAnonymousObject.kt"); + } + + @Test + @TestMetadata("TypeParameterInFunctionLiteral.kt") + public void testTypeParameterInFunctionLiteral() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.kt"); + } + } } diff --git a/analysis/analysis-api/testData/referenceResolve/TypeParameterInAnonymousObject.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInAnonymousObject.kt similarity index 100% rename from analysis/analysis-api/testData/referenceResolve/TypeParameterInAnonymousObject.kt rename to analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInAnonymousObject.kt diff --git a/analysis/analysis-api/testData/referenceResolve/TypeParameterInAnonymousObject.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInAnonymousObject.txt similarity index 100% rename from analysis/analysis-api/testData/referenceResolve/TypeParameterInAnonymousObject.txt rename to analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInAnonymousObject.txt diff --git a/analysis/analysis-api/testData/referenceResolve/TypeParameterInFunctionLiteral.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.kt similarity index 100% rename from analysis/analysis-api/testData/referenceResolve/TypeParameterInFunctionLiteral.kt rename to analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.kt diff --git a/analysis/analysis-api/testData/referenceResolve/TypeParameterInFunctionLiteral.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt similarity index 100% rename from analysis/analysis-api/testData/referenceResolve/TypeParameterInFunctionLiteral.txt rename to analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt new file mode 100644 index 00000000000..6366bef461f --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt @@ -0,0 +1 @@ +fun function(t: T) where T : Int, T : Long = TODO() diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.txt new file mode 100644 index 00000000000..ebc4bde1518 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.txt @@ -0,0 +1,2 @@ +Resolved to: +0: diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.kt new file mode 100644 index 00000000000..97abcd25c92 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.kt @@ -0,0 +1 @@ +inline fun functionWithLambda(t: T, process: (T) -> Int): Int = process(t) diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.txt new file mode 100644 index 00000000000..d1e9e0d3371 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_argumentInFunctionalType.txt @@ -0,0 +1,2 @@ +Resolved to: +0: diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.kt new file mode 100644 index 00000000000..f640714d2db --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.kt @@ -0,0 +1,3 @@ +inline fun foo(init: T.() -> Unit = {}): T { + TODO("message") +} diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.txt new file mode 100644 index 00000000000..8c2287a9501 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_extensionReceiver.txt @@ -0,0 +1,2 @@ +Resolved to: +0: diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.kt new file mode 100644 index 00000000000..492ee41731c --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.kt @@ -0,0 +1 @@ +inline fun function2(t: T, i: Int, s: String): T = t diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.txt new file mode 100644 index 00000000000..d1e9e0d3371 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_returnType.txt @@ -0,0 +1,2 @@ +Resolved to: +0: diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.kt new file mode 100644 index 00000000000..4d84fde4006 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.kt @@ -0,0 +1 @@ +inline fun functionWithLambda(t: T, process: (T) -> Int): Int = process(t) diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.txt new file mode 100644 index 00000000000..d1e9e0d3371 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter.txt @@ -0,0 +1,2 @@ +Resolved to: +0: diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.kt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.kt new file mode 100644 index 00000000000..78d46691cc5 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.kt @@ -0,0 +1 @@ +inline fun functionWithVararg(i: Int?, vararg t: T): T = t[0] diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.txt new file mode 100644 index 00000000000..d1e9e0d3371 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/reified_valueParameter_vararg.txt @@ -0,0 +1,2 @@ +Resolved to: +0: