[LL FIR] rename testdata to testData to avoid copyright generation

We exclude testData pattern from copyright scope
This commit is contained in:
Dmitrii Gridin
2023-09-18 19:33:14 +02:00
committed by Space Team
parent aef5290210
commit 33e6a85a2d
1953 changed files with 2000 additions and 2000 deletions
@@ -0,0 +1 @@
fun foo() = <expr>args.size</expr>
@@ -0,0 +1,16 @@
KT element: KtDotQualifiedExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromFunction.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
@@ -0,0 +1,7 @@
class A {
init {
foo {
<expr>args.size</expr>
}
}
}
@@ -0,0 +1,28 @@
KT element: KtBlockExpression
FIR element: FirBlockImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
{
^ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromInit.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|>
}
init {
<Unresolved name: foo>#(<L> = [ResolvedTo(RAW_FIR)] foo@fun <anonymous>(): R|kotlin/Int| <inline=Unknown> {
^ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
)
}
}
@@ -0,0 +1,5 @@
class A {
fun foo() {
<expr>args.size</expr>
}
}
@@ -0,0 +1,23 @@
KT element: KtDotQualifiedExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromMemberFunction.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
}
@@ -0,0 +1,6 @@
class A {
val i: Int
get() {
return <expr>args.size</expr>
}
}
@@ -0,0 +1,24 @@
KT element: KtDotQualifiedExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromMemberProperty.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] val i: R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| {
^ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
}
@@ -0,0 +1 @@
val bar = <expr>args.size</expr>
@@ -0,0 +1,15 @@
KT element: KtDotQualifiedExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromProperty.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] val bar: R|kotlin/Int| = R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@@ -0,0 +1,4 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtDotQualifiedExpression
foo {
<expr>args.size</expr>
}
@@ -0,0 +1,18 @@
KT element: KtDotQualifiedExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)]
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] val $$result: <ERROR TYPE REF: Unresolved name: foo> = <Unresolved name: foo>#(<L> = [ResolvedTo(BODY_RESOLVE)] foo@fun <anonymous>(): R|kotlin/Int| <inline=Unknown> {
^ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: foo>
@@ -0,0 +1,5 @@
fun y(a: Int){}
fun x() {
y(<expr>1</expr>)
}
@@ -0,0 +1,14 @@
KT element: KtValueArgument
FIR element: FirConstExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callArgument.kt
public final [ResolvedTo(CONTRACTS)] fun y([ResolvedTo(CONTRACTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
R|/y|(Int(1))
}
@@ -0,0 +1,5 @@
fun y(a: Int){}
fun x() {
y(<expr>1</expr>)
}
@@ -0,0 +1,19 @@
KT element: KtValueArgument
FIR element: FirConstExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callArgumentScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(CONTRACTS)] fun y([ResolvedTo(CONTRACTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
R|/y|(Int(1))
}
@@ -0,0 +1,9 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class B(x: () -> Unit)
class A() : B(1, {
<expr>foo()</expr>
})
fun foo() {}
@@ -0,0 +1,26 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallAndExplicitConstructor.kt
public open [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] x: R|() -> kotlin/Unit|): R|B| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(STATUS)] class A : R|B| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| {
super<R|B|>(Int(1), [ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/foo|()
}
)
}
}
public final [ResolvedTo(CONTRACTS)] fun foo(): R|kotlin/Unit| {
}
@@ -0,0 +1,9 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class B(x: () -> Unit)
class A() : B(1, {
<expr>foo()</expr>
})
fun foo() {}
@@ -0,0 +1,32 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallAndExplicitConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] x: R|() -> kotlin/Unit|): R|B| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(STATUS)] class A : R|B| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| {
super<R|B|>(Int(1), [ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/foo|()
}
)
}
}
public final [ResolvedTo(CONTRACTS)] fun foo(): R|kotlin/Unit| {
}
@@ -0,0 +1,9 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class B(x: () -> Unit)
class A : B(1, {
<expr>foo()</expr>
})
fun foo() {}
@@ -0,0 +1,26 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallAndImplicitConstructor.kt
public open [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] x: R|() -> kotlin/Unit|): R|B| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] class A : R|B| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| {
super<R|B|>(Int(1), [ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/foo|()
}
)
}
}
public final [ResolvedTo(CONTRACTS)] fun foo(): R|kotlin/Unit| {
}
@@ -0,0 +1,19 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class A(x: () -> Unit)
class B : A {
constructor(i: Int) : super(
{
foo(i)
}
)
constructor(l: Long) : super(
{
<expr>foo(l)</expr>
}
)
}
fun foo(any: Any) {}
@@ -0,0 +1,30 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|(R|<local>/l|)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallFromSecondaryConstructor.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] x: R|() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(STATUS)] class B : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|B| {
LAZY_super<<implicit>>
}
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] l: R|kotlin/Long|): R|B| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/foo|(R|<local>/l|)
}
)
}
}
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] any: R|kotlin/Any|): R|kotlin/Unit| {
}
@@ -0,0 +1,13 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class A(x: () -> Unit)
class B : A {
constructor(i: Int) : super(
{
<expr>foo(i)</expr>
}
)
}
fun foo(any: Any) {}
@@ -0,0 +1,26 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|(R|<local>/i|)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallFromSingleSecondaryConstructor.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] x: R|() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(STATUS)] class B : R|A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|): R|B| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
R|/foo|(R|<local>/i|)
}
)
}
}
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] any: R|kotlin/Any|): R|kotlin/Unit| {
}
@@ -0,0 +1,2 @@
val foo = "foo"
val bar = <expr>foo</expr>
@@ -0,0 +1,18 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/foo|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callOnePropertyFromAnother.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val foo: R|kotlin/String| = String(foo)
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String|
public final [ResolvedTo(BODY_RESOLVE)] val bar: R|kotlin/String| = R|/foo|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String|
@@ -0,0 +1,5 @@
fun y<T>(){}
fun x() {
y< <expr>Int</expr> >()
}
@@ -0,0 +1,14 @@
KT element: KtTypeProjection
FIR element: FirTypeProjectionWithVarianceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|kotlin/Int|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] calllTypeArguments.kt
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> y(): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
R|/y|<R|kotlin/Int|>()
}
@@ -0,0 +1,5 @@
fun y<T>(){}
fun x() {
y< <expr>Int</expr> >()
}
@@ -0,0 +1,19 @@
KT element: KtTypeProjection
FIR element: FirTypeProjectionWithVarianceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|kotlin/Int|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] calllTypeArgumentsScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> y(): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
R|/y|<R|kotlin/Int|>()
}
@@ -0,0 +1,6 @@
interface A {
operator fun plusAssign(i: Int)
}
fun test(l: A) {
<expr>l += 1</expr>
}
@@ -0,0 +1,16 @@
KT element: KtBinaryExpression
FIR element: FirFunctionCallImpl
FIR source kind: DesugaredCompoundAssignment
FIR element rendered:
R|<local>/l|.R|/A.plusAssign|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVal.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun plusAssign([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] l: R|A|): R|kotlin/Unit| {
R|<local>/l|.R|/A.plusAssign|(Int(1))
}
@@ -0,0 +1,6 @@
interface A {
operator fun plusAssign(i: Int)
}
fun test(l: A) {
<expr>l</expr> += 1
}
@@ -0,0 +1,16 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/l|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVal_lhs.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun plusAssign([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] l: R|A|): R|kotlin/Unit| {
R|<local>/l|.R|/A.plusAssign|(Int(1))
}
@@ -0,0 +1,4 @@
fun test() {
var i = 1
<expr>i += 1</expr>
}
@@ -0,0 +1,13 @@
KT element: KtBinaryExpression
FIR element: FirVariableAssignmentImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/i| = R|<local>/i|.R|kotlin/Int.plus|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVar.kt
public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lvar i: R|kotlin/Int| = Int(1)
R|<local>/i| = R|<local>/i|.R|kotlin/Int.plus|(Int(1))
}
@@ -0,0 +1,2 @@
var i = 1
<expr>i += 1</expr>
@@ -0,0 +1,26 @@
KT element: KtScriptInitializer
FIR element: FirScriptImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)]
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var i: R|kotlin/Int| = Int(1)
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
R|/i| = R|/i|.R|kotlin/Int.plus|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVarScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)]
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var i: R|kotlin/Int| = Int(1)
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
R|/i| = R|/i|.R|kotlin/Int.plus|(Int(1))
@@ -0,0 +1,4 @@
fun test() {
var i = 1
<expr>i</expr> += 1
}
@@ -0,0 +1,13 @@
KT element: KtNameReferenceExpression
FIR element: FirVariableAssignmentImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/i| = R|<local>/i|.R|kotlin/Int.plus|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVar_lhs.kt
public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lvar i: R|kotlin/Int| = Int(1)
R|<local>/i| = R|<local>/i|.R|kotlin/Int.plus|(Int(1))
}
@@ -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,24 @@
KT element: KtBinaryExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayAccessConvention.kt
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
{
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, kotlin/Int>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
}
Unit
}
@@ -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,29 @@
KT element: KtBinaryExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayAccessConventionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
{
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, kotlin/Int>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
}
Unit
}
@@ -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 @@
KT element: KtArrayAccessExpression
FIR element: FirFunctionCallImpl
FIR source kind: DesugaredCompoundAssignment
FIR element rendered:
R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayAccessConvention_lhs.kt
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
{
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, kotlin/Int>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
}
Unit
}
@@ -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</expr>["a"] += 1
}
@@ -0,0 +1,24 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/m|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayAccessConvention_propertyAccess.kt
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
{
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, kotlin/Int>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|kotlin/Int|>|(R|<local>/<index_0>|).R|kotlin/Int.plus|(Int(1)))
}
Unit
}
@@ -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,21 @@
KT element: KtBinaryExpression
FIR element: FirFunctionCallImpl
FIR source kind: DesugaredCompoundAssignment
FIR element rendered:
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a)).R|/A.plusAssign|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayGetConvention.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun plusAssign([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|kotlin/Unit|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a)).R|/A.plusAssign|(Int(1))
Unit
}
@@ -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,27 @@
KT element: KtBinaryExpression
FIR element: FirFunctionCallImpl
FIR source kind: DesugaredCompoundAssignment
FIR element rendered:
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a)).R|/A.plusAssign|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayGetConventionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun plusAssign([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|kotlin/Unit|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a)).R|/A.plusAssign|(Int(1))
Unit
}
@@ -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,21 @@
KT element: KtArrayAccessExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignWithArrayGetConvention_lhs.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun plusAssign([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|kotlin/Unit|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
R|<local>/m|.R|SubstitutionOverride</MyMap.get: R|A|>|(String(a)).R|/A.plusAssign|(Int(1))
Unit
}
@@ -0,0 +1,4 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSuperTypeCallEntry
open class B(x: Int)
class A : <expr>B(1)</expr>
@@ -0,0 +1,21 @@
KT element: KtSuperTypeCallEntry
FIR element: FirDelegatedConstructorCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
super<R|B|>(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] constructorDelegationSuperCall.kt
public open [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] x: R|kotlin/Int|): R|B| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] class A : R|B| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| {
super<R|B|>(Int(1))
}
}
@@ -0,0 +1,4 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSuperTypeCallEntry
open class B(x: Int)
class A : <expr>B(1)</expr>
@@ -0,0 +1,26 @@
KT element: KtSuperTypeCallEntry
FIR element: FirDelegatedConstructorCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
super<R|B|>(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] constructorDelegationSuperCallScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] x: R|kotlin/Int|): R|B| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] class A : R|B| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| {
super<R|B|>(Int(1))
}
}
@@ -0,0 +1,3 @@
class A(x: Int) {
constructor(y: String) : <expr>this(1)</expr>
}
@@ -0,0 +1,19 @@
KT element: KtConstructorDelegationCall
FIR element: FirDelegatedConstructorCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
this<R|A|>(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] constructorDelegationThisCall.kt
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] x: R|kotlin/Int|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(BODY_RESOLVE)] y: R|kotlin/String|): R|A| {
this<R|A|>(Int(1))
}
}
@@ -0,0 +1,9 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtValueArgumentList
fun callMe(x: Int, y: String) {
}
fun foo() {
callMe<expr>(1, "2")</expr>
}
@@ -0,0 +1,14 @@
KT element: KtValueArgumentList
FIR element: FirResolvedArgumentListImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)String(2)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] functionCallArgumentList.kt
public final [ResolvedTo(CONTRACTS)] fun callMe([ResolvedTo(CONTRACTS)] x: R|kotlin/Int|, [ResolvedTo(CONTRACTS)] y: R|kotlin/String|): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
R|/callMe|(Int(1), String(2))
}
@@ -0,0 +1,9 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtValueArgumentList
fun callMe(x: Int, y: String) {
}
fun foo() {
callMe<expr>(1, "2")</expr>
}
@@ -0,0 +1,19 @@
KT element: KtValueArgumentList
FIR element: FirResolvedArgumentListImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)String(2)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] functionCallArgumentListScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(CONTRACTS)] fun callMe([ResolvedTo(CONTRACTS)] x: R|kotlin/Int|, [ResolvedTo(CONTRACTS)] y: R|kotlin/String|): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
R|/callMe|(Int(1), String(2))
}
@@ -0,0 +1,17 @@
/*
* Copyright 2010-2022 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.
*/
interface A {
operator fun inc(): A
}
interface MyMap<K, V> {
operator fun get(k: K): V
operator fun set(k: K, v: V): Unit
}
fun test(m: MyMap<String, A>) {
<expr>m["a"]++</expr>
}
@@ -0,0 +1,26 @@
KT element: KtPostfixExpression
FIR element: FirFunctionCallImpl
FIR source kind: DesugaredIncrementOrDecrement
FIR element rendered:
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<unary>|.R|/A.inc|())
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] incWithArrayAccessConvention.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun inc(): R|A|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, A>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
[ResolvedTo(BODY_RESOLVE)] lval <unary>: R|A| = R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|A|>|(R|<local>/<index_0>|)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<unary>|.R|/A.inc|())
R|<local>/<unary>|
}
@@ -0,0 +1,17 @@
/*
* Copyright 2010-2022 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.
*/
interface A {
operator fun inc(): A
}
interface MyMap<K, V> {
operator fun get(k: K): V
operator fun set(k: K, v: V): Unit
}
fun test(m: MyMap<String, A>) {
<expr>m</expr>["a"]++
}
@@ -0,0 +1,26 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/m|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] incWithArrayAccessConvention_propertyAccess.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun inc(): R|A|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, A>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
[ResolvedTo(BODY_RESOLVE)] lval <unary>: R|A| = R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|A|>|(R|<local>/<index_0>|)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<unary>|.R|/A.inc|())
R|<local>/<unary>|
}
@@ -0,0 +1,12 @@
interface A {
operator fun inc(): A
}
interface MyMap<K, V> {
operator fun get(k: K): V
operator fun set(k: K, v: V): Unit
}
fun test(m: MyMap<String, A>) {
<expr>m["a"]</expr>++
}
@@ -0,0 +1,26 @@
KT element: KtArrayAccessExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] incWithArrayAccessConvention_set.kt
public abstract [ResolvedTo(STATUS)] interface A : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun inc(): R|A|
}
public abstract [ResolvedTo(STATUS)] interface MyMap<[ResolvedTo(STATUS)] K, [ResolvedTo(STATUS)] V> : R|kotlin/Any| {
public abstract operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] k: R|K|): R|V|
public abstract operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] k: R|K|, [ResolvedTo(CONTRACTS)] v: R|V|): R|kotlin/Unit|
}
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] m: R|MyMap<kotlin/String, A>|): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|MyMap<kotlin/String, A>| = R|<local>/m|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/String| = String(a)
[ResolvedTo(BODY_RESOLVE)] lval <unary>: R|A| = R|<local>/<array>|.R|SubstitutionOverride</MyMap.get: R|A|>|(R|<local>/<index_0>|)
R|<local>/<array>|.R|SubstitutionOverride</MyMap.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<unary>|.R|/A.inc|())
R|<local>/<unary>|
}
@@ -0,0 +1,5 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtValueArgumentList
fun foo(f: (Int, String) -> Unit) {
f<expr>(1, "2")</expr>
}
@@ -0,0 +1,12 @@
KT element: KtValueArgumentList
FIR element: FirResolvedArgumentListImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)String(2)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] invokeCallArgumentList.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] f: R|(kotlin/Int, kotlin/String) -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/f|.R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/Unit|>|(Int(1), String(2))
}
@@ -0,0 +1,5 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtValueArgumentList
fun foo(f: (Int, String) -> Unit) {
f<expr>(1, "2")</expr>
}
@@ -0,0 +1,16 @@
KT element: KtValueArgumentList
FIR element: FirResolvedArgumentListImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Int(1)String(2)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] invokeCallArgumentListScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] f: R|(kotlin/Int, kotlin/String) -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/f|.R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/Unit|>|(Int(1), String(2))
}
@@ -0,0 +1,5 @@
class SomeTest
fun dslSpeedTest(f2: SomeTest.() -> Unit) {
<expr>f2()</expr>
}
@@ -0,0 +1,18 @@
KT element: KtCallExpression
FIR element: FirImplicitInvokeCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/f2|.R|SubstitutionOverride<kotlin/Function1.invoke: R|kotlin/Unit|><Inapplicable(INAPPLICABLE_ARGUMENTS_MAPPING_ERROR): kotlin/Function1.invoke>#|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] noReceiverOnLambda.kt
public? final? [ResolvedTo(RAW_FIR)] class SomeTest : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SomeTest] constructor(): R|SomeTest| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun dslSpeedTest([ResolvedTo(BODY_RESOLVE)] f2: R|SomeTest.() -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/f2|.R|SubstitutionOverride<kotlin/Function1.invoke: R|kotlin/Unit|><Inapplicable(INAPPLICABLE_ARGUMENTS_MAPPING_ERROR): kotlin/Function1.invoke>#|()
}
@@ -0,0 +1,6 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
class A(
val i: () -> Unit = {
fun foo() = B.<expr>prop</expr>.toString()
}
)
@@ -0,0 +1,24 @@
KT element: KtNameReferenceExpression
FIR element: FirErrorNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
<Unresolved name: prop>#
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsidePropertyInsideConstructor.kt
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/A.i] i: R|() -> kotlin/Unit| = [ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo <Unresolved name: B>#.<Unresolved name: prop>#.R|kotlin/toString|()
}
}
): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val i: R|() -> kotlin/Unit| = R|<local>/i|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|() -> kotlin/Unit|
}
@@ -0,0 +1,12 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A(
{
fun foo() = B.<expr>prop</expr>.toString()
}
)
@@ -0,0 +1,36 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/A.prop|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] object B : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
@@ -0,0 +1,12 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtCallExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A(
{
fun foo() = B.prop.<expr>toString()</expr>
}
)
@@ -0,0 +1,36 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Q|B|.R|/A.prop|.R|kotlin/String.toString|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall2.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] object B : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
@@ -0,0 +1,14 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A(
{
fun foo() = B.<expr>prop</expr>.toString()
}
) {
constructor()
}
@@ -0,0 +1,40 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/A.prop|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall3.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=A] constructor([ResolvedTo(EXPECT_ACTUAL_MATCHING)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] object B : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] error_constructor(): R|C| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
super<R|A|>()
}
}
@@ -0,0 +1,20 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A({})
class G : A(
{
fun foo() = B.<expr>prop</expr>.toString()
}
) {
constructor() : super(
{
fun foo() = C.prop.toString()
}
)
}
@@ -0,0 +1,52 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/A.prop|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall4.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] object B : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(STATUS)] object C : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] class G : R|A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] error_constructor(): R|G| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
@@ -0,0 +1,20 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A({})
class G : A(
{
fun foo() = B.prop.toString()
}
) {
constructor() : super(
{
fun foo() = C.<expr>prop</expr>.toString()
}
)
}
@@ -0,0 +1,46 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/A.prop|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall5.kt
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public? final? [ResolvedTo(RAW_FIR)] object B : A {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<A>
}
}
public final [ResolvedTo(STATUS)] object C : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(STATUS)] class G : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=G] error_constructor(): R|G| {
LAZY_super<R|A|>
}
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
@@ -0,0 +1,12 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtSimpleNameExpression
open class A(init: A.() -> Unit) {
val prop: String = ""
}
object B : A({})
object C : A(
{
fun foo() = B.<expr>prop</expr>.toString()
}
)
@@ -0,0 +1,42 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|/A.prop|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCallScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)]
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] object B : R|A| {
private [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor(): R|B| {
LAZY_super<R|A|>
}
}
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
@@ -0,0 +1,7 @@
object A {
fun y(a: Int){}
}
fun x() {
A.<expr>y(1)</expr>
}
@@ -0,0 +1,21 @@
KT element: KtCallExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Q|A|.R|/A.y|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedCallSelector.kt
public final [ResolvedTo(STATUS)] object A : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun y([ResolvedTo(CONTRACTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
Q|A|.R|/A.y|(Int(1))
}
@@ -0,0 +1,7 @@
object A {
fun y(a: Int){}
}
fun x() {
<expr>A.y(1)</expr>
}
@@ -0,0 +1,21 @@
KT element: KtDotQualifiedExpression
FIR element: FirFunctionCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Q|A|.R|/A.y|(Int(1))
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] qualifiedWholeCall.kt
public final [ResolvedTo(STATUS)] object A : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun y([ResolvedTo(CONTRACTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit| {
Q|A|.R|/A.y|(Int(1))
}
@@ -0,0 +1,12 @@
package test
class B(val n: Int) {
operator fun set(i: Int, a: B) {}
operator fun get(i: Int) : B {}
operator fun inc() : B {}
}
fun test() {
var a = B(1)
<expr>a[2]</expr>++
}
@@ -0,0 +1,37 @@
KT element: KtArrayAccessExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/B.set|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] setOperator.kt
package test
public final [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=test/B.n] n: R|kotlin/Int|): R|test/B| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val n: R|kotlin/Int| = R|<local>/n|
public [ResolvedTo(STATUS)] [ContainingClassKey=B] get(): R|kotlin/Int|
public final operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|, [ResolvedTo(CONTRACTS)] a: R|test/B|): R|kotlin/Unit| {
}
public final operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|test/B| {
}
public final operator [ResolvedTo(CONTRACTS)] fun inc(): R|test/B| {
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
[ResolvedTo(BODY_RESOLVE)] lvar a: R|test/B| = R|test/B.B|(Int(1))
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|test/B| = R|<local>/a|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/Int| = Int(2)
[ResolvedTo(BODY_RESOLVE)] lval <unary>: R|test/B| = R|<local>/<array>|.R|test/B.get|(R|<local>/<index_0>|)
R|<local>/<array>|.R|test/B.set|(R|<local>/<index_0>|, R|<local>/<unary>|.R|test/B.inc|())
R|<local>/<unary>|
}
@@ -0,0 +1,10 @@
package test
class B(val n: Int) {
operator fun set(i: Int, a: B) {}
operator fun get(i: Int) : B {}
operator fun inc() : B {}
}
var a = B(1)
<expr>a[2]</expr>++
@@ -0,0 +1,47 @@
KT element: KtArrayAccessExpression
FIR element: FirResolvedNamedReferenceImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/B.set|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] setOperatorScript.kts
package test
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)]
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=test/B.n] n: R|kotlin/Int|): R|test/B| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val n: R|kotlin/Int| = R|<local>/n|
public [ResolvedTo(STATUS)] [ContainingClassKey=B] get(): R|kotlin/Int|
public final operator [ResolvedTo(CONTRACTS)] fun set([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|, [ResolvedTo(CONTRACTS)] a: R|test/B|): R|kotlin/Unit| {
}
public final operator [ResolvedTo(CONTRACTS)] fun get([ResolvedTo(CONTRACTS)] i: R|kotlin/Int|): R|test/B| {
}
public final operator [ResolvedTo(CONTRACTS)] fun inc(): R|test/B| {
}
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var a: R|test/B| = R|test/B.B|(Int(1))
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|test/B|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] value: R|test/B|): R|kotlin/Unit|
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|test/B| = {
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|test/B| = R|test/a|
[ResolvedTo(BODY_RESOLVE)] lval <index_0>: R|kotlin/Int| = Int(2)
[ResolvedTo(BODY_RESOLVE)] lval <unary>: R|test/B| = R|<local>/<array>|.R|test/B.get|(R|<local>/<index_0>|)
R|<local>/<array>|.R|test/B.set|(R|<local>/<index_0>|, R|<local>/<unary>|.R|test/B.inc|())
R|<local>/<unary>|
}
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/B|

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