FIR Analysis API: reimplement KtFirCallResolver with new data model

This commit is contained in:
Tianyu Geng
2021-11-23 19:34:55 -08:00
committed by Ilya Kirillov
parent c9f9ce99c1
commit 9b05019137
196 changed files with 4309 additions and 639 deletions
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { Annotation("v1", "v2") -> (value: Annotation) }
targetFunction = <constructor>(value: Annotation): AnnotationInner
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = AnnotationInner
symbol = <constructor>(value: Annotation): AnnotationInner
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = value: Annotation
]
argumentMapping = {
Annotation("v1", "v2") -> (KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = value: Annotation)
}
@@ -1,4 +1,22 @@
KtFunctionCall:
argumentMapping = { arrayOf("v1", "v2") -> (vararg strings: kotlin.String) }
targetFunction = <constructor>(vararg strings: kotlin.String): Annotation
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Annotation
symbol = <constructor>(vararg strings: kotlin.String): Annotation
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String
]
argumentMapping = {
arrayOf("v1", "v2") -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String)
}
@@ -1,4 +1,22 @@
KtFunctionCall:
argumentMapping = { ["v1", "v2"] -> (vararg strings: kotlin.String) }
targetFunction = <constructor>(vararg strings: kotlin.String): Annotation
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Annotation
symbol = <constructor>(vararg strings: kotlin.String): Annotation
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String
]
argumentMapping = {
["v1", "v2"] -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String)
}
@@ -1,4 +1,26 @@
KtFunctionCall:
argumentMapping = { Annotation("v1", "v2") -> (vararg elements: Annotation), Annotation(strings = arrayOf("v3", "v4")) -> (vararg elements: Annotation) }
targetFunction = kotlin/arrayOf(vararg elements: Annotation): kotlin.Array<Annotation>
substitutor = <map substitutor: {T = Annotation}>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Array<Annotation>
symbol = kotlin/arrayOf(vararg elements: T): kotlin.Array<T>
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = vararg elements: T
]
argumentMapping = {
Annotation("v1", "v2") -> (KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = vararg elements: T),
Annotation(strings = arrayOf("v3", "v4")) -> (KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = vararg elements: T)
}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { [Annotation("v1", "v2"), Annotation(["v3", "v4"])] -> (vararg annos: Annotation) }
targetFunction = <constructor>(vararg annos: Annotation): AnnotationArray
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = AnnotationArray
symbol = <constructor>(vararg annos: Annotation): AnnotationArray
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = vararg annos: Annotation
]
argumentMapping = {
[Annotation("v1", "v2"), Annotation(["v3", "v4"])] -> (KtVariableLikeSignature:
receiverType = null
returnType = Annotation
symbol = vararg annos: Annotation)
}
@@ -1,4 +1,17 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = <constructor>(vararg strings: kotlin.String): Annotation
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Annotation
symbol = <constructor>(vararg strings: kotlin.String): Annotation
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String
]
argumentMapping = {}
@@ -1,4 +1,26 @@
KtFunctionCall:
argumentMapping = { "v1" -> (vararg strings: kotlin.String), "v2" -> (vararg strings: kotlin.String) }
targetFunction = <constructor>(vararg strings: kotlin.String): Annotation
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Annotation
symbol = <constructor>(vararg strings: kotlin.String): Annotation
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String
]
argumentMapping = {
"v1" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String),
"v2" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg strings: kotlin.String)
}
@@ -1,3 +1,16 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { "UNCHECKED_CAST" -> (vararg names: kotlin.String) }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {
"UNCHECKED_CAST" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String)
}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { "UNCHECKED_CAST" -> (vararg names: kotlin.String) }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {
"UNCHECKED_CAST" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String)
}
@@ -1,3 +1,16 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { "DEPRECATION" -> (vararg names: kotlin.String) }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {
"DEPRECATION" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String)
}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { "Foo" -> (name: kotlin.String) }
targetFunction = <constructor>(name: kotlin.String): kotlin.jvm.JvmName
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.jvm.JvmName
symbol = <constructor>(name: kotlin.String): kotlin.jvm.JvmName
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = name: kotlin.String
]
argumentMapping = {
"Foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = name: kotlin.String)
}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { "s" -> (vararg names: kotlin.String) }
targetFunction = <constructor>(vararg names: kotlin.String): kotlin.Suppress
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Suppress
symbol = <constructor>(vararg names: kotlin.String): kotlin.Suppress
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String
]
argumentMapping = {
"s" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = vararg names: kotlin.String)
}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,3 +1,11 @@
KtAnnotationCall:
argumentMapping = { }
targetFunction = <constructor>(): Anno
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Anno
symbol = <constructor>(): Anno
valueParameters = []
argumentMapping = {}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (vararg elements: kotlin.Int), 2 -> (vararg elements: kotlin.Int), 3 -> (vararg elements: kotlin.Int) }
targetFunction = kotlin/arrayOf(vararg elements: kotlin.Int): kotlin.Array<kotlin.Int>
substitutor = <map substitutor: {T = kotlin/Int}>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Array<kotlin.Int>
symbol = kotlin/arrayOf(vararg elements: T): kotlin.Array<T>
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: T
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: T),
2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: T),
3 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: T)
}
@@ -0,0 +1,3 @@
fun test(f: () -> Unit) {
<expr>f</expr>()
}
@@ -0,0 +1,10 @@
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Function0<kotlin.Unit>
symbol = f: kotlin.Function0<kotlin.Unit>
simpleAccess = Read:
@@ -0,0 +1,3 @@
fun test(a: Any?) {
<expr>a!!</expr>
}
@@ -0,0 +1,3 @@
KtSuccessCallInfo:
call = KtCheckNotNullCall:
baseExpression = a
@@ -0,0 +1,3 @@
fun test(a: (() -> Unit)?) {
<expr>a!!</expr>()
}
@@ -0,0 +1,3 @@
KtSuccessCallInfo:
call = KtCheckNotNullCall:
baseExpression = a
@@ -0,0 +1,3 @@
fun test(i: Int, j: Int) {
<expr>i < j</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = i
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = kotlin/Int.compareTo(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = other: kotlin.Int
]
argumentMapping = {
j -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = other: kotlin.Int)
}
@@ -0,0 +1,6 @@
interface A {
operator fun plusAssign(i: Int)
}
fun test(l: A) {
<expr>l += 1</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = l
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /A.plusAssign(<dispatch receiver>: A, i: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int)
}
@@ -0,0 +1,6 @@
interface A {
operator fun plusAssign(i: Int)
}
fun test(l: A) {
<expr>l</expr> += 1
}
@@ -0,0 +1,10 @@
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = A
symbol = l: A
simpleAccess = Read:
@@ -0,0 +1,4 @@
fun test() {
var i = 1
<expr>i += 1</expr>
}
@@ -0,0 +1,27 @@
KtSuccessCallInfo:
call = KtCompoundVariableAccessCall:
compoundAccess = CompoundAssign:
kind = PLUS_ASSIGN
operand = 1
operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = i
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = other: kotlin.Int
]
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = var i: kotlin.Int
@@ -0,0 +1,4 @@
fun test() {
var i = 1
<expr>i</expr> += 1
}
@@ -0,0 +1,10 @@
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = var i: kotlin.Int
simpleAccess = Read:
@@ -0,0 +1,8 @@
interface MyMap<K, V> {
operator fun get(k: K): V
operator fun set(k: K, v: V)
}
fun test(m: MyMap<String, Int>) {
<expr>m["a"] += 1</expr>
}
@@ -0,0 +1,57 @@
KtSuccessCallInfo:
call = KtCompoundArrayAccessCall:
compoundAccess = CompoundAssign:
kind = PLUS_ASSIGN
operand = 1
operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m["a"]
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = other: kotlin.Int
]
getPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = /MyMap.get(<dispatch receiver>: MyMap<kotlin.String, kotlin.Int>, k: kotlin.String): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String
]
indexArguments = [
"a"
]
setPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /MyMap.set(<dispatch receiver>: MyMap<kotlin.String, kotlin.Int>, k: kotlin.String, v: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = v: kotlin.Int
]
@@ -0,0 +1,11 @@
interface MyMap<K1, V1> {
operator fun get(k: K1): V1
}
interface Foo {
operator fun <K2, V2> MyMap<K2, V2>.set(k: K2, v: V2)
fun test(m: MyMap<String, Int>) {
<expr>m["a"] += 1</expr>
}
}
@@ -0,0 +1,76 @@
KtSuccessCallInfo:
call = KtCompoundArrayAccessCall:
compoundAccess = CompoundAssign:
kind = PLUS_ASSIGN
operand = 1
operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m["a"]
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = other: kotlin.Int
]
getPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = /MyMap.get(<dispatch receiver>: MyMap<kotlin.String, kotlin.Int>, k: kotlin.String): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String
]
indexArguments = [
"a"
]
setPartiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtImplicitReceiverValue:
symbol = KtNamedClassOrObjectSymbol:
annotationsList: []
classIdIfNonLocal: Foo
classKind: INTERFACE
companionObject: null
isData: false
isExternal: false
isFun: false
isInline: false
isInner: false
modality: ABSTRACT
name: Foo
origin: SOURCE
superTypes: [
kotlin/Any
]
symbolKind: TOP_LEVEL
typeParameters: []
visibility: Public
extensionReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = MyMap<kotlin.String, kotlin.Int>
returnType = kotlin.Unit
symbol = /Foo.set(<extension receiver>: MyMap<K2, V2>, <dispatch receiver>: Foo, k: K2, v: V2): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: K2,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = v: V2
]
@@ -0,0 +1,8 @@
interface MyMap<K, V> {
operator fun get(k: K): V
operator fun set(k: K, v: V)
}
fun test(m: MyMap<String, Int>) {
<expr>m["a"]</expr> += 1
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = /MyMap.get(<dispatch receiver>: MyMap<kotlin.String, kotlin.Int>, k: kotlin.String): kotlin.Int
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String
]
argumentMapping = {
"a" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String)
}
@@ -0,0 +1,11 @@
interface A {
operator fun plusAssign(i: Int)
}
interface MyMap<K, V> {
operator fun get(k: K): V
}
fun test(m: MyMap<String, A>) {
<expr>m["a"] += 1</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m["a"]
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /A.plusAssign(<dispatch receiver>: A, i: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int)
}
@@ -0,0 +1,11 @@
interface A {
operator fun plusAssign(i: Int)
}
interface MyMap<K, V> {
operator fun get(k: K): V
}
fun test(m: MyMap<String, A>) {
<expr>m["a"]</expr> += 1
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = m
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = A
symbol = /MyMap.get(<dispatch receiver>: MyMap<kotlin.String, A>, k: kotlin.String): A
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String
]
argumentMapping = {
"a" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = k: kotlin.String)
}
@@ -0,0 +1,6 @@
operator fun Int.invoke() : Long = 1L
operator fun Long.invoke() : Double = 1.0
operator fun Double.invoke() {}
fun test(i: Int) {
<expr>i()</expr>()()
}
@@ -0,0 +1,14 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = true
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = i
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = kotlin.Int
returnType = kotlin.Long
symbol = /invoke(<extension receiver>: kotlin.Int): kotlin.Long
valueParameters = []
argumentMapping = {}
@@ -0,0 +1,6 @@
operator fun Int.invoke() : Long = 1L
operator fun Long.invoke() : Double = 1.0
operator fun Double.invoke() {}
fun test(i: Int) {
<expr>i()()</expr>()
}
@@ -0,0 +1,14 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = true
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = i()
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = kotlin.Long
returnType = kotlin.Double
symbol = /invoke(<extension receiver>: kotlin.Long): kotlin.Double
valueParameters = []
argumentMapping = {}
@@ -0,0 +1,6 @@
operator fun Int.invoke() : Long = 1L
operator fun Long.invoke() : Double = 1.0
operator fun Double.invoke() {}
fun test(i: Int) {
<expr>i()()()</expr>
}
@@ -0,0 +1,14 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = true
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = i()()
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = kotlin.Double
returnType = kotlin.Unit
symbol = /invoke(<extension receiver>: kotlin.Double): kotlin.Unit
valueParameters = []
argumentMapping = {}
@@ -0,0 +1,6 @@
operator fun Int.invoke() : Long = 1L
operator fun Long.invoke() : Double = 1.0
operator fun Double.invoke() {}
fun test(i: Int) {
<expr>i</expr>()()()
}
@@ -0,0 +1,10 @@
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int
simpleAccess = Read:
@@ -1,4 +1,22 @@
KtDelegatedConstructorCall:
argumentMapping = { i + j -> (p1: kotlin.Int) }
targetFunction = <constructor>(p1: kotlin.Int): Base
kind = SUPER_CALL
KtSuccessCallInfo:
call = KtDelegatedConstructorCall:
kind = SUPER_CALL
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Base
symbol = <constructor>(p1: kotlin.Int): Base
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int
]
argumentMapping = {
i + j -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int)
}
@@ -1,4 +1,25 @@
KtDelegatedConstructorCall:
argumentMapping = { s -> (p1: kotlin.Int) }
targetFunction = ERR<Argument type mismatch: actual type is kotlin/String but kotlin/Int was expected, [<constructor>(p1: kotlin.Int): Base]>
kind = SUPER_CALL
KtErrorCallInfo:
candidateCalls = [
KtDelegatedConstructorCall:
kind = SUPER_CALL
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Base
symbol = <constructor>(p1: kotlin.Int): Base
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int
]
argumentMapping = {
s -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int)
}
]
diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is kotlin/String but kotlin/Int was expected>
@@ -1,4 +1,22 @@
KtDelegatedConstructorCall:
argumentMapping = { s.length -> (p1: kotlin.Int) }
targetFunction = <constructor>(p1: kotlin.Int): Sub
kind = THIS_CALL
KtSuccessCallInfo:
call = KtDelegatedConstructorCall:
kind = THIS_CALL
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Sub
symbol = <constructor>(p1: kotlin.Int): Sub
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int
]
argumentMapping = {
s.length -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int)
}
@@ -1,4 +1,40 @@
KtDelegatedConstructorCall:
argumentMapping = { }
targetFunction = ERR<None of the following functions are applicable: [/Sub.Sub, /Sub.Sub], [<constructor>(p: kotlin.Int): Sub, <constructor>(i: kotlin.Int, j: kotlin.Int): Sub]>
kind = THIS_CALL
KtErrorCallInfo:
candidateCalls = [
KtDelegatedConstructorCall:
kind = THIS_CALL
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Sub
symbol = <constructor>(p: kotlin.Int): Sub
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = p: kotlin.Int
]
argumentMapping = {},
KtDelegatedConstructorCall:
kind = THIS_CALL
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Sub
symbol = <constructor>(i: kotlin.Int, j: kotlin.Int): Sub
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = j: kotlin.Int
]
argumentMapping = {}
]
diagnostic = ERROR<NONE_APPLICABLE: None of the following functions are applicable: [/Sub.Sub, /Sub.Sub]>
@@ -1,3 +1,21 @@
KtAnnotationCall:
argumentMapping = { Color.R -> (color: Color) }
targetFunction = <constructor>(color: Color): Annotation
KtSuccessCallInfo:
call = KtAnnotationCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Annotation
symbol = <constructor>(color: Color): Annotation
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = Color
symbol = color: Color
]
argumentMapping = {
Color.R -> (KtVariableLikeSignature:
receiverType = null
returnType = Color
symbol = color: Color)
}
@@ -0,0 +1,5 @@
class B
fun test(b1: B, b2: B) {
<expr>b1 == b2</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = b1
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?
]
argumentMapping = {
b2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?)
}
@@ -0,0 +1,11 @@
open class A {
override fun equals(other: Any?): Boolean {
return true
}
}
class B : A()
fun test(b1: B, b2: B) {
<expr>b1 == b2</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = b1
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = /A.equals(<dispatch receiver>: A, other: kotlin.Any?): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?
]
argumentMapping = {
b2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?)
}
@@ -0,0 +1,9 @@
open class A {
override fun equals(other: Any?): Boolean {
return true
}
}
fun test(a1: A, a2: A) {
<expr>a1 == a2</expr>
}
@@ -0,0 +1,24 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = a1
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = /A.equals(<dispatch receiver>: A, other: kotlin.Any?): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?
]
argumentMapping = {
a2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Any?
symbol = other: kotlin.Any?)
}
@@ -1,4 +1,22 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int) }
targetFunction = /function(a: kotlin.Int): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(a: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int)
}
@@ -1,4 +1,24 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int) }
targetFunction = /function(<extension receiver>: kotlin.String, a: kotlin.Int): kotlin.Unit
substitutor = <map substitutor: {A = kotlin/String, B = kotlin/Int}>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = "str"
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = kotlin.String
returnType = kotlin.Unit
symbol = /function(<extension receiver>: A, a: B): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: B
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: B)
}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), { s -> true } -> (b: kotlin.Function1<kotlin.String, kotlin.Boolean>) }
targetFunction = /function(a: kotlin.Int, b: kotlin.Function1<kotlin.String, kotlin.Boolean>): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(a: kotlin.Int, b: kotlin.Function1<kotlin.String, kotlin.Boolean>): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Function1<kotlin.String, kotlin.Boolean>
symbol = b: kotlin.Function1<kotlin.String, kotlin.Boolean>
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
{ s -> true } -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Function1<kotlin.String, kotlin.Boolean>
symbol = b: kotlin.Function1<kotlin.String, kotlin.Boolean>)
}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { "foo" -> (b: kotlin.String), 1 -> (a: kotlin.Int) }
targetFunction = /function(a: kotlin.Int, b: kotlin.String): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(a: kotlin.Int, b: kotlin.String): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String
]
argumentMapping = {
"foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String),
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int)
}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), { s -> true } -> (b: kotlin.Function1<kotlin.String, kotlin.Boolean>) }
targetFunction = /function(a: kotlin.Int, b: kotlin.Function1<kotlin.String, kotlin.Boolean>): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(a: kotlin.Int, b: kotlin.Function1<kotlin.String, kotlin.Boolean>): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Function1<kotlin.String, kotlin.Boolean>
symbol = b: kotlin.Function1<kotlin.String, kotlin.Boolean>
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
{ s -> true } -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Function1<kotlin.String, kotlin.Boolean>
symbol = b: kotlin.Function1<kotlin.String, kotlin.Boolean>)
}
@@ -1,4 +1,22 @@
KtFunctionCall:
argumentMapping = { args -> (vararg a: kotlin.Int) }
targetFunction = /function(vararg a: kotlin.Int): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(vararg a: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int
]
argumentMapping = {
args -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int)
}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), "" -> (b: kotlin.String) }
targetFunction = /function(a: kotlin.Int, b: kotlin.String): kotlin.Unit
substitutor = <map substitutor: {A = kotlin/Int, B = kotlin/String}>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(a: A, b: B): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: A,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: B
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: A),
"" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: B)
}
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (vararg a: kotlin.Int), 2 -> (vararg a: kotlin.Int), 3 -> (vararg a: kotlin.Int) }
targetFunction = /function(vararg a: kotlin.Int): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /function(vararg a: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int),
2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int),
3 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg a: kotlin.Int)
}
@@ -0,0 +1,6 @@
class A {
val f: String.() -> Unit = {}
fun test() {
"".<expr>f()</expr>
}
}
@@ -0,0 +1,21 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = true
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = f
isSafeNavigation = false
extensionReceiver = KtExplicitReceiverValue:
expression = ""
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = kotlin/Function1.invoke(<dispatch receiver>: kotlin.Function1<kotlin.String, kotlin.Unit>, p1: kotlin.String): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = p1: kotlin.String
]
argumentMapping = {}
@@ -0,0 +1,7 @@
class A {
fun test() {
"".<expr>f()</expr>
}
}
val A.f: String.() -> Unit = {}
@@ -0,0 +1,21 @@
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = true
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = f
isSafeNavigation = false
extensionReceiver = KtExplicitReceiverValue:
expression = ""
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = kotlin/Function1.invoke(<dispatch receiver>: kotlin.Function1<kotlin.String, kotlin.Unit>, p1: kotlin.String): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = p1: kotlin.String
]
argumentMapping = {}
@@ -1,4 +1,24 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int) }
targetFunction = /function(<extension receiver>: kotlin.String, a: kotlin.Int): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = "str"
isSafeNavigation = false
signature = KtFunctionLikeSignature:
receiverType = kotlin.String
returnType = kotlin.Unit
symbol = /function(<extension receiver>: kotlin.String, a: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int)
}
@@ -1,4 +1,24 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int) }
targetFunction = /function(<extension receiver>: kotlin.String, a: kotlin.Int): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = KtExplicitReceiverValue:
expression = "str"
isSafeNavigation = true
signature = KtFunctionLikeSignature:
receiverType = kotlin.String
returnType = kotlin.Unit
symbol = /function(<extension receiver>: kotlin.String, a: kotlin.Int): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int)
}
@@ -0,0 +1,5 @@
fun test() {
<expr>Obj(555)</expr>
}
object Obj
@@ -0,0 +1,15 @@
KtErrorCallInfo:
candidateCalls = [
KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = Obj
symbol = <constructor>(): Obj
valueParameters = []
argumentMapping = {}
]
diagnostic = ERROR<INVISIBLE_REFERENCE: Symbol /Obj.Obj is invisible>
@@ -0,0 +1,6 @@
@Deprecated("", level=DeprecationLevel.HIDDEN)
fun a() {}
fun test() {
<expr>a()</expr>
}
@@ -0,0 +1,3 @@
KtErrorCallInfo:
candidateCalls = []
diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference: a>
@@ -1,4 +1,22 @@
KtFunctionCall:
argumentMapping = { 42 -> (i: kotlin.Int) }
targetFunction = <constructor>(i: kotlin.Int): A
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = A
symbol = <constructor>(i: kotlin.Int): A
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int
]
argumentMapping = {
42 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = i: kotlin.Int)
}
@@ -1,4 +1,12 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = <constructor>(): A
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = A
symbol = <constructor>(): A
valueParameters = []
argumentMapping = {}
@@ -1,4 +1,12 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = <constructor>(): A
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = A
symbol = <constructor>(): A
valueParameters = []
argumentMapping = {}
@@ -1,4 +1,32 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), "foo" -> (b: kotlin.String) }
targetFunction = /C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = /C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
"foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String)
}
@@ -1,4 +1,31 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int) }
targetFunction = ERR<No value passed for parameter 'b', [/C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean]>
substitutor = <empty substitutor>
KtErrorCallInfo:
candidateCalls = [
KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = /C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int)
}
]
diagnostic = ERROR<NO_VALUE_FOR_PARAMETER: No value passed for parameter 'b'>
@@ -1,4 +1,35 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), "foo" -> (b: kotlin.String) }
targetFunction = ERR<Too many arguments for public final operator fun /C.get(a: R|kotlin/Int|, b: R|kotlin/String|): R|kotlin/Boolean|, [/C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean]>
substitutor = <empty substitutor>
KtErrorCallInfo:
candidateCalls = [
KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = /C.get(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String): kotlin.Boolean
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
"foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String)
}
]
diagnostic = ERROR<TOO_MANY_ARGUMENTS: Too many arguments for public final operator fun /C.get(a: R|kotlin/Int|, b: R|kotlin/String|): R|kotlin/Boolean|>
@@ -1,4 +1,40 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), "foo" -> (b: kotlin.String), false -> (value: kotlin.Boolean) }
targetFunction = /C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
"foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String),
false -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean)
}
@@ -1,4 +1,39 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), false -> (value: kotlin.Boolean) }
targetFunction = ERR<No value passed for parameter 'b', [/C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit]>
substitutor = <empty substitutor>
KtErrorCallInfo:
candidateCalls = [
KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
false -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean)
}
]
diagnostic = ERROR<NO_VALUE_FOR_PARAMETER: No value passed for parameter 'b'>
@@ -1,4 +1,43 @@
KtFunctionCall:
argumentMapping = { 1 -> (a: kotlin.Int), "foo" -> (b: kotlin.String), false -> (value: kotlin.Boolean) }
targetFunction = ERR<Too many arguments for public final operator fun /C.set(a: R|kotlin/Int|, b: R|kotlin/String|, value: R|kotlin/Boolean|): R|kotlin/Unit|, [/C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit]>
substitutor = <empty substitutor>
KtErrorCallInfo:
candidateCalls = [
KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = c
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /C.set(<dispatch receiver>: C, a: kotlin.Int, b: kotlin.String, value: kotlin.Boolean): kotlin.Unit
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String,
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = a: kotlin.Int),
"foo" -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = b: kotlin.String),
false -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Boolean
symbol = value: kotlin.Boolean)
}
]
diagnostic = ERROR<TOO_MANY_ARGUMENTS: Too many arguments for public final operator fun /C.set(a: R|kotlin/Int|, b: R|kotlin/String|, value: R|kotlin/Boolean|): R|kotlin/Unit|>
@@ -1,4 +1,30 @@
KtFunctionCall:
argumentMapping = { 1 -> (vararg elements: kotlin.Int), 2 -> (vararg elements: kotlin.Int), 3 -> (vararg elements: kotlin.Int) }
targetFunction = kotlin/intArrayOf(vararg elements: kotlin.Int): kotlin.IntArray
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = null
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.IntArray
symbol = kotlin/intArrayOf(vararg elements: kotlin.Int): kotlin.IntArray
valueParameters = [
KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: kotlin.Int
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: kotlin.Int),
2 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: kotlin.Int),
3 -> (KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = vararg elements: kotlin.Int)
}
@@ -1,4 +1,14 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = /JavaClass.javaMethod(<dispatch receiver>: JavaClass): kotlin.Unit
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleFunctionCall:
isImplicitInvoke = false
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = javaClass
isSafeNavigation = false
extensionReceiver = null
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.Unit
symbol = /JavaClass.javaMethod(<dispatch receiver>: JavaClass): kotlin.Unit
valueParameters = []
argumentMapping = {}
@@ -1,4 +1,12 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = /JavaClass.getFoo(<dispatch receiver>: JavaClass): kotlin.Int
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = javaClass
isSafeNavigation = false
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = val foo: kotlin.Int
simpleAccess = Read:
@@ -1,4 +1,13 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = /JavaClass.getFoo(<dispatch receiver>: JavaClass): kotlin.Int
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtImplicitReceiverValue:
symbol = KtReceiverParameterSymbol:
origin: SOURCE
type: JavaClass
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = kotlin.Int
symbol = val foo: kotlin.Int
simpleAccess = Read:
@@ -1,4 +1,12 @@
KtFunctionCall:
argumentMapping = { }
targetFunction = /JavaClass.getSub(<dispatch receiver>: JavaClass): ft<JavaSubClass, JavaSubClass?>
substitutor = <empty substitutor>
KtSuccessCallInfo:
call = KtSimpleVariableAccessCall:
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
dispatchReceiver = KtExplicitReceiverValue:
expression = javaClass
isSafeNavigation = false
extensionReceiver = null
signature = KtVariableLikeSignature:
receiverType = null
returnType = ft<JavaSubClass, JavaSubClass?>
symbol = val sub: ft<JavaSubClass, JavaSubClass?>
simpleAccess = Read:

Some files were not shown because too many files have changed in this diff Show More