Show declared type for delegated properties correctly in debugger
#EA-72136 - assert: ValueDescriptorImpl.getValue
This commit is contained in:
+1
-13
@@ -61,18 +61,6 @@ class DelegatedPropertyFieldDescriptor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun calcValueName(): String? {
|
|
||||||
return with (StringBuilder()) {
|
|
||||||
val classRenderer = NodeRendererSettings.getInstance()?.getClassRenderer()!!
|
|
||||||
append(getName())
|
|
||||||
if (classRenderer.SHOW_DECLARED_TYPE) {
|
|
||||||
append(": ")
|
|
||||||
append(classRenderer.renderTypeName(getValue()?.type()?.name()))
|
|
||||||
}
|
|
||||||
toString()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getName(): String {
|
override fun getName(): String {
|
||||||
return delegate.name().removeSuffix(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)
|
return delegate.name().removeSuffix(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)
|
||||||
}
|
}
|
||||||
@@ -89,6 +77,6 @@ class DelegatedPropertyFieldDescriptor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getDeclaredType(): String? {
|
override fun getDeclaredType(): String? {
|
||||||
return objectRef.type().name()
|
return findGetterForDelegatedProperty()?.returnType()?.name()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ class MyDelegateThrowsException {
|
|||||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClass.kt, 5)
|
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClass.kt, 5)
|
||||||
local = a: delegatedPropertyInClass.A = {delegatedPropertyInClass.A@uniqueID} (sp = delegatedPropertyInClass.kt, 6)
|
local = a: delegatedPropertyInClass.A = {delegatedPropertyInClass.A@uniqueID} (sp = delegatedPropertyInClass.kt, 6)
|
||||||
field = prop$delegate: delegatedPropertyInClass.MyDelegate = {delegatedPropertyInClass.MyDelegate@uniqueID} (sp = delegatedPropertyInClass.kt, 12)
|
field = prop$delegate: delegatedPropertyInClass.MyDelegate = {delegatedPropertyInClass.MyDelegate@uniqueID} (sp = delegatedPropertyInClass.kt, 12)
|
||||||
field = prop: int: delegatedPropertyInClass.A = 1 (sp = delegatedPropertyInClass.kt, 12)
|
field = prop: int = 1 (sp = delegatedPropertyInClass.kt, 12)
|
||||||
field = propEx$delegate: delegatedPropertyInClass.MyDelegateThrowsException = {delegatedPropertyInClass.MyDelegateThrowsException@uniqueID} (sp = delegatedPropertyInClass.kt, 13)
|
field = propEx$delegate: delegatedPropertyInClass.MyDelegateThrowsException = {delegatedPropertyInClass.MyDelegateThrowsException@uniqueID} (sp = delegatedPropertyInClass.kt, 13)
|
||||||
field = propEx: java.lang.IllegalStateException: delegatedPropertyInClass.A = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = delegatedPropertyInClass.kt, 13)
|
field = propEx: int = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = delegatedPropertyInClass.kt, 13)
|
||||||
field = detailMessage: java.lang.String = null (sp = Throwable.!EXT!)
|
field = detailMessage: java.lang.String = null (sp = Throwable.!EXT!)
|
||||||
field = cause: java.lang.Throwable = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = Throwable.!EXT!)
|
field = cause: java.lang.Throwable = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = Throwable.!EXT!)
|
||||||
field = stackTrace: java.lang.StackTraceElement[] = null (sp = Throwable.!EXT!)
|
field = stackTrace: java.lang.StackTraceElement[] = null (sp = Throwable.!EXT!)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class MyDelegate {
|
|||||||
static = static = delegatedPropertyInClassWoRenderer.DelegatedPropertyInClassWoRendererKt
|
static = static = delegatedPropertyInClassWoRenderer.DelegatedPropertyInClassWoRendererKt
|
||||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 5)
|
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 5)
|
||||||
local = a: delegatedPropertyInClassWoRenderer.A = {delegatedPropertyInClassWoRenderer.A@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 6)
|
local = a: delegatedPropertyInClassWoRenderer.A = {delegatedPropertyInClassWoRenderer.A@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 6)
|
||||||
field = prop: delegatedPropertyInClassWoRenderer.MyDelegate: delegatedPropertyInClassWoRenderer.A = {delegatedPropertyInClassWoRenderer.MyDelegate@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 12)
|
field = prop: int = {delegatedPropertyInClassWoRenderer.MyDelegate@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 12)
|
||||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||||
|
|
||||||
Process finished with exit code 0
|
Process finished with exit code 0
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ fun main(args: Array<String>) {
|
|||||||
field = prop$delegate: kotlin.properties.ReadWriteProperty = {kotlin.properties.NotNullVar@uniqueID} (sp = evDelegatedProperty.kt, 6)
|
field = prop$delegate: kotlin.properties.ReadWriteProperty = {kotlin.properties.NotNullVar@uniqueID} (sp = evDelegatedProperty.kt, 6)
|
||||||
field = value: java.lang.Object = {java.lang.Integer@uniqueID}1 (sp = Delegation.!EXT!)
|
field = value: java.lang.Object = {java.lang.Integer@uniqueID}1 (sp = Delegation.!EXT!)
|
||||||
field = value: int = 1 (sp = Integer.!EXT!)
|
field = value: int = 1 (sp = Integer.!EXT!)
|
||||||
field = prop: int: evDelegatedProperty.A = 1 (sp = evDelegatedProperty.kt, 6)
|
field = prop: int = 1 (sp = evDelegatedProperty.kt, 6)
|
||||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||||
|
|
||||||
Process finished with exit code 0
|
Process finished with exit code 0
|
||||||
|
|||||||
Reference in New Issue
Block a user