diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.kt
new file mode 100644
index 00000000000..bbc58ce7bb9
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.kt
@@ -0,0 +1,2 @@
+
+fun x(): (Int) -> String = TODO()
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.txt
new file mode 100644
index 00000000000..bc746eda386
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.txt
@@ -0,0 +1,5 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+
+FIR element rendered:
+R|(kotlin/Int) -> kotlin/String|
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.kt
new file mode 100644
index 00000000000..4f6cc391066
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.kt
@@ -0,0 +1,2 @@
+
+fun x(): (Int ) -> String= TODO()
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.txt
new file mode 100644
index 00000000000..be7bd8effb8
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.txt
@@ -0,0 +1,5 @@
+KT element: KtParameter
+FIR element: FirValueParameterImpl
+
+FIR element rendered:
+R|kotlin/Int|
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.kt
new file mode 100644
index 00000000000..50566fddb09
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.kt
@@ -0,0 +1,2 @@
+
+fun x(): Int? = TODO()
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.txt
new file mode 100644
index 00000000000..9942d7cde7f
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.txt
@@ -0,0 +1,5 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+
+FIR element rendered:
+R|kotlin/Int?|
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
index 5bfa43e2d01..85b4f9a07ee 100644
--- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
@@ -445,6 +445,18 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
+ @Test
+ @TestMetadata("functionalType.kt")
+ public void testFunctionalType() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalType.kt");
+ }
+
+ @Test
+ @TestMetadata("functionalTypeArgument.kt")
+ public void testFunctionalTypeArgument() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/functionalTypeArgument.kt");
+ }
+
@Test
@TestMetadata("invalidTypeArgumentsCount.kt")
public void testInvalidTypeArgumentsCount() throws Exception {
@@ -475,6 +487,12 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest {
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nestedTypeArgument.kt");
}
+ @Test
+ @TestMetadata("nullableType.kt")
+ public void testNullableType() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/types/nullableType.kt");
+ }
+
@Test
@TestMetadata("nullableTypeWithooutQuestionMark.kt")
public void testNullableTypeWithooutQuestionMark() throws Exception {