Slicer tree view: better highlighting range inside nodes and in the editor

This commit is contained in:
Valentin Kipyatkov
2020-04-14 22:19:38 +03:00
parent 64fec54c48
commit 91a793d575
252 changed files with 696 additions and 644 deletions
@@ -16,19 +16,29 @@
package org.jetbrains.kotlin.idea.slicer
import com.intellij.ide.SelectInEditorManager
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.fileEditor.FileEditorManager
import com.intellij.openapi.fileEditor.OpenFileDescriptor
import com.intellij.openapi.util.ProperTextRange
import com.intellij.openapi.util.Segment
import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiElement
import com.intellij.slicer.SliceAnalysisParams
import com.intellij.slicer.SliceUsage
import com.intellij.usageView.UsageInfo
import org.jetbrains.kotlin.idea.findUsages.handlers.SliceUsageProcessor
import org.jetbrains.kotlin.psi.KtElement
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffset
open class KotlinSliceUsage : SliceUsage {
val mode: KotlinSliceAnalysisMode
val forcedExpressionMode: Boolean
private var usageInfo: UsageInfo? = null
private var usageInfo: AdaptedUsageInfo? = null
constructor(
element: PsiElement,
@@ -47,25 +57,37 @@ open class KotlinSliceUsage : SliceUsage {
initializeUsageInfo()
}
//TODO: it's all hacks due to UsageInfo stored in the base class - fix it in IDEA
private fun initializeUsageInfo() {
val originalInfo = getUsageInfo()
if (mode != KotlinSliceAnalysisMode.Default) {
val element = originalInfo.element
if (element != null) {
usageInfo = UsageInfoWrapper(element, mode)
} else {
usageInfo = null
}
} else {
usageInfo = originalInfo
}
usageInfo = getUsageInfo().element?.let { AdaptedUsageInfo(it, mode) }
}
// we have to replace UsageInfo with another one whose equality takes into account mode
override fun getUsageInfo(): UsageInfo {
return usageInfo ?: super.getUsageInfo()
}
override fun getMergedInfos(): Array<UsageInfo> {
return arrayOf(getUsageInfo())
}
override fun openTextEditor(focus: Boolean): Editor? {
val project = getUsageInfo().project
val descriptor = OpenFileDescriptor(project, file, getUsageInfo().navigationOffset)
return FileEditorManager.getInstance(project).openTextEditor(descriptor, focus)
}
override fun highlightInEditor() {
if (!isValid) return
val usageInfo = getUsageInfo()
val range = usageInfo.navigationRange ?: return
SelectInEditorManager.getInstance(getUsageInfo().project).selectInEditor(file, range.startOffset, range.endOffset, false, false)
if (usageInfo.navigationOffset != range.startOffset) {
openTextEditor(false) // to position the caret at the identifier
}
}
override fun copy(): KotlinSliceUsage {
val element = getUsageInfo().element!!
return if (parent == null)
@@ -97,9 +119,57 @@ open class KotlinSliceUsage : SliceUsage {
}
@Suppress("EqualsOrHashCode")
private class UsageInfoWrapper(element: PsiElement, private val mode: KotlinSliceAnalysisMode) : UsageInfo(element) {
private class AdaptedUsageInfo(element: PsiElement, private val mode: KotlinSliceAnalysisMode) : UsageInfo(element) {
override fun equals(other: Any?): Boolean {
return other is UsageInfoWrapper && super.equals(other) && mode == other.mode
return other is AdaptedUsageInfo && super.equals(other) && mode == other.mode
}
override fun getNavigationRange(): Segment? {
val element = element ?: return null
return when (element) {
is KtParameter -> {
val nameRange = element.nameIdentifier?.textRange ?: return super.getNavigationRange()
val start = element.valOrVarKeyword?.startOffset ?: nameRange.startOffset
val end = element.typeReference?.endOffset ?: nameRange.endOffset
TextRange(start, end)
}
is KtVariableDeclaration -> {
val nameRange = element.nameIdentifier?.textRange ?: return super.getNavigationRange()
val start = element.valOrVarKeyword?.startOffset ?: nameRange.startOffset
val end = element.typeReference?.endOffset ?: nameRange.endOffset
TextRange(start, end)
}
is KtNamedFunction -> {
val funKeyword = element.funKeyword
val parameterList = element.valueParameterList
val typeReference = element.typeReference
if (funKeyword != null && parameterList != null)
TextRange(funKeyword.startOffset, typeReference?.endOffset ?: parameterList.endOffset)
else
null
}
is KtPrimaryConstructor -> {
element.containingClassOrObject?.nameIdentifier
?.let { TextRange(it.startOffset, element.endOffset) }
}
else -> null
} ?: TextRange(element.textOffset, element.endOffset)
}
override fun getRangeInElement(): ProperTextRange? {
val elementRange = element?.textRange ?: return null
return navigationRange
?.takeIf { it in elementRange }
?.let { ProperTextRange(it.startOffset, it.endOffset).shiftRight(-elementRange.startOffset) }
?: super.getRangeInElement()
}
override fun getNavigationOffset(): Int {
return element?.textOffset ?: -1
}
}
}
@@ -1,14 +1,14 @@
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
8 val <bold>x = foo(fun(n: Int) = n)</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int) = n) (in test())
8 val x = <bold>foo(fun(n: Int) = n)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
8 val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
8 val x = foo(fun(n: Int) = <bold>n</bold>) (in test())
8 val x = foo(fun(<bold>n: Int</bold>) = n) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,3 +1,3 @@
[NotNull Values]
8 val <bold>x = foo(fun(n: Int) = n)</bold> (in test())
8 val <bold>x = foo(fun(n: Int) = n)</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int) = n) (in test())
8 <bold>val x</bold> = foo(fun(n: Int) = n) (in test())
@@ -1,13 +1,13 @@
8 val <bold>x = foo(fun(n: Int) = n)</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int) = n) (in test())
8 val x = <bold>foo(fun(n: Int) = n)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
8 val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
8 val x = foo(fun(n: Int) = <bold>n</bold>) (in test())
8 val x = foo(fun(<bold>n: Int</bold>) = n) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int) = n</bold>) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,14 +1,14 @@
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int): Int { return n }) (in test())
8 val x = <bold>foo(fun(n: Int): Int { return n })</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 val x = foo(fun(n: Int): Int { return <bold>n</bold> }) (in test())
8 val x = foo(fun(<bold>n: Int</bold>): Int { return n }) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,3 +1,3 @@
[NotNull Values]
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold> (in test())
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int): Int { return n }) (in test())
8 <bold>val x</bold> = foo(fun(n: Int): Int { return n }) (in test())
@@ -1,13 +1,13 @@
8 val <bold>x = foo(fun(n: Int): Int { return n })</bold> (in test())
8 <bold>val x</bold> = foo(fun(n: Int): Int { return n }) (in test())
8 val x = <bold>foo(fun(n: Int): Int { return n })</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 [LAMBDA IN] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 val x = foo(fun(n: Int): Int { return <bold>n</bold> }) (in test())
8 val x = foo(fun(<bold>n: Int</bold>): Int { return n }) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int { return n }</bold>) (in test())
8 [LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,7 +1,7 @@
4 f(<bold>1</bold>) (in foo((Int) -> Unit))
9 val <bold>v = value</bold> (in test())
9 <bold>val v</bold> = value (in test())
9 val v = <bold>value</bold> (in test())
8 foo(fun(<bold>value: Int</bold>) { (in test())
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int) {</bold> (in test())
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int)</bold> { (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Unit</bold>) { (in foo((Int) -> Unit))
4 f(<bold>1</bold>) (in foo((Int) -> Unit))
@@ -1,3 +1,3 @@
[NotNull Values]
9 val <bold>v = value</bold> (in test())
9 val <bold>v = value</bold> (in test())
9 <bold>val v</bold> = value (in test())
9 <bold>val v</bold> = value (in test())
@@ -1,6 +1,6 @@
9 val <bold>v = value</bold> (in test())
9 <bold>val v</bold> = value (in test())
9 val v = <bold>value</bold> (in test())
8 foo(fun(<bold>value: Int</bold>) { (in test())
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int) {</bold> (in test())
8 [LAMBDA CALLS ARGUMENT #0] foo(<bold>fun(value: Int)</bold> { (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Unit</bold>) { (in foo((Int) -> Unit))
4 f(<bold>1</bold>) (in foo((Int) -> Unit))
+1 -1
View File
@@ -1,5 +1,5 @@
3 fun test(<bold>o: Any</bold>) { (in test(Any))
4 val <bold>x = o as String</bold> (in test(Any))
4 <bold>val x</bold> = o as String (in test(Any))
4 val x = <bold>o as String</bold> (in test(Any))
4 val x = <bold>o</bold> as String (in test(Any))
3 fun test(<bold>o: Any</bold>) { (in test(Any))
+2 -2
View File
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x = o as String</bold> (in test(Any))
4 val <bold>x = o as String</bold> (in test(Any))
4 <bold>val x</bold> = o as String (in test(Any))
4 <bold>val x</bold> = o as String (in test(Any))
+1 -1
View File
@@ -1,4 +1,4 @@
4 val <bold>x = o as String</bold> (in test(Any))
4 <bold>val x</bold> = o as String (in test(Any))
4 val x = <bold>o as String</bold> (in test(Any))
4 val x = <bold>o</bold> as String (in test(Any))
3 fun test(<bold>o: Any</bold>) { (in test(Any))
@@ -1,17 +1,17 @@
7 <bold>--result</bold> (in assignmentWithSum(Int))
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
8 return <bold>result</bold> (in assignmentWithSum(Int))
4 var <bold>result = 0</bold> (in assignmentWithSum(Int))
4 <bold>var result</bold> = 0 (in assignmentWithSum(Int))
7 <bold>--result</bold> (in assignmentWithSum(Int))
4 var result = <bold>0</bold> (in assignmentWithSum(Int))
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
8 return <bold>result</bold> (in assignmentWithSum(Int))
4 var <bold>result = 0</bold> (in assignmentWithSum(Int))
4 <bold>var result</bold> = 0 (in assignmentWithSum(Int))
4 var result = <bold>0</bold> (in assignmentWithSum(Int))
5 <bold>result += n</bold> (in assignmentWithSum(Int))
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
8 return <bold>result</bold> (in assignmentWithSum(Int))
4 var <bold>result = 0</bold> (in assignmentWithSum(Int))
4 <bold>var result</bold> = 0 (in assignmentWithSum(Int))
5 <bold>result += n</bold> (in assignmentWithSum(Int))
@@ -1,3 +1,3 @@
[NotNull Values]
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
@@ -1,8 +1,8 @@
3 fun <bold>assignmentWithSum(n: Int): Int {</bold>
3 <bold>fun assignmentWithSum(n: Int): Int</bold> {
8 return <bold>result</bold> (in assignmentWithSum(Int))
4 var <bold>result = 0</bold> (in assignmentWithSum(Int))
4 <bold>var result</bold> = 0 (in assignmentWithSum(Int))
4 var result = <bold>0</bold> (in assignmentWithSum(Int))
5 <bold>result += n</bold> (in assignmentWithSum(Int))
6 <bold>result++</bold> (in assignmentWithSum(Int))
4 DUPLICATE: var <bold>result = 0</bold> (in assignmentWithSum(Int))
4 DUPLICATE: <bold>var result</bold> = 0 (in assignmentWithSum(Int))
7 <bold>--result</bold> (in assignmentWithSum(Int))
@@ -1,11 +1,11 @@
4 var foo: Int = <bold>0</bold> (in A.foo)
10 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 <bold>var foo: Int</bold> = 0 (in A)
4 var foo: Int = <bold>0</bold> (in A.foo)
11 foo = <bold>1</bold> (in A.test())
10 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 <bold>var foo: Int</bold> = 0 (in A)
6 field = <bold>if (b) value else 0</bold> (in A.foo.set)
6 field = if (b) <bold>value</bold> else 0 (in A.foo.set)
5 set(<bold>value</bold>) { (in A.foo.set)
@@ -1,5 +1,5 @@
10 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 <bold>var foo: Int</bold> = 0 (in A)
4 var foo: Int = <bold>0</bold> (in A.foo)
6 field = <bold>if (b) value else 0</bold> (in A.foo.set)
6 field = if (b) <bold>value</bold> else 0 (in A.foo.set)
+3 -3
View File
@@ -1,6 +1,6 @@
6 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>1</bold> (in D.getValue(Any?, KProperty<*>))
12 val <bold>x = foo</bold> (in test())
12 <bold>val x</bold> = foo (in test())
12 val x = <bold>foo</bold> (in test())
9 val <bold>foo: Int by D</bold>
6 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = 1</bold> (in D)
9 <bold>val foo: Int</bold> by D
6 operator <bold>fun getValue(thisRef: Any?, property: KProperty<*>)</bold> = 1 (in D)
6 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>1</bold> (in D.getValue(Any?, KProperty<*>))
@@ -1,3 +1,3 @@
[NotNull Values]
12 val <bold>x = foo</bold> (in test())
12 val <bold>x = foo</bold> (in test())
12 <bold>val x</bold> = foo (in test())
12 <bold>val x</bold> = foo (in test())
+3 -3
View File
@@ -1,5 +1,5 @@
12 val <bold>x = foo</bold> (in test())
12 <bold>val x</bold> = foo (in test())
12 val x = <bold>foo</bold> (in test())
9 val <bold>foo: Int by D</bold>
6 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = 1</bold> (in D)
9 <bold>val foo: Int</bold> by D
6 operator <bold>fun getValue(thisRef: Any?, property: KProperty<*>)</bold> = 1 (in D)
6 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>1</bold> (in D.getValue(Any?, KProperty<*>))
@@ -1,5 +1,5 @@
9 return <bold>1</bold>;
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 val x = <bold>foo</bold> (in test())
4 val <bold>foo: Int by D.INSTANCE</bold>
4 <bold>val foo: Int</bold> by D.INSTANCE
9 return <bold>1</bold>;
@@ -1,3 +1,3 @@
[NotNull Values]
7 val <bold>x = foo</bold> (in test())
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 <bold>val x</bold> = foo (in test())
@@ -1,4 +1,4 @@
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 val x = <bold>foo</bold> (in test())
4 val <bold>foo: Int by D.INSTANCE</bold>
4 <bold>val foo: Int</bold> by D.INSTANCE
9 return <bold>1</bold>;
@@ -1,10 +1,10 @@
4 override fun foo() = <bold>2</bold> (in B.foo())
9 val <bold>y = b.foo()</bold> (in test(A, B,…))
9 <bold>val y</bold> = b.foo() (in test(A, B,…))
9 val y = <bold>b.foo()</bold> (in test(A, B,…))
4 override fun <bold>foo() = 2</bold> (in B)
4 override <bold>fun foo()</bold> = 2 (in B)
4 override fun foo() = <bold>2</bold> (in B.foo())
11 return <bold>4</bold>;
9 val <bold>y = b.foo()</bold> (in test(A, B,…))
9 <bold>val y</bold> = b.foo() (in test(A, B,…))
9 val y = <bold>b.foo()</bold> (in test(A, B,…))
11 return <bold>4</bold>;
@@ -1,4 +1,3 @@
[NotNull Values]
9 val <bold>y = b.foo()</bold> (in test(A, B,…))
9 val <bold>y = b.foo()</bold> (in test(A, B,…))
9 <bold>val y</bold> = b.foo() (in test(A, B,…))
9 <bold>val y</bold> = b.foo() (in test(A, B,…))
@@ -1,5 +1,5 @@
9 val <bold>y = b.foo()</bold> (in test(A, B,…))
9 <bold>val y</bold> = b.foo() (in test(A, B,…))
9 val y = <bold>b.foo()</bold> (in test(A, B,…))
4 override fun <bold>foo() = 2</bold> (in B)
4 override <bold>fun foo()</bold> = 2 (in B)
4 override fun foo() = <bold>2</bold> (in B.foo())
11 return <bold>4</bold>;
@@ -1,10 +1,10 @@
4 override fun foo() = <bold>3</bold> (in C.foo())
10 val <bold>z = c.foo()</bold> (in test(A, B,…))
10 <bold>val z</bold> = c.foo() (in test(A, B,…))
10 val z = <bold>c.foo()</bold> (in test(A, B,…))
4 override fun <bold>foo() = 3</bold> (in C)
4 override <bold>fun foo()</bold> = 3 (in C)
4 override fun foo() = <bold>3</bold> (in C.foo())
13 return <bold>4</bold>;
10 val <bold>z = c.foo()</bold> (in test(A, B,…))
10 <bold>val z</bold> = c.foo() (in test(A, B,…))
10 val z = <bold>c.foo()</bold> (in test(A, B,…))
13 return <bold>4</bold>;
@@ -1,4 +1,3 @@
[NotNull Values]
10 val <bold>z = c.foo()</bold> (in test(A, B,…))
10 val <bold>z = c.foo()</bold> (in test(A, B,…))
10 <bold>val z</bold> = c.foo() (in test(A, B,…))
10 <bold>val z</bold> = c.foo() (in test(A, B,…))
@@ -1,5 +1,5 @@
10 val <bold>z = c.foo()</bold> (in test(A, B,…))
10 <bold>val z</bold> = c.foo() (in test(A, B,…))
10 val z = <bold>c.foo()</bold> (in test(A, B,…))
4 override fun <bold>foo() = 3</bold> (in C)
4 override <bold>fun foo()</bold> = 3 (in C)
4 override fun foo() = <bold>3</bold> (in C.foo())
13 return <bold>4</bold>;
@@ -1,15 +1,15 @@
4 fun foo() = <bold>1</bold> (in A.foo())
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
8 val x = <bold>a.foo()</bold> (in test(A, B,…))
4 fun <bold>foo() = 1</bold> (in A)
4 <bold>fun foo()</bold> = 1 (in A)
4 fun foo() = <bold>1</bold> (in A.foo())
3 return <bold>2</bold>;
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
8 val x = <bold>a.foo()</bold> (in test(A, B,…))
3 return <bold>2</bold>;
13 return <bold>4</bold>;
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
8 val x = <bold>a.foo()</bold> (in test(A, B,…))
13 return <bold>4</bold>;
@@ -1,4 +1,3 @@
[NotNull Values]
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
@@ -1,6 +1,6 @@
8 val <bold>x = a.foo()</bold> (in test(A, B,…))
8 <bold>val x</bold> = a.foo() (in test(A, B,…))
8 val x = <bold>a.foo()</bold> (in test(A, B,…))
4 fun <bold>foo() = 1</bold> (in A)
4 <bold>fun foo()</bold> = 1 (in A)
4 fun foo() = <bold>1</bold> (in A.foo())
3 return <bold>2</bold>;
13 return <bold>4</bold>;
@@ -1,11 +1,11 @@
8 override fun foo() = <bold>2</bold> (in B.foo())
21 val <bold>y = b.foo()</bold> (in test(A, B,…))
21 <bold>val y</bold> = b.foo() (in test(A, B,…))
21 val y = <bold>b.foo()</bold> (in test(A, B,…))
8 override fun <bold>foo() = 2</bold> (in B)
8 override <bold>fun foo()</bold> = 2 (in B)
8 override fun foo() = <bold>2</bold> (in B.foo())
16 override fun foo() = <bold>4</bold> (in D.foo())
21 val <bold>y = b.foo()</bold> (in test(A, B,…))
21 <bold>val y</bold> = b.foo() (in test(A, B,…))
21 val y = <bold>b.foo()</bold> (in test(A, B,…))
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,4 +1,3 @@
[NotNull Values]
21 val <bold>y = b.foo()</bold> (in test(A, B,…))
21 val <bold>y = b.foo()</bold> (in test(A, B,…))
21 <bold>val y</bold> = b.foo() (in test(A, B,…))
21 <bold>val y</bold> = b.foo() (in test(A, B,…))
@@ -1,6 +1,6 @@
21 val <bold>y = b.foo()</bold> (in test(A, B,…))
21 <bold>val y</bold> = b.foo() (in test(A, B,…))
21 val y = <bold>b.foo()</bold> (in test(A, B,…))
8 override fun <bold>foo() = 2</bold> (in B)
8 override <bold>fun foo()</bold> = 2 (in B)
8 override fun foo() = <bold>2</bold> (in B.foo())
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,11 +1,11 @@
12 override fun foo() = <bold>3</bold> (in C.foo())
22 val <bold>z = c.foo()</bold> (in test(A, B,…))
22 <bold>val z</bold> = c.foo() (in test(A, B,…))
22 val z = <bold>c.foo()</bold> (in test(A, B,…))
12 override fun <bold>foo() = 3</bold> (in C)
12 override <bold>fun foo()</bold> = 3 (in C)
12 override fun foo() = <bold>3</bold> (in C.foo())
16 override fun foo() = <bold>4</bold> (in D.foo())
22 val <bold>z = c.foo()</bold> (in test(A, B,…))
22 <bold>val z</bold> = c.foo() (in test(A, B,…))
22 val z = <bold>c.foo()</bold> (in test(A, B,…))
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,4 +1,3 @@
[NotNull Values]
22 val <bold>z = c.foo()</bold> (in test(A, B,…))
22 val <bold>z = c.foo()</bold> (in test(A, B,…))
22 <bold>val z</bold> = c.foo() (in test(A, B,…))
22 <bold>val z</bold> = c.foo() (in test(A, B,…))
@@ -1,6 +1,6 @@
22 val <bold>z = c.foo()</bold> (in test(A, B,…))
22 <bold>val z</bold> = c.foo() (in test(A, B,…))
22 val z = <bold>c.foo()</bold> (in test(A, B,…))
12 override fun <bold>foo() = 3</bold> (in C)
12 override <bold>fun foo()</bold> = 3 (in C)
12 override fun foo() = <bold>3</bold> (in C.foo())
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,23 +1,23 @@
4 fun foo() = <bold>1</bold> (in A.foo())
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 val x = <bold>a.foo()</bold> (in test(A, B,…))
4 fun <bold>foo() = 1</bold> (in A)
4 <bold>fun foo()</bold> = 1 (in A)
4 fun foo() = <bold>1</bold> (in A.foo())
8 override fun foo() = <bold>2</bold> (in B.foo())
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 val x = <bold>a.foo()</bold> (in test(A, B,…))
8 override fun <bold>foo() = 2</bold> (in B)
8 override <bold>fun foo()</bold> = 2 (in B)
8 override fun foo() = <bold>2</bold> (in B.foo())
12 override fun foo() = <bold>3</bold> (in C.foo())
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 val x = <bold>a.foo()</bold> (in test(A, B,…))
12 override fun <bold>foo() = 3</bold> (in C)
12 override <bold>fun foo()</bold> = 3 (in C)
12 override fun foo() = <bold>3</bold> (in C.foo())
16 override fun foo() = <bold>4</bold> (in D.foo())
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 val x = <bold>a.foo()</bold> (in test(A, B,…))
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,4 +1,3 @@
[NotNull Values]
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
@@ -1,10 +1,10 @@
20 val <bold>x = a.foo()</bold> (in test(A, B,…))
20 <bold>val x</bold> = a.foo() (in test(A, B,…))
20 val x = <bold>a.foo()</bold> (in test(A, B,…))
4 fun <bold>foo() = 1</bold> (in A)
4 <bold>fun foo()</bold> = 1 (in A)
4 fun foo() = <bold>1</bold> (in A.foo())
8 override fun <bold>foo() = 2</bold> (in B)
8 override <bold>fun foo()</bold> = 2 (in B)
8 override fun foo() = <bold>2</bold> (in B.foo())
12 override fun <bold>foo() = 3</bold> (in C)
12 override <bold>fun foo()</bold> = 3 (in C)
12 override fun foo() = <bold>3</bold> (in C.foo())
16 override fun <bold>foo() = 4</bold> (in D)
16 override <bold>fun foo()</bold> = 4 (in D)
16 override fun foo() = <bold>4</bold> (in D.foo())
@@ -1,7 +1,7 @@
8 val x = foo(1, <bold>2</bold>) { { it } } (in test())
8 val <bold>x = foo(1, 2) { { it } }</bold> (in test())
8 <bold>val x</bold> = foo(1, 2) { { it } } (in test())
8 val x = <bold>foo(1, 2) { { it } }</bold> (in test())
3 fun <bold>foo(a: Int, b: Int, f: (Int) -> (Int) -> Int): Int {</bold>
3 <bold>fun foo(a: Int, b: Int, f: (Int) -> (Int) -> Int): Int</bold> {
4 return <bold>f(a)(b)</bold> (in foo(Int, Int,…))
4 [LAMBDA IN] return <bold>f(a)</bold>(b) (in foo(Int, Int,…))
4 [LAMBDA IN] [LAMBDA IN] return <bold>f</bold>(a)(b) (in foo(Int, Int,…))
@@ -1,3 +1,3 @@
[NotNull Values]
8 val <bold>x = foo(1, 2) { { it } }</bold> (in test())
8 val <bold>x = foo(1, 2) { { it } }</bold> (in test())
8 <bold>val x</bold> = foo(1, 2) { { it } } (in test())
8 <bold>val x</bold> = foo(1, 2) { { it } } (in test())
+2 -2
View File
@@ -1,6 +1,6 @@
8 val <bold>x = foo(1, 2) { { it } }</bold> (in test())
8 <bold>val x</bold> = foo(1, 2) { { it } } (in test())
8 val x = <bold>foo(1, 2) { { it } }</bold> (in test())
3 fun <bold>foo(a: Int, b: Int, f: (Int) -> (Int) -> Int): Int {</bold>
3 <bold>fun foo(a: Int, b: Int, f: (Int) -> (Int) -> Int): Int</bold> {
4 return <bold>f(a)(b)</bold> (in foo(Int, Int,…))
4 [LAMBDA IN] return <bold>f(a)</bold>(b) (in foo(Int, Int,…))
4 [LAMBDA IN] [LAMBDA IN] return <bold>f</bold>(a)(b) (in foo(Int, Int,…))
@@ -1,5 +1,5 @@
5 with(<bold>"A"</bold>) { (in foo())
6 val <bold>v = this</bold> (in foo())
6 <bold>val v</bold> = this (in foo())
6 val v = <bold>this</bold> (in foo())
5 [LAMBDA CALLS RECEIVER] with("A") <bold>{</bold> (in foo())
LIB (INLINE CALL with) [LAMBDA CALLS RECEIVER] public inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R { (in with(T, T.() -> R))
@@ -1,3 +1,3 @@
[NotNull Values]
6 val <bold>v = this</bold> (in foo())
6 val <bold>v = this</bold> (in foo())
6 <bold>val v</bold> = this (in foo())
6 <bold>val v</bold> = this (in foo())
@@ -1,4 +1,4 @@
6 val <bold>v = this</bold> (in foo())
6 <bold>val v</bold> = this (in foo())
6 val v = <bold>this</bold> (in foo())
5 [LAMBDA CALLS RECEIVER] with("A") <bold>{</bold> (in foo())
LIB (INLINE CALL with) [LAMBDA CALLS RECEIVER] public inline fun <T, R> with(receiver: T, <bold>block: T.() -> R</bold>): R { (in with(T, T.() -> R))
@@ -1,11 +1,11 @@
4 FunParamererWithDefaultKt.foo(1, <bold>"2"</bold>);
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
4 FunParamererWithDefaultKt.foo(1, <bold>"2"</bold>);
11 foo(1, <bold>"2"</bold>) (in test())
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
11 foo(1, <bold>"2"</bold>) (in test())
5 fun foo(n: Int, s: String = <bold>"???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
5 fun foo(n: Int, s: String = <bold>"???"</bold>) { (in foo(Int, String = ...))
@@ -1,3 +1,3 @@
[NotNull Values]
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
@@ -1,4 +1,4 @@
5 fun foo(n: Int, <bold>s: String = "???"</bold>) { (in foo(Int, String = ...))
5 fun foo(n: Int, <bold>s: String</bold> = "???") { (in foo(Int, String = ...))
5 fun foo(n: Int, s: String = <bold>"???"</bold>) { (in foo(Int, String = ...))
4 FunParamererWithDefaultKt.foo(1, <bold>"2"</bold>);
11 foo(1, <bold>"2"</bold>) (in test())
@@ -1,11 +1,11 @@
8 fun bar(<bold>n: Int</bold>) = n (in test())
9 val <bold>x = foo(::bar)</bold> (in test())
9 <bold>val x</bold> = foo(::bar) (in test())
9 val x = <bold>foo(::bar)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
9 [LAMBDA IN] val x = foo(<bold>::bar</bold>) (in test())
8 fun <bold>bar(n: Int) = n</bold> (in test())
8 <bold>fun bar(n: Int)</bold> = n (in test())
8 fun bar(n: Int) = <bold>n</bold> (in test())
8 fun bar(<bold>n: Int</bold>) = n (in test())
@@ -1,3 +1,3 @@
[NotNull Values]
9 val <bold>x = foo(::bar)</bold> (in test())
9 val <bold>x = foo(::bar)</bold> (in test())
9 <bold>val x</bold> = foo(::bar) (in test())
9 <bold>val x</bold> = foo(::bar) (in test())
@@ -1,10 +1,10 @@
9 val <bold>x = foo(::bar)</bold> (in test())
9 <bold>val x</bold> = foo(::bar) (in test())
9 val x = <bold>foo(::bar)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
9 [LAMBDA IN] val x = foo(<bold>::bar</bold>) (in test())
8 fun <bold>bar(n: Int) = n</bold> (in test())
8 <bold>fun bar(n: Int)</bold> = n (in test())
8 fun bar(n: Int) = <bold>n</bold> (in test())
8 fun bar(<bold>n: Int</bold>) = n (in test())
@@ -1,13 +1,13 @@
8 fun bar(<bold>n: Int</bold>) = n (in test())
10 val <bold>x = foo(f)</bold> (in test())
10 <bold>val x</bold> = foo(f) (in test())
10 val x = <bold>foo(f)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
10 [LAMBDA IN] val x = foo(<bold>f</bold>) (in test())
9 [LAMBDA IN] val <bold>f = ::bar</bold> (in test())
9 [LAMBDA IN] <bold>val f</bold> = ::bar (in test())
9 [LAMBDA IN] val f = <bold>::bar</bold> (in test())
8 fun <bold>bar(n: Int) = n</bold> (in test())
8 <bold>fun bar(n: Int)</bold> = n (in test())
8 fun bar(n: Int) = <bold>n</bold> (in test())
8 fun bar(<bold>n: Int</bold>) = n (in test())
@@ -1,3 +1,3 @@
[NotNull Values]
10 val <bold>x = foo(f)</bold> (in test())
10 val <bold>x = foo(f)</bold> (in test())
10 <bold>val x</bold> = foo(f) (in test())
10 <bold>val x</bold> = foo(f) (in test())
@@ -1,12 +1,12 @@
10 val <bold>x = foo(f)</bold> (in test())
10 <bold>val x</bold> = foo(f) (in test())
10 val x = <bold>foo(f)</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
10 [LAMBDA IN] val x = foo(<bold>f</bold>) (in test())
9 [LAMBDA IN] val <bold>f = ::bar</bold> (in test())
9 [LAMBDA IN] <bold>val f</bold> = ::bar (in test())
9 [LAMBDA IN] val f = <bold>::bar</bold> (in test())
8 fun <bold>bar(n: Int) = n</bold> (in test())
8 <bold>fun bar(n: Int)</bold> = n (in test())
8 fun bar(n: Int) = <bold>n</bold> (in test())
8 fun bar(<bold>n: Int</bold>) = n (in test())
@@ -1,8 +1,8 @@
5 val x = (::bar)(<bold>1</bold>) (in test())
5 val <bold>x = (::bar)(1)</bold> (in test())
5 <bold>val x</bold> = (::bar)(1) (in test())
5 val x = <bold>(::bar)(1)</bold> (in test())
5 [LAMBDA IN] val x = <bold>(::bar)</bold>(1) (in test())
4 fun <bold>bar(n: Int) = n</bold> (in test())
4 <bold>fun bar(n: Int)</bold> = n (in test())
4 fun bar(n: Int) = <bold>n</bold> (in test())
4 fun bar(<bold>n: Int</bold>) = n (in test())
5 val x = (::bar)(<bold>1</bold>) (in test())
@@ -1,3 +1,3 @@
[NotNull Values]
5 val <bold>x = (::bar)(1)</bold> (in test())
5 val <bold>x = (::bar)(1)</bold> (in test())
5 <bold>val x</bold> = (::bar)(1) (in test())
5 <bold>val x</bold> = (::bar)(1) (in test())
@@ -1,7 +1,7 @@
5 val <bold>x = (::bar)(1)</bold> (in test())
5 <bold>val x</bold> = (::bar)(1) (in test())
5 val x = <bold>(::bar)(1)</bold> (in test())
5 [LAMBDA IN] val x = <bold>(::bar)</bold>(1) (in test())
4 fun <bold>bar(n: Int) = n</bold> (in test())
4 <bold>fun bar(n: Int)</bold> = n (in test())
4 fun bar(n: Int) = <bold>n</bold> (in test())
4 fun bar(<bold>n: Int</bold>) = n (in test())
5 val x = (::bar)(<bold>1</bold>) (in test())
@@ -1,3 +1,3 @@
3 fun foo(n: Int) = <bold>n + 1</bold> (in foo(Int))
3 fun <bold>foo(n: Int) = n + 1</bold>
3 <bold>fun foo(n: Int)</bold> = n + 1
3 fun foo(n: Int) = <bold>n + 1</bold> (in foo(Int))
@@ -1,3 +1,3 @@
[NotNull Values]
3 fun <bold>foo(n: Int) = n + 1</bold>
3 fun <bold>foo(n: Int) = n + 1</bold>
3 <bold>fun foo(n: Int)</bold> = n + 1
3 <bold>fun foo(n: Int)</bold> = n + 1
@@ -1,2 +1,2 @@
3 fun <bold>foo(n: Int) = n + 1</bold>
3 <bold>fun foo(n: Int)</bold> = n + 1
3 fun foo(n: Int) = <bold>n + 1</bold> (in foo(Int))
@@ -1,8 +1,8 @@
5 return <bold>-n</bold> (in foo(Int))
3 fun <bold>foo(n: Int): Int {</bold>
3 <bold>fun foo(n: Int): Int</bold> {
5 return <bold>-n</bold> (in foo(Int))
3 fun foo(<bold>n: Int</bold>): Int { (in foo(Int))
3 fun <bold>foo(n: Int): Int {</bold>
3 <bold>fun foo(n: Int): Int</bold> {
4 if (n > 0) return <bold>n</bold> (in foo(Int))
3 fun foo(<bold>n: Int</bold>): Int { (in foo(Int))
@@ -1,3 +1,3 @@
[NotNull Values]
3 fun <bold>foo(n: Int): Int {</bold>
3 fun <bold>foo(n: Int): Int {</bold>
3 <bold>fun foo(n: Int): Int</bold> {
3 <bold>fun foo(n: Int): Int</bold> {
@@ -1,4 +1,4 @@
3 fun <bold>foo(n: Int): Int {</bold>
3 <bold>fun foo(n: Int): Int</bold> {
4 if (n > 0) return <bold>n</bold> (in foo(Int))
3 fun foo(<bold>n: Int</bold>): Int { (in foo(Int))
5 return <bold>-n</bold> (in foo(Int))
@@ -1,11 +1,11 @@
4 var foo: Int = <bold>-1</bold> (in A.foo)
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = -1</bold> (in A)
4 <bold>var foo: Int</bold> = -1 (in A)
4 var foo: Int = <bold>-1</bold> (in A.foo)
7 field = if (b) value else <bold>0</bold> (in A.foo.set)
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = -1</bold> (in A)
4 <bold>var foo: Int</bold> = -1 (in A)
5 get() = <bold>if (b) field else 0</bold> (in A.foo.get)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo.get)
7 field = <bold>if (b) value else 0</bold> (in A.foo.set)
@@ -13,7 +13,7 @@
12 foo = <bold>1</bold> (in A.test())
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = -1</bold> (in A)
4 <bold>var foo: Int</bold> = -1 (in A)
5 get() = <bold>if (b) field else 0</bold> (in A.foo.get)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo.get)
7 field = <bold>if (b) value else 0</bold> (in A.foo.set)
@@ -1,5 +1,5 @@
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = -1</bold> (in A)
4 <bold>var foo: Int</bold> = -1 (in A)
4 var foo: Int = <bold>-1</bold> (in A.foo)
5 get() = <bold>if (b) field else 0</bold> (in A.foo.get)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo.get)
@@ -1,6 +1,5 @@
4 get() = <bold>0</bold> (in foo.get)
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
3 <bold>val foo: Int</bold>
4 get() = <bold>0</bold> (in foo.get)
@@ -1,3 +1,3 @@
[NotNull Values]
7 val <bold>x = foo</bold> (in test())
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 <bold>val x</bold> = foo (in test())
@@ -1,4 +1,4 @@
7 val <bold>x = foo</bold> (in test())
7 <bold>val x</bold> = foo (in test())
7 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
3 <bold>val foo: Int</bold>
4 get() = <bold>0</bold> (in foo.get)
@@ -1,6 +1,5 @@
5 return <bold>0</bold> (in foo.get)
9 val <bold>x = foo</bold> (in test())
9 <bold>val x</bold> = foo (in test())
9 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
3 <bold>val foo: Int</bold>
5 return <bold>0</bold> (in foo.get)
@@ -1,3 +1,3 @@
[NotNull Values]
9 val <bold>x = foo</bold> (in test())
9 val <bold>x = foo</bold> (in test())
9 <bold>val x</bold> = foo (in test())
9 <bold>val x</bold> = foo (in test())
@@ -1,4 +1,4 @@
9 val <bold>x = foo</bold> (in test())
9 <bold>val x</bold> = foo (in test())
9 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
3 <bold>val foo: Int</bold>
5 return <bold>0</bold> (in foo.get)
+2 -2
View File
@@ -1,10 +1,10 @@
3 fun test(m: Int, <bold>n: Int</bold>) { (in test(Int, Int))
4 val <bold>x = if (m > 1) n else 1</bold> (in test(Int, Int))
4 <bold>val x</bold> = if (m > 1) n else 1 (in test(Int, Int))
4 val x = <bold>if (m > 1) n else 1</bold> (in test(Int, Int))
4 val x = if (m > 1) <bold>n</bold> else 1 (in test(Int, Int))
3 fun test(m: Int, <bold>n: Int</bold>) { (in test(Int, Int))
4 val x = if (m > 1) n else <bold>1</bold> (in test(Int, Int))
4 val <bold>x = if (m > 1) n else 1</bold> (in test(Int, Int))
4 <bold>val x</bold> = if (m > 1) n else 1 (in test(Int, Int))
4 val x = <bold>if (m > 1) n else 1</bold> (in test(Int, Int))
4 val x = if (m > 1) n else <bold>1</bold> (in test(Int, Int))
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x = if (m > 1) n else 1</bold> (in test(Int, Int))
4 val <bold>x = if (m > 1) n else 1</bold> (in test(Int, Int))
4 <bold>val x</bold> = if (m > 1) n else 1 (in test(Int, Int))
4 <bold>val x</bold> = if (m > 1) n else 1 (in test(Int, Int))
+1 -1
View File
@@ -1,4 +1,4 @@
4 val <bold>x = if (m > 1) n else 1</bold> (in test(Int, Int))
4 <bold>val x</bold> = if (m > 1) n else 1 (in test(Int, Int))
4 val x = <bold>if (m > 1) n else 1</bold> (in test(Int, Int))
4 val x = if (m > 1) <bold>n</bold> else 1 (in test(Int, Int))
3 fun test(m: Int, <bold>n: Int</bold>) { (in test(Int, Int))
+2 -2
View File
@@ -1,7 +1,7 @@
4 return f(<bold>1</bold>) (in foo((Int) -> Int))
8 val <bold>x = foo { it }</bold> (in test())
8 <bold>val x</bold> = foo { it } (in test())
8 val x = <bold>foo { it }</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
@@ -1,3 +1,3 @@
[NotNull Values]
8 val <bold>x = foo { it }</bold> (in test())
8 val <bold>x = foo { it }</bold> (in test())
8 <bold>val x</bold> = foo { it } (in test())
8 <bold>val x</bold> = foo { it } (in test())
+2 -2
View File
@@ -1,6 +1,6 @@
8 val <bold>x = foo { it }</bold> (in test())
8 <bold>val x</bold> = foo { it } (in test())
8 val x = <bold>foo { it }</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
4 return <bold>f(1)</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
@@ -1,10 +1,10 @@
5 return x(<bold>1</bold>) (in foo((Int) -> Int))
9 val <bold>y = foo { it }</bold> (in test())
9 <bold>val y</bold> = foo { it } (in test())
9 val y = <bold>foo { it }</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
5 return <bold>x(1)</bold> (in foo((Int) -> Int))
5 [LAMBDA IN] return <bold>x</bold>(1) (in foo((Int) -> Int))
4 [LAMBDA IN] val <bold>x = f</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] <bold>val x</bold> = f (in foo((Int) -> Int))
4 [LAMBDA IN] val x = <bold>f</bold> (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
9 [LAMBDA IN] val y = foo <bold>{ it }</bold> (in test())
@@ -13,5 +13,5 @@
9 [LAMBDA CALLS ARGUMENT #0] val y = foo <bold>{ it }</bold> (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] val x = <bold>f</bold> (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] val <bold>x = f</bold> (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] <bold>val x</bold> = f (in foo((Int) -> Int))
5 return x(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,3 +1,3 @@
[NotNull Values]
9 val <bold>y = foo { it }</bold> (in test())
9 val <bold>y = foo { it }</bold> (in test())
9 <bold>val y</bold> = foo { it } (in test())
9 <bold>val y</bold> = foo { it } (in test())
@@ -1,9 +1,9 @@
9 val <bold>y = foo { it }</bold> (in test())
9 <bold>val y</bold> = foo { it } (in test())
9 val y = <bold>foo { it }</bold> (in test())
3 fun <bold>foo(f: (Int) -> Int): Int {</bold>
3 <bold>fun foo(f: (Int) -> Int): Int</bold> {
5 return <bold>x(1)</bold> (in foo((Int) -> Int))
5 [LAMBDA IN] return <bold>x</bold>(1) (in foo((Int) -> Int))
4 [LAMBDA IN] val <bold>x = f</bold> (in foo((Int) -> Int))
4 [LAMBDA IN] <bold>val x</bold> = f (in foo((Int) -> Int))
4 [LAMBDA IN] val x = <bold>f</bold> (in foo((Int) -> Int))
3 [LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
9 [LAMBDA IN] val y = foo <bold>{ it }</bold> (in test())
@@ -12,5 +12,5 @@
9 [LAMBDA CALLS ARGUMENT #0] val y = foo <bold>{ it }</bold> (in test())
3 [LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] val x = <bold>f</bold> (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] val <bold>x = f</bold> (in foo((Int) -> Int))
4 [LAMBDA CALLS ARGUMENT #0] <bold>val x</bold> = f (in foo((Int) -> Int))
5 return x(<bold>1</bold>) (in foo((Int) -> Int))
@@ -1,5 +1,5 @@
4 val x = { <bold>1</bold> }() (in test())
4 val <bold>x = { 1 }()</bold> (in test())
4 <bold>val x</bold> = { 1 }() (in test())
4 val x = <bold>{ 1 }()</bold> (in test())
4 [LAMBDA IN] val x = <bold>{ 1 }</bold>() (in test())
4 val x = <bold>{ 1 }</bold>() (in test())
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x = { 1 }()</bold> (in test())
4 val <bold>x = { 1 }()</bold> (in test())
4 <bold>val x</bold> = { 1 }() (in test())
4 <bold>val x</bold> = { 1 }() (in test())
@@ -1,4 +1,4 @@
4 val <bold>x = { 1 }()</bold> (in test())
4 <bold>val x</bold> = { 1 }() (in test())
4 val x = <bold>{ 1 }()</bold> (in test())
4 [LAMBDA IN] val x = <bold>{ 1 }</bold>() (in test())
4 val x = <bold>{ 1 }</bold>() (in test())
@@ -1,8 +1,8 @@
4 val f = { <bold>1</bold> } (in test())
5 val <bold>x = f()</bold> (in test())
5 <bold>val x</bold> = f() (in test())
5 val x = <bold>f()</bold> (in test())
5 [LAMBDA IN] val x = <bold>f</bold>() (in test())
4 [LAMBDA IN] val <bold>f = { 1 }</bold> (in test())
4 [LAMBDA IN] <bold>val f</bold> = { 1 } (in test())
4 [LAMBDA IN] val f = <bold>{ 1 }</bold> (in test())
4 val f = <bold>{ 1 }</bold> (in test())
4 val f = { <bold>1</bold> } (in test())
@@ -1,3 +1,3 @@
[NotNull Values]
5 val <bold>x = f()</bold> (in test())
5 val <bold>x = f()</bold> (in test())
5 <bold>val x</bold> = f() (in test())
5 <bold>val x</bold> = f() (in test())
@@ -1,7 +1,7 @@
5 val <bold>x = f()</bold> (in test())
5 <bold>val x</bold> = f() (in test())
5 val x = <bold>f()</bold> (in test())
5 [LAMBDA IN] val x = <bold>f</bold>() (in test())
4 [LAMBDA IN] val <bold>f = { 1 }</bold> (in test())
4 [LAMBDA IN] <bold>val f</bold> = { 1 } (in test())
4 [LAMBDA IN] val f = <bold>{ 1 }</bold> (in test())
4 val f = <bold>{ 1 }</bold> (in test())
4 val f = { <bold>1</bold> } (in test())
+1 -1
View File
@@ -1,4 +1,4 @@
3 fun test(<bold>n: Int</bold>) { (in test(Int))
4 val <bold>x = n</bold> (in test(Int))
4 <bold>val x</bold> = n (in test(Int))
4 val x = <bold>n</bold> (in test(Int))
3 fun test(<bold>n: Int</bold>) { (in test(Int))
+2 -2
View File
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x = n</bold> (in test(Int))
4 val <bold>x = n</bold> (in test(Int))
4 <bold>val x</bold> = n (in test(Int))
4 <bold>val x</bold> = n (in test(Int))
+1 -1
View File
@@ -1,3 +1,3 @@
4 val <bold>x = n</bold> (in test(Int))
4 <bold>val x</bold> = n (in test(Int))
4 val x = <bold>n</bold> (in test(Int))
3 fun test(<bold>n: Int</bold>) { (in test(Int))
+2 -2
View File
@@ -1,8 +1,8 @@
3 fun test(<bold>n: Int</bold>) { (in test(Int))
4 var <bold>x = n</bold> (in test(Int))
4 <bold>var x</bold> = n (in test(Int))
4 var x = <bold>n</bold> (in test(Int))
3 fun test(<bold>n: Int</bold>) { (in test(Int))
6 x = <bold>0</bold> (in test(Int))
4 var <bold>x = n</bold> (in test(Int))
4 <bold>var x</bold> = n (in test(Int))
6 x = <bold>0</bold> (in test(Int))
+2 -2
View File
@@ -1,3 +1,3 @@
[NotNull Values]
4 var <bold>x = n</bold> (in test(Int))
4 var <bold>x = n</bold> (in test(Int))
4 <bold>var x</bold> = n (in test(Int))
4 <bold>var x</bold> = n (in test(Int))
+1 -1
View File
@@ -1,4 +1,4 @@
4 var <bold>x = n</bold> (in test(Int))
4 <bold>var x</bold> = n (in test(Int))
4 var x = <bold>n</bold> (in test(Int))
3 fun test(<bold>n: Int</bold>) { (in test(Int))
6 x = <bold>0</bold> (in test(Int))
@@ -1,4 +1,3 @@
4 val x: Int = <bold>1</bold> (in A.x)
4 val <bold>x: Int = 1</bold> (in A)
4 <bold>val x: Int</bold> = 1 (in A)
4 val x: Int = <bold>1</bold> (in A.x)
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x: Int = 1</bold> (in A)
4 val <bold>x: Int = 1</bold> (in A)
4 <bold>val x: Int</bold> = 1 (in A)
4 <bold>val x: Int</bold> = 1 (in A)
@@ -1,2 +1,2 @@
4 val <bold>x: Int = 1</bold> (in A)
4 <bold>val x: Int</bold> = 1 (in A)
4 val x: Int = <bold>1</bold> (in A.x)
@@ -1,3 +1,3 @@
7 x = <bold>1</bold> (in A)
4 val <bold>x: Int</bold> (in A)
4 <bold>val x: Int</bold> (in A)
7 x = <bold>1</bold> (in A)
@@ -1,3 +1,3 @@
[NotNull Values]
4 val <bold>x: Int</bold> (in A)
4 val <bold>x: Int</bold> (in A)
4 <bold>val x: Int</bold> (in A)
4 <bold>val x: Int</bold> (in A)

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