[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);
}