Container presentation in slicer tree: no type for properties and show accessor

This commit is contained in:
Valentin Kipyatkov
2020-04-14 17:49:35 +03:00
parent 2ee776a0d8
commit 03126ba469
59 changed files with 156 additions and 127 deletions
@@ -10,15 +10,14 @@ import com.intellij.slicer.SliceUsageCellRendererBase
import com.intellij.ui.JBColor
import com.intellij.ui.SimpleTextAttributes
import com.intellij.util.FontUtil
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.idea.KotlinBundle
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.descriptorUtil.isCompanionObject
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
@@ -63,6 +62,7 @@ object KotlinSliceUsageCellRenderer : SliceUsageCellRendererBase() {
it is KtObjectDeclaration && !it.isObjectLiteral() ||
it is KtNamedFunction && !it.isLocal ||
it is KtProperty && !it.isLocal ||
it is KtPropertyAccessor ||
it is KtConstructor<*>
} as? KtDeclaration ?: return null
@@ -85,7 +85,30 @@ object KotlinSliceUsageCellRenderer : SliceUsageCellRendererBase() {
}
}
append(descriptorRenderer.render(descriptor))
when (descriptor) {
is PropertyDescriptor -> {
renderPropertyOrAccessor(descriptor)
}
is PropertyAccessorDescriptor -> {
val property = descriptor.correspondingProperty
renderPropertyOrAccessor(property, if (descriptor is PropertyGetterDescriptor) ".get" else ".set")
}
else -> {
append(descriptorRenderer.render(descriptor))
}
}
}
}
private fun StringBuilder.renderPropertyOrAccessor(propertyDescriptor: PropertyDescriptor, accessorSuffix: String = "") {
append(propertyDescriptor.name.render())
append(accessorSuffix)
val receiverType = propertyDescriptor.extensionReceiverParameter?.type
if (receiverType != null) {
append(" on ")
append(descriptorRenderer.renderType(receiverType))
}
}
@@ -1,12 +1,12 @@
4 var foo: Int = <bold>0</bold> (in A.foo: Int)
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 var foo: Int = <bold>0</bold> (in A.foo: Int)
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)
6 field = <bold>if (b) value else 0</bold> (in A.foo: Int)
6 field = if (b) <bold>value</bold> else 0 (in A.foo: Int)
5 set(<bold>value</bold>) { (in A.foo: Int)
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)
11 foo = <bold>1</bold> (in A.test())
@@ -1,8 +1,8 @@
10 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 var foo: Int = <bold>0</bold> (in A.foo: Int)
6 field = <bold>if (b) value else 0</bold> (in A.foo: Int)
6 field = if (b) <bold>value</bold> else 0 (in A.foo: Int)
5 set(<bold>value</bold>) { (in A.foo: Int)
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)
5 set(<bold>value</bold>) { (in A.foo.set)
11 foo = <bold>1</bold> (in A.test())
6 field = if (b) value else <bold>0</bold> (in A.foo: Int)
6 field = if (b) value else <bold>0</bold> (in A.foo.set)
@@ -1,22 +1,22 @@
4 var foo: Int = <bold>-1</bold> (in A.foo: Int)
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 var foo: Int = <bold>-1</bold> (in A.foo: Int)
4 var foo: Int = <bold>-1</bold> (in A.foo)
7 field = if (b) value else <bold>0</bold> (in A.foo: Int)
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)
5 get() = <bold>if (b) field else 0</bold> (in A.foo: Int)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo: Int)
7 field = <bold>if (b) value else 0</bold> (in A.foo: Int)
7 field = if (b) value else <bold>0</bold> (in A.foo: Int)
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)
7 field = if (b) value else <bold>0</bold> (in A.foo.set)
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)
5 get() = <bold>if (b) field else 0</bold> (in A.foo: Int)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo: Int)
7 field = <bold>if (b) value else 0</bold> (in A.foo: Int)
7 field = if (b) <bold>value</bold> else 0 (in A.foo: Int)
6 set(<bold>value</bold>) { (in A.foo: Int)
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)
7 field = if (b) <bold>value</bold> else 0 (in A.foo.set)
6 set(<bold>value</bold>) { (in A.foo.set)
12 foo = <bold>1</bold> (in A.test())
@@ -1,11 +1,11 @@
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = -1</bold> (in A)
4 var foo: Int = <bold>-1</bold> (in A.foo: Int)
5 get() = <bold>if (b) field else 0</bold> (in A.foo: Int)
5 get() = if (b) <bold>field</bold> else 0 (in A.foo: Int)
7 field = <bold>if (b) value else 0</bold> (in A.foo: Int)
7 field = if (b) <bold>value</bold> else 0 (in A.foo: Int)
6 set(<bold>value</bold>) { (in A.foo: Int)
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)
7 field = <bold>if (b) value else 0</bold> (in A.foo.set)
7 field = if (b) <bold>value</bold> else 0 (in A.foo.set)
6 set(<bold>value</bold>) { (in A.foo.set)
12 foo = <bold>1</bold> (in A.test())
7 field = if (b) value else <bold>0</bold> (in A.foo: Int)
5 get() = if (b) field else <bold>0</bold> (in A.foo: Int)
7 field = if (b) value else <bold>0</bold> (in A.foo.set)
5 get() = if (b) field else <bold>0</bold> (in A.foo.get)
@@ -1,5 +1,6 @@
4 get() = <bold>0</bold> (in foo: Int)
4 get() = <bold>0</bold> (in foo.get)
7 val <bold>x = foo</bold> (in test())
7 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
4 get() = <bold>0</bold> (in foo: Int)
4 get() = <bold>0</bold> (in foo.get)
@@ -1,4 +1,4 @@
7 val <bold>x = foo</bold> (in test())
7 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
4 get() = <bold>0</bold> (in foo: Int)
4 get() = <bold>0</bold> (in foo.get)
@@ -1,5 +1,6 @@
5 return <bold>0</bold> (in foo: Int)
5 return <bold>0</bold> (in foo.get)
9 val <bold>x = foo</bold> (in test())
9 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
5 return <bold>0</bold> (in foo: Int)
5 return <bold>0</bold> (in foo.get)
@@ -1,4 +1,4 @@
9 val <bold>x = foo</bold> (in test())
9 val x = <bold>foo</bold> (in test())
3 val <bold>foo: Int</bold>
5 return <bold>0</bold> (in foo: Int)
5 return <bold>0</bold> (in foo.get)
@@ -1,3 +1,4 @@
4 val x: Int = <bold>1</bold> (in A.x: Int)
4 val x: Int = <bold>1</bold> (in A.x)
4 val <bold>x: Int = 1</bold> (in A)
4 val x: Int = <bold>1</bold> (in A.x: Int)
4 val x: Int = <bold>1</bold> (in A.x)
@@ -1,2 +1,2 @@
4 val <bold>x: Int = 1</bold> (in A)
4 val x: Int = <bold>1</bold> (in A.x: Int)
4 val x: Int = <bold>1</bold> (in A.x)
@@ -1,6 +1,6 @@
4 var x: Int = <bold>1</bold> (in A.x: Int)
4 var x: Int = <bold>1</bold> (in A.x)
4 var <bold>x: Int = 1</bold> (in A)
4 var x: Int = <bold>1</bold> (in A.x: Int)
4 var x: Int = <bold>1</bold> (in A.x)
9 x = <bold>2</bold> (in A.test())
4 var <bold>x: Int = 1</bold> (in A)
@@ -1,3 +1,3 @@
4 var <bold>x: Int = 1</bold> (in A)
4 var x: Int = <bold>1</bold> (in A.x: Int)
4 var x: Int = <bold>1</bold> (in A.x)
9 x = <bold>2</bold> (in A.test())
+5 -4
View File
@@ -1,9 +1,10 @@
4 var foo: Int = <bold>0</bold> (in A.foo: Int)
4 var foo: Int = <bold>0</bold> (in A.foo)
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 var foo: Int = <bold>0</bold> (in A.foo: Int)
4 var foo: Int = <bold>0</bold> (in A.foo)
5 get() = <bold>1</bold> (in A.foo: Int)
5 get() = <bold>1</bold> (in A.foo.get)
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
5 get() = <bold>1</bold> (in A.foo: Int)
5 get() = <bold>1</bold> (in A.foo.get)
+2 -2
View File
@@ -1,4 +1,4 @@
11 val x = <bold>foo</bold> (in A.test())
4 var <bold>foo: Int = 0</bold> (in A)
4 var foo: Int = <bold>0</bold> (in A.foo: Int)
5 get() = <bold>1</bold> (in A.foo: Int)
4 var foo: Int = <bold>0</bold> (in A.foo)
5 get() = <bold>1</bold> (in A.foo.get)
@@ -1,7 +1,7 @@
9 <bold>"b"</bold>.property = 2 (in foo())
3 var <bold>Any</bold>.property: Int (in property: Int on Any)
3 var <bold>Any</bold>.property: Int (in property on Any)
9 <bold>"b"</bold>.property = 2 (in foo())
8 val v = <bold>"a"</bold>.property (in foo())
3 var <bold>Any</bold>.property: Int (in property: Int on Any)
3 var <bold>Any</bold>.property: Int (in property on Any)
8 val v = <bold>"a"</bold>.property (in foo())
@@ -1,7 +1,7 @@
[NotNull Values]
8 val v = <bold>"a"</bold>.property (in foo())
3 var <bold>Any</bold>.property: Int (in property: Int on Any)
3 var <bold>Any</bold>.property: Int (in property on Any)
8 val v = <bold>"a"</bold>.property (in foo())
9 <bold>"b"</bold>.property = 2 (in foo())
3 var <bold>Any</bold>.property: Int (in property: Int on Any)
3 var <bold>Any</bold>.property: Int (in property on Any)
9 <bold>"b"</bold>.property = 2 (in foo())
@@ -1,3 +1,3 @@
3 var <bold>Any</bold>.property: Int (in property: Int on Any)
3 var <bold>Any</bold>.property: Int (in property on Any)
8 val v = <bold>"a"</bold>.property (in foo())
9 <bold>"b"</bold>.property = 2 (in foo())
@@ -1,8 +1,8 @@
8 override var prop: Int = <bold>1</bold> (in Derived.prop: Int)
8 override var prop: Int = <bold>1</bold> (in Derived.prop)
13 val <bold>v = d.prop</bold> (in foo(Base, Derived))
13 val v = <bold>d.prop</bold> (in foo(Base, Derived))
8 override var <bold>prop: Int = 1</bold> (in Derived)
8 override var prop: Int = <bold>1</bold> (in Derived.prop: Int)
8 override var prop: Int = <bold>1</bold> (in Derived.prop)
12 b.prop = <bold>10</bold> (in foo(Base, Derived))
13 val <bold>v = d.prop</bold> (in foo(Base, Derived))
+1 -1
View File
@@ -1,5 +1,5 @@
13 val <bold>v = d.prop</bold> (in foo(Base, Derived))
13 val v = <bold>d.prop</bold> (in foo(Base, Derived))
8 override var <bold>prop: Int = 1</bold> (in Derived)
8 override var prop: Int = <bold>1</bold> (in Derived.prop: Int)
8 override var prop: Int = <bold>1</bold> (in Derived.prop)
12 b.prop = <bold>10</bold> (in foo(Base, Derived))
@@ -4,11 +4,11 @@
7 open class B(override val <bold>foo: Int</bold>) : A() (in B)
9 class C : B(<bold>1</bold>) { (in C)
10 override val foo = <bold>3</bold> (in C.foo: Int)
10 override val foo = <bold>3</bold> (in C.foo)
15 val <bold>y = b.foo</bold> (in test(A, B,…))
15 val y = <bold>b.foo</bold> (in test(A, B,…))
10 override val <bold>foo = 3</bold> (in C)
10 override val foo = <bold>3</bold> (in C.foo: Int)
10 override val foo = <bold>3</bold> (in C.foo)
7 return <bold>5</bold>;
15 val <bold>y = b.foo</bold> (in test(A, B,…))
@@ -5,4 +5,4 @@
9 class C : B(<bold>1</bold>) { (in C)
7 return <bold>5</bold>;
10 override val <bold>foo = 3</bold> (in C)
10 override val foo = <bold>3</bold> (in C.foo: Int)
10 override val foo = <bold>3</bold> (in C.foo)
@@ -1,14 +1,14 @@
10 get() = <bold>2</bold> (in B.foo: Int)
10 get() = <bold>2</bold> (in B.foo.get)
20 val <bold>y = b.foo</bold> (in test(A, B,…))
20 val y = <bold>b.foo</bold> (in test(A, B,…))
9 override val <bold>foo: Int</bold> (in B)
10 get() = <bold>2</bold> (in B.foo: Int)
10 get() = <bold>2</bold> (in B.foo.get)
15 get() = <bold>3</bold> (in C.foo: Int)
15 get() = <bold>3</bold> (in C.foo.get)
20 val <bold>y = b.foo</bold> (in test(A, B,…))
20 val y = <bold>b.foo</bold> (in test(A, B,…))
14 override val <bold>foo: Int</bold> (in C)
15 get() = <bold>3</bold> (in C.foo: Int)
15 get() = <bold>3</bold> (in C.foo.get)
3 return <bold>5</bold>;
20 val <bold>y = b.foo</bold> (in test(A, B,…))
@@ -2,6 +2,6 @@
20 val y = <bold>b.foo</bold> (in test(A, B,…))
3 return <bold>5</bold>;
9 override val <bold>foo: Int</bold> (in B)
10 get() = <bold>2</bold> (in B.foo: Int)
10 get() = <bold>2</bold> (in B.foo.get)
14 override val <bold>foo: Int</bold> (in C)
15 get() = <bold>3</bold> (in C.foo: Int)
15 get() = <bold>3</bold> (in C.foo.get)
@@ -1,14 +1,14 @@
8 override val foo = <bold>2</bold> (in B.foo: Int)
8 override val foo = <bold>2</bold> (in B.foo)
17 val <bold>y = b.foo</bold> (in test(A, B,…))
17 val y = <bold>b.foo</bold> (in test(A, B,…))
8 override val <bold>foo = 2</bold> (in B)
8 override val foo = <bold>2</bold> (in B.foo: Int)
8 override val foo = <bold>2</bold> (in B.foo)
12 override val foo = <bold>3</bold> (in C.foo: Int)
12 override val foo = <bold>3</bold> (in C.foo)
17 val <bold>y = b.foo</bold> (in test(A, B,…))
17 val y = <bold>b.foo</bold> (in test(A, B,…))
12 override val <bold>foo = 3</bold> (in C)
12 override val foo = <bold>3</bold> (in C.foo: Int)
12 override val foo = <bold>3</bold> (in C.foo)
3 return <bold>5</bold>;
17 val <bold>y = b.foo</bold> (in test(A, B,…))
@@ -2,6 +2,6 @@
17 val y = <bold>b.foo</bold> (in test(A, B,…))
3 return <bold>5</bold>;
8 override val <bold>foo = 2</bold> (in B)
8 override val foo = <bold>2</bold> (in B.foo: Int)
8 override val foo = <bold>2</bold> (in B.foo)
12 override val <bold>foo = 3</bold> (in C)
12 override val foo = <bold>3</bold> (in C.foo: Int)
12 override val foo = <bold>3</bold> (in C.foo)
@@ -1,8 +1,8 @@
8 override var prop: Int = <bold>0</bold> (in C.prop: Int)
8 override var prop: Int = <bold>0</bold> (in C.prop)
13 val <bold>v = c.prop</bold> (in foo(I, C))
13 val v = <bold>c.prop</bold> (in foo(I, C))
8 override var <bold>prop: Int = 0</bold> (in C)
8 override var prop: Int = <bold>0</bold> (in C.prop: Int)
8 override var prop: Int = <bold>0</bold> (in C.prop)
12 i.prop = <bold>10</bold> (in foo(I, C))
13 val <bold>v = c.prop</bold> (in foo(I, C))
@@ -1,5 +1,5 @@
13 val <bold>v = c.prop</bold> (in foo(I, C))
13 val v = <bold>c.prop</bold> (in foo(I, C))
8 override var <bold>prop: Int = 0</bold> (in C)
8 override var prop: Int = <bold>0</bold> (in C.prop: Int)
8 override var prop: Int = <bold>0</bold> (in C.prop)
12 i.prop = <bold>10</bold> (in foo(I, C))
@@ -1,7 +1,7 @@
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
15 val v = "Now my name is '${a.<bold>name</bold>}'" (in main(Array<String>))
4 var <bold>name : String = name1</bold> (in AClass)
4 var name : String = <bold>name1</bold> (in AClass.name: String)
4 var name : String = <bold>name1</bold> (in AClass.name)
3 class AClass(<bold>name1: String</bold>){ (in AClass(String))
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
@@ -1,6 +1,6 @@
15 val v = "Now my name is '${a.<bold>name</bold>}'" (in main(Array<String>))
4 var <bold>name : String = name1</bold> (in AClass)
4 var name : String = <bold>name1</bold> (in AClass.name: String)
4 var name : String = <bold>name1</bold> (in AClass.name)
3 class AClass(<bold>name1: String</bold>){ (in AClass(String))
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
6 name = <bold>"uses: bye"</bold> (in AClass.uses())
@@ -1,7 +1,7 @@
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
8 val v = "And now my name is '$<bold>name</bold>'" (in AClass.uses())
4 var <bold>name : String = name1</bold> (in AClass)
4 var name : String = <bold>name1</bold> (in AClass.name: String)
4 var name : String = <bold>name1</bold> (in AClass.name)
3 class AClass(<bold>name1: String</bold>){ (in AClass(String))
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
@@ -1,6 +1,6 @@
8 val v = "And now my name is '$<bold>name</bold>'" (in AClass.uses())
4 var <bold>name : String = name1</bold> (in AClass)
4 var name : String = <bold>name1</bold> (in AClass.name: String)
4 var name : String = <bold>name1</bold> (in AClass.name)
3 class AClass(<bold>name1: String</bold>){ (in AClass(String))
13 val a = AClass(<bold>"main: hello"</bold>) (in main(Array<String>))
6 name = <bold>"uses: bye"</bold> (in AClass.uses())
@@ -1,10 +1,10 @@
6 private var _value: String = <bold>""</bold> (in Delegate._value: String)
6 private var _value: String = <bold>""</bold> (in Delegate._value)
27 println("My name is '${a.<bold>name</bold>}'") (in main(Array<String>))
14 var <bold>name by Delegate()</bold> (in AClass)
7 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = _value</bold> (in Delegate)
7 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>_value</bold> (in Delegate.getValue(Any?, KProperty<*>))
6 private var <bold>_value: String = ""</bold> (in Delegate)
6 private var _value: String = <bold>""</bold> (in Delegate._value: String)
6 private var _value: String = <bold>""</bold> (in Delegate._value)
20 name = <bold>"bye"</bold> (in AClass.uses())
27 println("My name is '${a.<bold>name</bold>}'") (in main(Array<String>))
@@ -3,7 +3,7 @@
7 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = _value</bold> (in Delegate)
7 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>_value</bold> (in Delegate.getValue(Any?, KProperty<*>))
6 private var <bold>_value: String = ""</bold> (in Delegate)
6 private var _value: String = <bold>""</bold> (in Delegate._value: String)
6 private var _value: String = <bold>""</bold> (in Delegate._value)
9 _value = <bold>value</bold> (in Delegate.setValue(Any?, KProperty<*>,…))
8 operator fun setValue(thisRef: Any?, property: KProperty<*>, <bold>value: String</bold>) { (in Delegate.setValue(Any?, KProperty<*>,…))
16 name = <bold>name1</bold> (in AClass)
@@ -1,10 +1,10 @@
7 private var _value: String = <bold>""</bold> (in Delegate._value: String)
7 private var _value: String = <bold>""</bold> (in Delegate._value)
22 println("Now my name is '$<bold>name</bold>'") (in AClass.uses())
15 var <bold>name by Delegate()</bold> (in AClass)
8 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = _value</bold> (in Delegate)
8 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>_value</bold> (in Delegate.getValue(Any?, KProperty<*>))
7 private var <bold>_value: String = ""</bold> (in Delegate)
7 private var _value: String = <bold>""</bold> (in Delegate._value: String)
7 private var _value: String = <bold>""</bold> (in Delegate._value)
21 name = <bold>"bye"</bold> (in AClass.uses())
22 println("Now my name is '$<bold>name</bold>'") (in AClass.uses())
@@ -3,7 +3,7 @@
8 operator fun <bold>getValue(thisRef: Any?, property: KProperty<*>) = _value</bold> (in Delegate)
8 operator fun getValue(thisRef: Any?, property: KProperty<*>) = <bold>_value</bold> (in Delegate.getValue(Any?, KProperty<*>))
7 private var <bold>_value: String = ""</bold> (in Delegate)
7 private var _value: String = <bold>""</bold> (in Delegate._value: String)
7 private var _value: String = <bold>""</bold> (in Delegate._value)
10 _value = <bold>value</bold> (in Delegate.setValue(Any?, KProperty<*>,…))
9 operator fun setValue(thisRef: Any?, property: KProperty<*>, <bold>value: String</bold>) { (in Delegate.setValue(Any?, KProperty<*>,…))
17 name = <bold>name1</bold> (in AClass)
@@ -4,10 +4,11 @@
9 return <bold>_value</bold>;
6 private String _value = <bold>""</bold>;
5 var name <bold>by D()</bold> (in AClass.name: String!)
5 var name <bold>by D()</bold> (in AClass.name)
12 println("Now my name is '$<bold>name</bold>'") (in AClass.uses())
5 var <bold>name by D()</bold> (in AClass)
9 return <bold>_value</bold>;
13 _value = <bold>value</bold>;
12 void setValue(@Nullable Object thisRef, @NotNull KProperty<?> property, @NotNull String <bold>value</bold>) {
5 var name <bold>by D()</bold> (in AClass.name: String!)
5 var name <bold>by D()</bold> (in AClass.name)
@@ -1,11 +1,11 @@
[Other Values]
5 var name <bold>by D()</bold> (in AClass.name: String!)
5 var name <bold>by D()</bold> (in AClass.name)
12 println("Now my name is '$<bold>name</bold>'") (in AClass.uses())
5 var <bold>name by D()</bold> (in AClass)
9 return <bold>_value</bold>;
13 _value = <bold>value</bold>;
12 void setValue(@Nullable Object thisRef, @NotNull KProperty<?> property, @NotNull String <bold>value</bold>) {
5 var name <bold>by D()</bold> (in AClass.name: String!)
5 var name <bold>by D()</bold> (in AClass.name)
6 private String _value = <bold>""</bold>;
12 println("Now my name is '$<bold>name</bold>'") (in AClass.uses())
5 var <bold>name by D()</bold> (in AClass)
@@ -4,4 +4,4 @@
6 private String _value = <bold>""</bold>;
13 _value = <bold>value</bold>;
12 void setValue(@Nullable Object thisRef, @NotNull KProperty<?> property, @NotNull String <bold>value</bold>) {
5 var name <bold>by D()</bold> (in AClass.name: String!)
5 var name <bold>by D()</bold> (in AClass.name)
@@ -2,6 +2,6 @@
7 val <bold>x = "".extensionProp</bold> (in foo())
7 val x = <bold>"".extensionProp</bold> (in foo())
3 val Any.<bold>extensionProp: Any</bold>
4 get() = <bold>this</bold> (in extensionProp: Any on Any)
3 val <bold>Any</bold>.extensionProp: Any (in extensionProp: Any on Any)
4 get() = <bold>this</bold> (in extensionProp.get on Any)
3 val <bold>Any</bold>.extensionProp: Any (in extensionProp on Any)
7 val x = <bold>""</bold>.extensionProp (in foo())
@@ -1,6 +1,6 @@
7 val <bold>x = "".extensionProp</bold> (in foo())
7 val x = <bold>"".extensionProp</bold> (in foo())
3 val Any.<bold>extensionProp: Any</bold>
4 get() = <bold>this</bold> (in extensionProp: Any on Any)
3 val <bold>Any</bold>.extensionProp: Any (in extensionProp: Any on Any)
4 get() = <bold>this</bold> (in extensionProp.get on Any)
3 val <bold>Any</bold>.extensionProp: Any (in extensionProp on Any)
7 val x = <bold>""</bold>.extensionProp (in foo())
+3 -2
View File
@@ -1,3 +1,4 @@
3 val foo: Int = <bold>1</bold> (in foo: Int)
3 val foo: Int = <bold>1</bold> (in foo)
3 val <bold>foo: Int = 1</bold>
3 val foo: Int = <bold>1</bold> (in foo: Int)
3 val foo: Int = <bold>1</bold> (in foo)
+1 -1
View File
@@ -1,2 +1,2 @@
3 val <bold>foo: Int = 1</bold>
3 val foo: Int = <bold>1</bold> (in foo: Int)
3 val foo: Int = <bold>1</bold> (in foo)
+2 -2
View File
@@ -1,6 +1,6 @@
3 var foo: Int = <bold>1</bold> (in foo: Int)
3 var foo: Int = <bold>1</bold> (in foo)
3 var <bold>foo: Int = 1</bold>
3 var foo: Int = <bold>1</bold> (in foo: Int)
3 var foo: Int = <bold>1</bold> (in foo)
7 foo = <bold>2</bold> (in test())
3 var <bold>foo: Int = 1</bold>
+1 -1
View File
@@ -1,4 +1,4 @@
3 var <bold>foo: Int = 1</bold>
3 var foo: Int = <bold>1</bold> (in foo: Int)
3 var foo: Int = <bold>1</bold> (in foo)
7 foo = <bold>2</bold> (in test())
4 TopLevelVarKt.setFoo(<bold>3</bold>);
@@ -2,7 +2,7 @@
6 val <bold>result = 1.property</bold> (in bar())
6 val result = <bold>1.property</bold> (in bar())
1 actual val Int.<bold>property: Any</bold>
2 get() = <bold>this</bold> (in property: Any on Int)
1 actual val <bold>Int</bold>.property: Any (in property: Any on Int)
2 get() = <bold>this</bold> (in property.get on Int)
1 actual val <bold>Int</bold>.property: Any (in property on Int)
6 val result = <bold>1</bold>.property (in bar())
3 expect val Int.<bold>property: Any</bold>
@@ -1,8 +1,8 @@
6 val result = <bold>1</bold>.property (in bar())
3 expect val <bold>Int</bold>.property: Any (in property: Any on Int)
1 actual val <bold>Int</bold>.property: Any (in property: Any on Int)
2 get() = <bold>this</bold> (in property: Any on Int)
2 <bold>get() = this</bold> (in property: Any on Int)
3 expect val <bold>Int</bold>.property: Any (in property on Int)
1 actual val <bold>Int</bold>.property: Any (in property on Int)
2 get() = <bold>this</bold> (in property.get on Int)
2 <bold>get() = this</bold> (in property on Int)
6 val result = 1.<bold>property</bold> (in bar())
6 val <bold>result = 1.property</bold> (in bar())
7 println(<bold>result</bold>) (in bar())
@@ -1,4 +1,4 @@
4 get() = <bold>0</bold> (in foo: Int)
4 <bold>get() = 0</bold> (in foo: Int)
4 get() = <bold>0</bold> (in foo.get)
4 <bold>get() = 0</bold> (in foo)
7 val x = <bold>foo</bold> (in test())
7 val <bold>x = foo</bold> (in test())
@@ -1,4 +1,4 @@
5 return <bold>0</bold> (in foo: Int)
4 <bold>get(): Int {</bold> (in foo: Int)
5 return <bold>0</bold> (in foo.get)
4 <bold>get(): Int {</bold> (in foo)
9 val x = <bold>foo</bold> (in test())
9 val <bold>x = foo</bold> (in test())
@@ -1,6 +1,6 @@
4 val <bold>x = 1</bold> (in A)
3 int x = new A().<bold>getX</bold>();
6 val y = <bold>x</bold> (in A.y: Int)
6 val y = <bold>x</bold> (in A.y)
6 val <bold>y = x</bold> (in A)
11 z = <bold>x</bold> (in A)
8 val <bold>z: Int</bold> (in A)
@@ -1,4 +1,4 @@
10 override val foo = <bold>3</bold> (in C.foo: Int)
10 override val foo = <bold>3</bold> (in C.foo)
10 override val <bold>foo = 3</bold> (in C)
14 val x = a.<bold>foo</bold> (in test(A, B,…))
14 val <bold>x = a.foo</bold> (in test(A, B,…))
@@ -1,5 +1,5 @@
10 get() = <bold>2</bold> (in B.foo: Int)
10 <bold>get() = 2</bold> (in B.foo: Int)
10 get() = <bold>2</bold> (in B.foo.get)
10 <bold>get() = 2</bold> (in B.foo)
19 val x = a.<bold>foo</bold> (in test(A, B,…))
19 val <bold>x = a.foo</bold> (in test(A, B,…))
20 val y = b.<bold>foo</bold> (in test(A, B,…))
@@ -1,4 +1,4 @@
8 override val foo = <bold>2</bold> (in B.foo: Int)
8 override val foo = <bold>2</bold> (in B.foo)
8 override val <bold>foo = 2</bold> (in B)
16 val x = a.<bold>foo</bold> (in test(A, B,…))
16 val <bold>x = a.foo</bold> (in test(A, B,…))
@@ -1,5 +1,5 @@
3 class A(<bold>n: Int</bold>) { (in A(Int))
4 val x = <bold>n</bold> (in A.x: Int)
4 val x = <bold>n</bold> (in A.x)
4 val <bold>x = n</bold> (in A)
9 y = <bold>n</bold> (in A)
6 val <bold>y: Int</bold> (in A)
@@ -4,7 +4,7 @@
17 <bold>x</bold>.fooExt() (in test())
9 fun <bold>A</bold>.fooExt() = 1 (in fooExt() on A)
18 <bold>x</bold>.barExt (in test())
10 val <bold>A</bold>.barExt: Int get() = 2 (in barExt: Int on A)
10 val <bold>A</bold>.barExt: Int get() = 2 (in barExt on A)
20 val y: A? = <bold>x</bold> (in test())
20 val <bold>y: A? = x</bold> (in test())
22 DEREFERENCE: <bold>y</bold>?.foo() (in test())
@@ -12,4 +12,4 @@
24 <bold>y</bold>?.fooExt() (in test())
9 DUPLICATE: fun <bold>A</bold>.fooExt() = 1 (in fooExt() on A)
25 <bold>y</bold>?.barExt (in test())
10 DUPLICATE: val <bold>A</bold>.barExt: Int get() = 2 (in barExt: Int on A)
10 DUPLICATE: val <bold>A</bold>.barExt: Int get() = 2 (in barExt on A)
@@ -1,6 +1,6 @@
7 val x = <bold>""</bold>.extensionProp (in foo())
3 val <bold>String</bold>.extensionProp: Any (in extensionProp: Any on String)
4 get() = <bold>this</bold> (in extensionProp: Any on String)
4 <bold>get() = this</bold> (in extensionProp: Any on String)
3 val <bold>String</bold>.extensionProp: Any (in extensionProp on String)
4 get() = <bold>this</bold> (in extensionProp.get on String)
4 <bold>get() = this</bold> (in extensionProp on String)
7 val x = "".<bold>extensionProp</bold> (in foo())
7 val <bold>x = "".extensionProp</bold> (in foo())
@@ -1,6 +1,6 @@
4 val <bold>x = 1</bold>
3 int x = TopLevelPropertyUsagesKt.<bold>getX</bold>();
6 val y = <bold>x</bold> (in y: Int)
6 val y = <bold>x</bold> (in y)
6 val <bold>y = x</bold>
9 val y = <bold>x</bold> (in test())
9 val <bold>y = x</bold> (in test())
+1 -1
View File
@@ -1,6 +1,6 @@
3 class A(val <bold>n: Int</bold>) { (in A)
3 int n = new A(1).<bold>getN</bold>();
4 val x = <bold>n</bold> (in A.x: Int)
4 val x = <bold>n</bold> (in A.x)
4 val <bold>x = n</bold> (in A)
9 y = <bold>n</bold> (in A)
6 val <bold>y: Int</bold> (in A)
+1 -1
View File
@@ -1,6 +1,6 @@
3 class A(var <bold>n: Int</bold>) { (in A)
3 int n = new A(1).<bold>getN</bold>();
4 val x = <bold>n</bold> (in A.x: Int)
4 val x = <bold>n</bold> (in A.x)
4 val <bold>x = n</bold> (in A)
9 y = <bold>n</bold> (in A)
6 val <bold>y: Int</bold> (in A)