diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt
index fcbfa5eae0a..d25d0353bb7 100644
--- a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt
@@ -1,4 +1,4 @@
-// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtTypeReference
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
open class A
class B(): A()
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.kt
new file mode 100644
index 00000000000..e65783f6bea
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.kt
@@ -0,0 +1,4 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
+interface A
+
+class B(): A
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.txt
new file mode 100644
index 00000000000..0a02cbc4ea6
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.txt
@@ -0,0 +1,17 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+FIR source kind: KtRealSourceElementKind
+
+FIR element rendered:
+R|A|
+
+FIR FILE:
+FILE: [ResolvedTo(IMPORTS)] superType2.kt
+ public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
+ }
+ public final [ResolvedTo(BODY_RESOLVE)] class B : R|A| {
+ public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|B| {
+ super()
+ }
+
+ }
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.kt
new file mode 100644
index 00000000000..6647e1c3abf
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.kt
@@ -0,0 +1,4 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
+interface A
+
+class B(): A by f
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.txt
new file mode 100644
index 00000000000..9a0422f5343
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.txt
@@ -0,0 +1,19 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+FIR source kind: KtRealSourceElementKind
+
+FIR element rendered:
+R|A|
+
+FIR FILE:
+FILE: [ResolvedTo(IMPORTS)] superType3.kt
+ public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
+ }
+ public final [ResolvedTo(BODY_RESOLVE)] [DelegateFieldsMapKey={0=FirFieldSymbol /B.$$delegate_0}] class B : R|A| {
+ public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|B| {
+ super()
+ }
+
+ private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|A| = #
+
+ }
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.kt
new file mode 100644
index 00000000000..6f0b11a439c
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.kt
@@ -0,0 +1,4 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
+open class A
+
+object B: A()
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.txt
new file mode 100644
index 00000000000..61c1857e51c
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.txt
@@ -0,0 +1,21 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+FIR source kind: KtRealSourceElementKind
+
+FIR element rendered:
+R|A|
+
+FIR FILE:
+FILE: [ResolvedTo(IMPORTS)] superTypeInObject.kt
+ public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
+ public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
+ LAZY_super
+ }
+
+ }
+ public final [ResolvedTo(BODY_RESOLVE)] object B : R|A| {
+ private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|B| {
+ super()
+ }
+
+ }
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.kt
new file mode 100644
index 00000000000..e786dbe68dc
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.kt
@@ -0,0 +1,4 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
+interface A
+
+object B: A
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.txt
new file mode 100644
index 00000000000..02e9a15a6c8
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.txt
@@ -0,0 +1,17 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+FIR source kind: KtRealSourceElementKind
+
+FIR element rendered:
+R|A|
+
+FIR FILE:
+FILE: [ResolvedTo(IMPORTS)] superTypeInObject2.kt
+ public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
+ }
+ public final [ResolvedTo(BODY_RESOLVE)] object B : R|A| {
+ private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|B| {
+ super()
+ }
+
+ }
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.kt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.kt
new file mode 100644
index 00000000000..571c1d18eac
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.kt
@@ -0,0 +1,4 @@
+// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtTypeReference
+interface A
+
+object B: A by f
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.txt
new file mode 100644
index 00000000000..f2c9fca8e61
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.txt
@@ -0,0 +1,19 @@
+KT element: KtTypeReference
+FIR element: FirResolvedTypeRefImpl
+FIR source kind: KtRealSourceElementKind
+
+FIR element rendered:
+R|A|
+
+FIR FILE:
+FILE: [ResolvedTo(IMPORTS)] superTypeInObject3.kt
+ public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
+ }
+ public final [ResolvedTo(BODY_RESOLVE)] [DelegateFieldsMapKey={0=FirFieldSymbol /B.$$delegate_0}] object B : R|A| {
+ private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|B| {
+ super()
+ }
+
+ private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|A| = #
+
+ }
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java
index 4dd3500a1c3..54cfcf869e7 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/OutOfContentRootGetOrBuildFirTestGenerated.java
@@ -1111,12 +1111,42 @@ public class OutOfContentRootGetOrBuildFirTestGenerated extends AbstractOutOfCon
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt");
}
+ @Test
+ @TestMetadata("superType2.kt")
+ public void testSuperType2() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.kt");
+ }
+
+ @Test
+ @TestMetadata("superType3.kt")
+ public void testSuperType3() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.kt");
+ }
+
@Test
@TestMetadata("superTypeAndGeneratedProperty.kt")
public void testSuperTypeAndGeneratedProperty() throws Exception {
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeAndGeneratedProperty.kt");
}
+ @Test
+ @TestMetadata("superTypeInObject.kt")
+ public void testSuperTypeInObject() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.kt");
+ }
+
+ @Test
+ @TestMetadata("superTypeInObject2.kt")
+ public void testSuperTypeInObject2() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.kt");
+ }
+
+ @Test
+ @TestMetadata("superTypeInObject3.kt")
+ public void testSuperTypeInObject3() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.kt");
+ }
+
@Test
@TestMetadata("superTypeOnEnumClass.kt")
public void testSuperTypeOnEnumClass() throws Exception {
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java
index 8c16d6f61cb..35732ffe082 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceGetOrBuildFirTestGenerated.java
@@ -1111,12 +1111,42 @@ public class SourceGetOrBuildFirTestGenerated extends AbstractSourceGetOrBuildFi
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType.kt");
}
+ @Test
+ @TestMetadata("superType2.kt")
+ public void testSuperType2() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType2.kt");
+ }
+
+ @Test
+ @TestMetadata("superType3.kt")
+ public void testSuperType3() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superType3.kt");
+ }
+
@Test
@TestMetadata("superTypeAndGeneratedProperty.kt")
public void testSuperTypeAndGeneratedProperty() throws Exception {
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeAndGeneratedProperty.kt");
}
+ @Test
+ @TestMetadata("superTypeInObject.kt")
+ public void testSuperTypeInObject() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject.kt");
+ }
+
+ @Test
+ @TestMetadata("superTypeInObject2.kt")
+ public void testSuperTypeInObject2() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject2.kt");
+ }
+
+ @Test
+ @TestMetadata("superTypeInObject3.kt")
+ public void testSuperTypeInObject3() throws Exception {
+ runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/superTypeInObject3.kt");
+ }
+
@Test
@TestMetadata("superTypeOnEnumClass.kt")
public void testSuperTypeOnEnumClass() throws Exception {