Skip to content

Commit

Permalink
Renames and test output format improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
valentinkip committed Apr 17, 2020
1 parent 33082d8 commit 84a786d
Show file tree
Hide file tree
Showing 47 changed files with 179 additions and 159 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ data class ArgumentSliceProducer private constructor(
return listOf(KotlinSliceUsage(argumentExpression, parent, mode, forcedExpressionMode = true))
}

override val testPresentation = "ARGUMENT #$parameterIndex".let { if (isExtension) "$it EXTENSION" else it }

private fun extractArgumentExpression(refElement: PsiElement): PsiElement? {
val refParent = refElement.parent
return when {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ object CallSliceProducer : SliceProducer {
}
}

override val testPresentation: String?
get() = null

override fun equals(other: Any?) = other === this
override fun hashCode() = 0

Expand Down
10 changes: 5 additions & 5 deletions idea/src/org/jetbrains/kotlin/idea/slicer/InflowSlicer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -145,16 +145,16 @@ class InflowSlicer(
lambda.passToProcessor(mode.dropBehaviour())
}

is LambdaArgumentInflowBehaviour -> {
is LambdaParameterInflowBehaviour -> {
val valueParameters = lambda.valueParameters
if (valueParameters.isEmpty() && lambda is KtFunctionLiteral) {
if (currentBehaviour.argumentIndex == 0) {
if (currentBehaviour.parameterIndex == 0) {
lambda.implicitItUsages().forEach {
it.passToProcessor(mode.dropBehaviour())
}
}
} else {
valueParameters.getOrNull(currentBehaviour.argumentIndex)?.passToProcessor(mode.dropBehaviour())
valueParameters.getOrNull(currentBehaviour.parameterIndex)?.passToProcessor(mode.dropBehaviour())
}
}

Expand Down Expand Up @@ -238,9 +238,9 @@ class InflowSlicer(
referencedDeclaration.passToProcessor(mode.dropBehaviour())
}

is LambdaArgumentInflowBehaviour -> {
is LambdaParameterInflowBehaviour -> {
val parameter = (referencedDeclaration as? KtCallableDeclaration)
?.valueParameters?.getOrNull(currentBehaviour.argumentIndex)
?.valueParameters?.getOrNull(currentBehaviour.parameterIndex)
parameter?.passToProcessor(mode.dropBehaviour())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,12 @@ data class LambdaCallsBehaviour(private val sliceProducer: SliceProducer) : Kotl
get() = KotlinBundle.message("slicer.text.tracking.lambda.calls")

override val testPresentationPrefix: String
get() = "[LAMBDA CALLS] "
get() = buildString {
append("[LAMBDA CALLS")
sliceProducer.testPresentation?.let {
append(" ")
append(it)
}
append("] ")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.idea.KotlinBundle
import org.jetbrains.kotlin.idea.findUsages.handlers.SliceUsageProcessor
import org.jetbrains.kotlin.psi.KtElement

data class LambdaArgumentInflowBehaviour(val argumentIndex: Int) : KotlinSliceAnalysisMode.Behaviour {
data class LambdaParameterInflowBehaviour(val parameterIndex: Int) : KotlinSliceAnalysisMode.Behaviour {
override fun processUsages(element: KtElement, parent: KotlinSliceUsage, uniqueProcessor: SliceUsageProcessor) {
InflowSlicer(element, uniqueProcessor, parent).processChildren(parent.forcedExpressionMode)
}
Expand All @@ -18,5 +18,5 @@ data class LambdaArgumentInflowBehaviour(val argumentIndex: Int) : KotlinSliceAn
get() = KotlinBundle.message("slicer.text.tracking.lambda.argument")

override val testPresentationPrefix: String
get() = "[LAMBDA ARGUMENT IN] "
get() = "[LAMBDA PARAMETER #$parameterIndex] "
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ object LambdaReceiverInflowBehaviour : KotlinSliceAnalysisMode.Behaviour {
get() = KotlinBundle.message("slicer.text.tracking.lambda.receiver")

override val testPresentationPrefix: String
get() = "[LAMBDA RECEIVER IN] "
get() = "[LAMBDA RECEIVER] "

override fun equals(other: Any?) = other === this
override fun hashCode() = 0
Expand Down
6 changes: 3 additions & 3 deletions idea/src/org/jetbrains/kotlin/idea/slicer/OutflowSlicer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,9 @@ class OutflowSlicer(
if (receiverType == null || !receiverType.isFunctionType) return
val isExtension = receiverType.isExtensionFunctionType
val shift = if (isExtension) 1 else 0
val argumentIndex = parameterDescriptor.index - shift
val newMode = if (argumentIndex >= 0)
mode.withBehaviour(LambdaArgumentInflowBehaviour(argumentIndex))
val parameterIndex = parameterDescriptor.index - shift
val newMode = if (parameterIndex >= 0)
mode.withBehaviour(LambdaParameterInflowBehaviour(parameterIndex))
else
mode.withBehaviour(LambdaReceiverInflowBehaviour)
receiver.passToProcessor(newMode)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ object ReceiverSliceProducer : SliceProducer {
}
}

override val testPresentation: String?
get() = "RECEIVER"

override fun equals(other: Any?) = other === this
override fun hashCode() = 0
}
5 changes: 5 additions & 0 deletions idea/src/org/jetbrains/kotlin/idea/slicer/SliceProducer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import org.jetbrains.kotlin.idea.findUsages.handlers.SliceUsageProcessor
interface SliceProducer {
fun produce(usage: UsageInfo, mode: KotlinSliceAnalysisMode, parent: SliceUsage): Collection<SliceUsage>?

val testPresentation: String?

override fun equals(other: Any?): Boolean
override fun hashCode(): Int

Expand All @@ -20,6 +22,9 @@ interface SliceProducer {
return null
}

override val testPresentation: String?
get() = null

override fun equals(other: Any?) = other === this
override fun hashCode() = 0
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
8 val x = foo(<bold>fun(n: Int) = n</bold>)
8 val x = foo(fun(n: Int) = <bold>n</bold>)
8 val x = foo(fun(<bold>n: Int</bold>) = n)
8 [LAMBDA CALLS] val x = foo(<bold>fun(n: Int) = n</bold>)
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Int</bold>): Int {
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int) = n</bold>)
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int {
4 return f(<bold>1</bold>)

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
8 val x = foo(<bold>fun(n: Int) = n</bold>)
8 val x = foo(fun(n: Int) = <bold>n</bold>)
8 val x = foo(fun(<bold>n: Int</bold>) = n)
8 [LAMBDA CALLS] val x = foo(<bold>fun(n: Int) = n</bold>)
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Int</bold>): Int {
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int) = n</bold>)
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int {
4 return f(<bold>1</bold>)
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
8 val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
8 val x = foo(fun(n: Int): Int { return <bold>n</bold> })
8 val x = foo(fun(<bold>n: Int</bold>): Int { return n })
8 [LAMBDA CALLS] val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Int</bold>): Int {
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int {
4 return f(<bold>1</bold>)

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
8 val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
8 val x = foo(fun(n: Int): Int { return <bold>n</bold> })
8 val x = foo(fun(<bold>n: Int</bold>): Int { return n })
8 [LAMBDA CALLS] val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Int</bold>): Int {
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int { return n }</bold>)
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int {
4 return f(<bold>1</bold>)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
9 val <bold>v = value</bold>
9 val v = <bold>value</bold>
8 foo(fun(<bold>value: Int</bold>) {
8 [LAMBDA CALLS] foo(<bold>fun(value: Int) {</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Unit</bold>) {
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int) {</bold>
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Unit</bold>) {
4 f(<bold>1</bold>)

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
9 val <bold>v = value</bold>
9 val v = <bold>value</bold>
8 foo(fun(<bold>value: Int</bold>) {
8 [LAMBDA CALLS] foo(<bold>fun(value: Int) {</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: (Int) -> Unit</bold>) {
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int) {</bold>
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Unit</bold>) {
4 f(<bold>1</bold>)
10 changes: 5 additions & 5 deletions idea/testData/slicer/inflow/doubleLambdaResult.leafGroups.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
8 [LAMBDA IN] val x = foo(1, 2) { <bold>{ it }</bold> }
8 val x = foo(1, 2) { <bold>{ it }</bold> }
8 val x = foo(1, 2) { { <bold>it</bold> } }
8 [LAMBDA CALLS] val x = foo(1, 2) { <bold>{ it }</bold> }
8 [LAMBDA CALLS] val x = foo(1, 2) <bold>{ { it } }</bold>
8 [LAMBDA CALLS] [LAMBDA CALLS] val x = foo(1, 2) <bold>{ { it } }</bold>
3 [LAMBDA CALLS] [LAMBDA CALLS] fun foo(a: Int, b: Int, <bold>f: (Int) -> (Int) -> Int</bold>): Int {
4 [LAMBDA CALLS] return <bold>f(a)</bold>(b)
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) { <bold>{ it }</bold> }
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) <bold>{ { it } }</bold>
8 [LAMBDA CALLS] [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) <bold>{ { it } }</bold>
3 [LAMBDA CALLS] [LAMBDA CALLS ARGUMENT #0] fun foo(a: Int, b: Int, <bold>f: (Int) -> (Int) -> Int</bold>): Int {
4 [LAMBDA CALLS ARGUMENT #0] return <bold>f(a)</bold>(b)
4 return f(a)(<bold>b</bold>)
3 fun foo(a: Int, <bold>b: Int</bold>, f: (Int) -> (Int) -> Int): Int {
8 val x = foo(1, <bold>2</bold>) { { it } }
Expand Down
10 changes: 5 additions & 5 deletions idea/testData/slicer/inflow/doubleLambdaResult.results.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
8 [LAMBDA IN] val x = foo(1, 2) { <bold>{ it }</bold> }
8 val x = foo(1, 2) { <bold>{ it }</bold> }
8 val x = foo(1, 2) { { <bold>it</bold> } }
8 [LAMBDA CALLS] val x = foo(1, 2) { <bold>{ it }</bold> }
8 [LAMBDA CALLS] val x = foo(1, 2) <bold>{ { it } }</bold>
8 [LAMBDA CALLS] [LAMBDA CALLS] val x = foo(1, 2) <bold>{ { it } }</bold>
3 [LAMBDA CALLS] [LAMBDA CALLS] fun foo(a: Int, b: Int, <bold>f: (Int) -> (Int) -> Int</bold>): Int {
4 [LAMBDA CALLS] return <bold>f(a)</bold>(b)
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) { <bold>{ it }</bold> }
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) <bold>{ { it } }</bold>
8 [LAMBDA CALLS] [LAMBDA CALLS ARGUMENT #0] val x = foo(1, 2) <bold>{ { it } }</bold>
3 [LAMBDA CALLS] [LAMBDA CALLS ARGUMENT #0] fun foo(a: Int, b: Int, <bold>f: (Int) -> (Int) -> Int</bold>): Int {
4 [LAMBDA CALLS ARGUMENT #0] return <bold>f(a)</bold>(b)
4 return f(a)(<bold>b</bold>)
3 fun foo(a: Int, <bold>b: Int</bold>, f: (Int) -> (Int) -> Int): Int {
8 val x = foo(1, <bold>2</bold>) { { it } }
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
4 f("", <bold>1</bold>)
15 val v = <bold>it</bold>
14 [LAMBDA CALLS] foo <bold>{</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{</bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
4 f("", <bold>1</bold>)

6 "".f(<bold>2</bold>)
15 val v = <bold>it</bold>
14 [LAMBDA CALLS] foo <bold>{</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{</bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
6 "".f(<bold>2</bold>)

9 f(<bold>3</bold>)
15 val v = <bold>it</bold>
14 [LAMBDA CALLS] foo <bold>{</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{</bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
9 f(<bold>3</bold>)

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
15 val v = <bold>it</bold>
14 [LAMBDA CALLS] foo <bold>{</bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{</bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
4 f("", <bold>1</bold>)
6 "".f(<bold>2</bold>)
9 f(<bold>3</bold>)
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
4 f("", <bold>1</bold>)
15 val v = <bold>i</bold>
14 foo { <bold>i</bold> ->
14 [LAMBDA CALLS] foo <bold>{ i -></bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{ i -></bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
4 f("", <bold>1</bold>)

6 "".f(<bold>2</bold>)
15 val v = <bold>i</bold>
14 foo { <bold>i</bold> ->
14 [LAMBDA CALLS] foo <bold>{ i -></bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{ i -></bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
6 "".f(<bold>2</bold>)

9 f(<bold>3</bold>)
15 val v = <bold>i</bold>
14 foo { <bold>i</bold> ->
14 [LAMBDA CALLS] foo <bold>{ i -></bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{ i -></bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
9 f(<bold>3</bold>)

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
15 val v = <bold>i</bold>
14 foo { <bold>i</bold> ->
14 [LAMBDA CALLS] foo <bold>{ i -></bold>
3 [LAMBDA CALLS] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
14 [LAMBDA CALLS ARGUMENT #0 EXTENSION] foo <bold>{ i -></bold>
3 [LAMBDA CALLS ARGUMENT #0 EXTENSION] fun foo(<bold>f: String.(Int) -> Unit</bold>) {
4 f("", <bold>1</bold>)
6 "".f(<bold>2</bold>)
9 f(<bold>3</bold>)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
4 with(<bold>"A"</bold>) {
5 val <bold>v = this</bold>
5 val v = <bold>this</bold>
4 [LAMBDA CALLS] with("A") <bold>{</bold>
9 (INLINE CALL with) [LAMBDA CALLS] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
4 [LAMBDA CALLS RECEIVER] with("A") <bold>{</bold>
9 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
10 (INLINE CALL with) return <bold>receiver</bold>.block()
9 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
4 with(<bold>"A"</bold>) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
5 val <bold>v = this</bold>
5 val v = <bold>this</bold>
4 [LAMBDA CALLS] with("A") <bold>{</bold>
9 (INLINE CALL with) [LAMBDA CALLS] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
4 [LAMBDA CALLS RECEIVER] with("A") <bold>{</bold>
9 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
10 (INLINE CALL with) return <bold>receiver</bold>.block()
9 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
4 with(<bold>"A"</bold>) {
28 changes: 14 additions & 14 deletions idea/testData/slicer/inflow/inlineFunctionManyCalls.leafGroups.txt
Original file line number Diff line number Diff line change
@@ -1,59 +1,59 @@
35 <bold>"D"</bold>.letNoInline {
3 fun <bold>Any</bold>.extensionFun() {
36 <bold>it</bold>.extensionFun()
35 [LAMBDA CALLS] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
35 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
59 return block(<bold>this</bold>)
58 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
35 <bold>"D"</bold>.letNoInline {

39 <bold>"C"</bold>.letNoInline {
3 fun <bold>Any</bold>.extensionFun() {
36 <bold>it</bold>.extensionFun()
35 [LAMBDA CALLS] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
35 [LAMBDA CALLS ARGUMENT #0] "D".letNoInline <bold>{</bold>
58 [LAMBDA CALLS ARGUMENT #0] fun <T, R> T.letNoInline(<bold>block: (T) -> R</bold>): R {
59 return block(<bold>this</bold>)
58 fun <T, R> <bold>T</bold>.letNoInline(block: (T) -> R): R {
39 <bold>"C"</bold>.letNoInline {

27 <bold>"A"</bold>.let {
3 fun <bold>Any</bold>.extensionFun() {
28 <bold>it</bold>.extensionFun()
27 [LAMBDA CALLS] "A".let <bold>{</bold>
49 (INLINE CALL let) [LAMBDA CALLS] inline fun <T, R> T.let(<bold>block: (T) -> R</bold>): R {
27 [LAMBDA CALLS ARGUMENT #0] "A".let <bold>{</bold>
49 (INLINE CALL let) [LAMBDA CALLS ARGUMENT #0] inline fun <T, R> T.let(<bold>block: (T) -> R</bold>): R {
50 (INLINE CALL let) return block(<bold>this</bold>)
49 (INLINE CALL let) inline fun <T, R> <bold>T</bold>.let(block: (T) -> R): R {
27 <bold>"A"</bold>.let {

19 withNoInline(<bold>1</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
19 [LAMBDA CALLS] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
19 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
54 val result = <bold>receiver</bold>.block()
53 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
19 withNoInline(<bold>1</bold>) {

7 with(<bold>123</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
7 [LAMBDA CALLS] with(123) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
7 [LAMBDA CALLS RECEIVER] with(123) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
45 (INLINE CALL with) val result = <bold>receiver</bold>.block()
44 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
7 with(<bold>123</bold>) {

23 withNoInline(<bold>2</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
19 [LAMBDA CALLS] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
19 [LAMBDA CALLS RECEIVER] withNoInline(1) <bold>{</bold>
53 [LAMBDA CALLS RECEIVER] fun <T, R> withNoInline(receiver: T, <bold>block: T.() -> R</bold>): R {
54 val result = <bold>receiver</bold>.block()
53 fun <T, R> withNoInline(<bold>receiver: T</bold>, block: T.() -> R): R {
23 withNoInline(<bold>2</bold>) {

11 with(<bold>456</bold>) {
3 fun <bold>Any</bold>.extensionFun() {
12 <bold>this</bold>.extensionFun()
11 [LAMBDA CALLS] with(456) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
11 [LAMBDA CALLS RECEIVER] with(456) <bold>{</bold>
44 (INLINE CALL with) [LAMBDA CALLS RECEIVER] inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R {
45 (INLINE CALL with) val result = <bold>receiver</bold>.block()
44 (INLINE CALL with) inline fun <T, R> with(<bold>receiver: T</bold>, block: T.() -> R): R {
11 with(<bold>456</bold>) {
Expand Down

0 comments on commit 84a786d

Please sign in to comment.