[VISUALIZER] Add implicit receiver rendering in fir

This commit is contained in:
Ivan Kylchik
2021-02-18 18:14:37 +03:00
committed by TeamCityServer
parent 0ca0304865
commit 607c7b3e82
5 changed files with 72 additions and 42 deletions
@@ -5,6 +5,7 @@ class A {
// Int Int
// │ │
val aProp = 10
fun call() {}
}
class B {
@@ -19,26 +20,30 @@ fun foo(a: Int, b: Int): Int {
// │ │ with@0
// │ │ │
with(A()) {
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
// fun (A).call(): Unit
// this@0
// │
call()
// fun <T, R> with<B, Int>(T, T.() -> R): R
// │ constructor B()
// │ │ with@1
// │ │ │
with(B()) {
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
// this@1
// val (B).bProp: Int
// this@1
// │
bProp
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
}
@@ -49,8 +54,8 @@ fun foo(a: Int, b: Int): Int {
// │ │ with@0
// │ │ │
with(A()) {
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
@@ -59,12 +64,12 @@ fun foo(a: Int, b: Int): Int {
// │ │ with@1
// │ │ │
with(B()) {
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
// this@1
// val (B).bProp: Int
// this@1
// │
bProp
}
@@ -74,12 +79,12 @@ fun foo(a: Int, b: Int): Int {
// │ │ with@1
// │ │ │
with(B()) {
// this@0
// val (A).aProp: Int
// this@0
// │
aProp
// this@1
// val (B).bProp: Int
// this@1
// │
bProp
}
@@ -2,6 +2,7 @@ package p
class A {
val aProp = 10
fun call() {}
}
class B {
@@ -11,6 +12,7 @@ class B {
fun foo(a: Int, b: Int): Int {
with(A()) {
aProp
call()
with(B()) {
aProp