[Analysis API] resolution: support KtConstructorDelegationReferenceExpression

^KT-66039
diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirResolver.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirResolver.kt
index f6e4b17..9754982 100644
--- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirResolver.kt
+++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirResolver.kt
@@ -125,6 +125,7 @@
             is FirArrayLiteral -> unwrappedFir.toKaSymbolResolutionAttempt()
             is FirVariableAssignment -> unwrappedFir.calleeReference?.toKaSymbolResolutionAttempt(psi)
             is FirResolvedQualifier -> unwrappedFir.toKaSymbolResolutionAttempt(psi)
+            is FirReference -> unwrappedFir.toKaSymbolResolutionAttempt(psi)
             else -> null
         }
     }
diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveCallTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveCallTest.kt
index c59983c..dba5cde 100644
--- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveCallTest.kt
+++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveCallTest.kt
@@ -59,6 +59,7 @@
             is KtAnnotationEntry -> element.resolveCall()
             is KtSuperTypeCallEntry -> element.resolveCall()
             is KtConstructorDelegationCall -> element.resolveCall()
+            is KtConstructorDelegationReferenceExpression -> element.resolveCall()
             is KtCallExpression -> element.resolveCall()
             is KtCallableReferenceExpression -> element.resolveCall()
             is KtArrayAccessExpression -> element.resolveCall()
diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveSymbolTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveSymbolTest.kt
index 9bb03c9..12ce53f 100644
--- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveSymbolTest.kt
+++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/resolver/AbstractResolveSymbolTest.kt
@@ -18,6 +18,7 @@
 import org.jetbrains.kotlin.psi.KtCallableReferenceExpression
 import org.jetbrains.kotlin.psi.KtCollectionLiteralExpression
 import org.jetbrains.kotlin.psi.KtConstructorDelegationCall
+import org.jetbrains.kotlin.psi.KtConstructorDelegationReferenceExpression
 import org.jetbrains.kotlin.psi.KtElement
 import org.jetbrains.kotlin.psi.KtSuperTypeCallEntry
 import org.jetbrains.kotlin.resolution.KtResolvable
@@ -57,6 +58,7 @@
             is KtAnnotationEntry -> element.resolveSymbol()
             is KtSuperTypeCallEntry -> element.resolveSymbol()
             is KtConstructorDelegationCall -> element.resolveSymbol()
+            is KtConstructorDelegationReferenceExpression -> element.resolveSymbol()
             is KtCallExpression -> element.resolveSymbol()
             is KtCallableReferenceExpression -> element.resolveSymbol()
             is KtArrayAccessExpression -> element.resolveSymbol()
diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KaResolver.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KaResolver.kt
index 91a4dd4..d3bda2d 100644
--- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KaResolver.kt
+++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KaResolver.kt
@@ -32,6 +32,7 @@
 import org.jetbrains.kotlin.psi.KtCallableReferenceExpression
 import org.jetbrains.kotlin.psi.KtCollectionLiteralExpression
 import org.jetbrains.kotlin.psi.KtConstructorDelegationCall
+import org.jetbrains.kotlin.psi.KtConstructorDelegationReferenceExpression
 import org.jetbrains.kotlin.psi.KtElement
 import org.jetbrains.kotlin.psi.KtSuperTypeCallEntry
 import org.jetbrains.kotlin.resolution.KtResolvable
@@ -65,6 +66,7 @@
     public fun KtAnnotationEntry.resolveSymbol(): KaConstructorSymbol? = resolveSymbolSafe(analysisSession)
     public fun KtSuperTypeCallEntry.resolveSymbol(): KaConstructorSymbol? = resolveSymbolSafe(analysisSession)
     public fun KtConstructorDelegationCall.resolveSymbol(): KaConstructorSymbol? = resolveSymbolSafe(analysisSession)
+    public fun KtConstructorDelegationReferenceExpression.resolveSymbol(): KaConstructorSymbol? = resolveSymbolSafe(analysisSession)
     public fun KtCallExpression.resolveSymbol(): KaCallableSymbol? = resolveSymbolSafe(analysisSession)
     public fun KtCallableReferenceExpression.resolveSymbol(): KaCallableSymbol? = resolveSymbolSafe(analysisSession)
     public fun KtArrayAccessExpression.resolveSymbol(): KaFunctionSymbol? = resolveSymbolSafe(analysisSession)
@@ -81,6 +83,7 @@
     public fun KtAnnotationEntry.resolveCall(): KaAnnotationCall? = resolveCallSafe(analysisSession)
     public fun KtSuperTypeCallEntry.resolveCall(): KaFunctionCall<KaConstructorSymbol>? = resolveCallSafe(analysisSession)
     public fun KtConstructorDelegationCall.resolveCall(): KaDelegatedConstructorCall? = resolveCallSafe(analysisSession)
+    public fun KtConstructorDelegationReferenceExpression.resolveCall(): KaDelegatedConstructorCall? = resolveCallSafe(analysisSession)
     public fun KtCallExpression.resolveCall(): KaCallableMemberCall<*, *>? = resolveCallSafe(analysisSession)
     public fun KtCallableReferenceExpression.resolveCall(): KaCallableMemberCall<*, *>? = resolveCallSafe(analysisSession)
     public fun KtArrayAccessExpression.resolveCall(): KaFunctionCall<KaFunctionSymbol>? = resolveCallSafe(analysisSession)
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.call.txt
index 004e0da..f666c88 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.call.txt
@@ -848,20 +848,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(427,427): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtClass(431,462): 'abstract class AbstractClass<T>'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.descriptors.call.txt
index ced37e0..081683c 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.descriptors.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.descriptors.call.txt
@@ -1000,20 +1000,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(427,427): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtClass(431,462): 'abstract class AbstractClass<T>'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.symbol.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.symbol.txt
index 4deeb3d..a97b557 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/annotatedClasses.symbol.txt
@@ -385,7 +385,8 @@
     symbol = <constructor>(): kotlin.Any
 
 KtConstructorDelegationReferenceExpression(427,427): ''
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): kotlin.Any
 
 KtClass(431,462): 'abstract class AbstractClass<T>'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.call.txt
index f08c650..ee5c27e 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.call.txt
@@ -53,20 +53,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(61,61): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtSecondaryConstructor(66,88): 'constructor(s: String)'
   null
@@ -102,20 +101,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(88,88): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtNamedFunction(94,113): 'fun call() {'
   null
@@ -195,34 +193,33 @@
     }
 
 KtConstructorDelegationReferenceExpression(170,175): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(i: kotlin.Int): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        ci -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(i: kotlin.Int): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      ci -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
 
 KtValueArgumentList(175,179): '(ci)'
   null
@@ -293,34 +290,33 @@
     }
 
 KtConstructorDelegationReferenceExpression(210,215): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(s: kotlin.String): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = s
-              receiverType = null
-              returnType = kotlin.String
-              symbol = s: kotlin.String
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        cs -> (KaVariableLikeSignature:
-          name = s
-          receiverType = null
-          returnType = kotlin.String
-          symbol = s: kotlin.String
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(s: kotlin.String): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = s
+            receiverType = null
+            returnType = kotlin.String
+            symbol = s: kotlin.String
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      cs -> (KaVariableLikeSignature:
+        name = s
+        receiverType = null
+        returnType = kotlin.String
+        symbol = s: kotlin.String
+        callableId = null)
+    }
 
 KtValueArgumentList(215,219): '(cs)'
   null
@@ -543,20 +539,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(339,343): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.ChildWithPrimary
-          symbol = <constructor>(): r.ChildWithPrimary
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.ChildWithPrimary
+        symbol = <constructor>(): r.ChildWithPrimary
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtValueArgumentList(343,345): '()'
   null
@@ -665,36 +660,35 @@
     }
 
 KtConstructorDelegationReferenceExpression(446,451): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.ClassWithType<T>
-          symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {
-        T -> (kotlin.Int)
-      }
-      argumentMapping = {
-        1 -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.ClassWithType<T>
+        symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {
+      T -> (kotlin.Int)
+    }
+    argumentMapping = {
+      1 -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
 
 KtValueArgumentList(451,454): '(1)'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.descriptors.call.txt
index 3fa7235..2c52c85 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.descriptors.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.descriptors.call.txt
@@ -53,20 +53,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(61,61): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtSecondaryConstructor(66,88): 'constructor(s: String)'
   null
@@ -102,20 +101,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(88,88): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtNamedFunction(94,113): 'fun call() {'
   null
@@ -195,34 +193,33 @@
     }
 
 KtConstructorDelegationReferenceExpression(170,175): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(i: kotlin.Int): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        ci -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(i: kotlin.Int): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      ci -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
 
 KtValueArgumentList(175,179): '(ci)'
   null
@@ -293,34 +290,33 @@
     }
 
 KtConstructorDelegationReferenceExpression(210,215): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(s: kotlin.String): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = s
-              receiverType = null
-              returnType = kotlin.String
-              symbol = s: kotlin.String
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        cs -> (KaVariableLikeSignature:
-          name = s
-          receiverType = null
-          returnType = kotlin.String
-          symbol = s: kotlin.String
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(s: kotlin.String): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = s
+            receiverType = null
+            returnType = kotlin.String
+            symbol = s: kotlin.String
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      cs -> (KaVariableLikeSignature:
+        name = s
+        receiverType = null
+        returnType = kotlin.String
+        symbol = s: kotlin.String
+        callableId = null)
+    }
 
 KtValueArgumentList(215,219): '(cs)'
   null
@@ -570,20 +566,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(339,343): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.ChildWithPrimary
-          symbol = <constructor>(): r.ChildWithPrimary
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.ChildWithPrimary
+        symbol = <constructor>(): r.ChildWithPrimary
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtValueArgumentList(343,345): '()'
   null
@@ -690,34 +685,33 @@
     }
 
 KtConstructorDelegationReferenceExpression(446,451): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.ClassWithType<kotlin.Int>
-          symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        1 -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.ClassWithType<kotlin.Int>
+        symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      1 -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
 
 KtValueArgumentList(451,454): '(1)'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.symbol.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.symbol.txt
index b6c2a74..aff6a2b 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/constructors.symbol.txt
@@ -42,7 +42,8 @@
     symbol = <constructor>(): kotlin.Any
 
 KtConstructorDelegationReferenceExpression(61,61): ''
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): kotlin.Any
 
 KtSecondaryConstructor(66,88): 'constructor(s: String)'
   null
@@ -67,7 +68,8 @@
     symbol = <constructor>(): kotlin.Any
 
 KtConstructorDelegationReferenceExpression(88,88): ''
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): kotlin.Any
 
 KtNamedFunction(94,113): 'fun call() {'
   null
@@ -122,7 +124,8 @@
     symbol = <constructor>(i: kotlin.Int): r.BaseClass
 
 KtConstructorDelegationReferenceExpression(170,175): 'super'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(i: kotlin.Int): r.BaseClass
 
 KtValueArgumentList(175,179): '(ci)'
   null
@@ -156,7 +159,8 @@
     symbol = <constructor>(s: kotlin.String): r.BaseClass
 
 KtConstructorDelegationReferenceExpression(210,215): 'super'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(s: kotlin.String): r.BaseClass
 
 KtValueArgumentList(215,219): '(cs)'
   null
@@ -258,7 +262,8 @@
     symbol = <constructor>(): r.ChildWithPrimary
 
 KtConstructorDelegationReferenceExpression(339,343): 'this'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): r.ChildWithPrimary
 
 KtValueArgumentList(343,345): '()'
   null
@@ -340,7 +345,8 @@
     symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
 
 KtConstructorDelegationReferenceExpression(446,451): 'super'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(i: kotlin.Int): r.ClassWithType<T>
 
 KtValueArgumentList(451,454): '(1)'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.call.txt
index baa1407..78071a9 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.call.txt
@@ -53,20 +53,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(43,47): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = MyClass
-          symbol = <constructor>(): MyClass
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = MyClass
+        symbol = <constructor>(): MyClass
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtValueArgumentList(47,49): '()'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.descriptors.call.txt
index 62993cb..33368d3 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.descriptors.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.descriptors.call.txt
@@ -53,20 +53,19 @@
     argumentMapping = {}
 
 KtConstructorDelegationReferenceExpression(43,47): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = MyClass
-          symbol = <constructor>(): MyClass
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = MyClass
+        symbol = <constructor>(): MyClass
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
 
 KtValueArgumentList(47,49): '()'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.symbol.txt b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.symbol.txt
index 913fe35..6af70d2 100644
--- a/analysis/analysis-api/testData/components/resolver/allByPsi/contains.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/allByPsi/contains.symbol.txt
@@ -42,7 +42,8 @@
     symbol = <constructor>(): MyClass
 
 KtConstructorDelegationReferenceExpression(43,47): 'this'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): MyClass
 
 KtValueArgumentList(47,49): '()'
   null
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.call.txt
index 432f6d2..f5cce89 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.call.txt
@@ -1,29 +1,28 @@
 KtConstructorDelegationReferenceExpression(145,150): 'super'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(i: kotlin.Int): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        ci -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
\ No newline at end of file
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(i: kotlin.Int): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      ci -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.symbol.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.symbol.txt
index 5035af7..621138c 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceSuper.symbol.txt
@@ -1,2 +1,3 @@
 KtConstructorDelegationReferenceExpression(145,150): 'super'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(i: kotlin.Int): r.BaseClass
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.call.txt
index a36295f..2713432 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.call.txt
@@ -1,29 +1,28 @@
 KtConstructorDelegationReferenceExpression(90,94): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = r.BaseClass
-          symbol = <constructor>(i: kotlin.Int): r.BaseClass
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = i
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = i: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        1 -> (KaVariableLikeSignature:
-          name = i
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = i: kotlin.Int
-          callableId = null)
-      }
\ No newline at end of file
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = r.BaseClass
+        symbol = <constructor>(i: kotlin.Int): r.BaseClass
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = i
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = i: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      1 -> (KaVariableLikeSignature:
+        name = i
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = i: kotlin.Int
+        callableId = null)
+    }
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.symbol.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.symbol.txt
index 6c6bea5..87ae67e 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThis.symbol.txt
@@ -1,2 +1,3 @@
 KtConstructorDelegationReferenceExpression(90,94): 'this'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(i: kotlin.Int): r.BaseClass
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.call.txt
index 483915e..0e0a9e9 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.call.txt
@@ -1,15 +1,14 @@
 KtConstructorDelegationReferenceExpression(136,136): ''
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = SUPER_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = kotlin.Any
-          symbol = <constructor>(): kotlin.Any
-          valueParameters = []
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {}
\ No newline at end of file
+  KaDelegatedConstructorCall:
+    kind = SUPER_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = kotlin.Any
+        symbol = <constructor>(): kotlin.Any
+        valueParameters = []
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.symbol.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.symbol.txt
index 42e5218..747000c 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/constructorDelegationReferenceThisImplicit.symbol.txt
@@ -1,2 +1,3 @@
 KtConstructorDelegationReferenceExpression(136,136): ''
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(): kotlin.Any
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.call.txt
index 221a336..bd9a52b 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.call.txt
@@ -1,29 +1,28 @@
 KtConstructorDelegationReferenceExpression(38,42): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = A
-          symbol = <constructor>(a: kotlin.Int): A
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = a
-              receiverType = null
-              returnType = kotlin.Int
-              symbol = a: kotlin.Int
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        2 -> (KaVariableLikeSignature:
-          name = a
-          receiverType = null
-          returnType = kotlin.Int
-          symbol = a: kotlin.Int
-          callableId = null)
-      }
\ No newline at end of file
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = A
+        symbol = <constructor>(a: kotlin.Int): A
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = a
+            receiverType = null
+            returnType = kotlin.Int
+            symbol = a: kotlin.Int
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      2 -> (KaVariableLikeSignature:
+        name = a
+        receiverType = null
+        returnType = kotlin.Int
+        symbol = a: kotlin.Int
+        callableId = null)
+    }
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.symbol.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.symbol.txt
index 6d743df..20c2d4d 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toPrimary.symbol.txt
@@ -1,2 +1,3 @@
 KtConstructorDelegationReferenceExpression(38,42): 'this'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(a: kotlin.Int): A
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.call.txt
index 06be0a8..897f673 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.call.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.call.txt
@@ -1,29 +1,28 @@
 KtConstructorDelegationReferenceExpression(76,80): 'this'
-  KaSuccessCallInfo:
-    call = KaDelegatedConstructorCall:
-      kind = THIS_CALL
-      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
-        dispatchReceiver = null
-        extensionReceiver = null
-        signature = KaFunctionLikeSignature:
-          receiverType = null
-          returnType = A
-          symbol = <constructor>(b: kotlin.String): A
-          valueParameters = [
-            KaVariableLikeSignature:
-              name = b
-              receiverType = null
-              returnType = kotlin.String
-              symbol = b: kotlin.String
-              callableId = null
-          ]
-          callableId = null
-      typeArgumentsMapping = {}
-      argumentMapping = {
-        "2" -> (KaVariableLikeSignature:
-          name = b
-          receiverType = null
-          returnType = kotlin.String
-          symbol = b: kotlin.String
-          callableId = null)
-      }
\ No newline at end of file
+  KaDelegatedConstructorCall:
+    kind = THIS_CALL
+    partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+      dispatchReceiver = null
+      extensionReceiver = null
+      signature = KaFunctionLikeSignature:
+        receiverType = null
+        returnType = A
+        symbol = <constructor>(b: kotlin.String): A
+        valueParameters = [
+          KaVariableLikeSignature:
+            name = b
+            receiverType = null
+            returnType = kotlin.String
+            symbol = b: kotlin.String
+            callableId = null
+        ]
+        callableId = null
+    typeArgumentsMapping = {}
+    argumentMapping = {
+      "2" -> (KaVariableLikeSignature:
+        name = b
+        receiverType = null
+        returnType = kotlin.String
+        symbol = b: kotlin.String
+        callableId = null)
+    }
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.symbol.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.symbol.txt
index 692c815..cd6a65c 100644
--- a/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.symbol.txt
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/constructorDelegatingReference/toSecondary.symbol.txt
@@ -1,2 +1,3 @@
 KtConstructorDelegationReferenceExpression(76,80): 'this'
-  null
+  KaSymbolResolutionSuccessImpl:
+    symbol = <constructor>(b: kotlin.String): A
\ No newline at end of file
diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java
index a8b772b..07523a7 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java
@@ -1,17 +1,6 @@
 /*
- * Copyright 2010-2015 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
  */
 
 package org.jetbrains.kotlin.psi;
@@ -19,8 +8,18 @@
 import com.intellij.lang.ASTNode;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.kotlin.lexer.KtTokens;
+import org.jetbrains.kotlin.resolution.KtResolvableCall;
 
-public class KtConstructorDelegationReferenceExpression extends KtExpressionImpl implements KtReferenceExpression {
+/**
+ * The code example:
+ * <pre>{@code
+ * class SimpleClass(i: Int) {
+ *     constructor(s: String): this(s.toInt())
+ * //                         ^____^
+ * }
+ * }</pre>
+ */
+public class KtConstructorDelegationReferenceExpression extends KtExpressionImpl implements KtReferenceExpression, KtResolvableCall {
     public KtConstructorDelegationReferenceExpression(@NotNull ASTNode node) {
         super(node);
     }