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 {
|
||||
return delegate.name().removeSuffix(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)
|
||||
}
|
||||
@@ -89,6 +77,6 @@ class DelegatedPropertyFieldDescriptor(
|
||||
}
|
||||
|
||||
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 = a: delegatedPropertyInClass.A = {delegatedPropertyInClass.A@uniqueID} (sp = delegatedPropertyInClass.kt, 6)
|
||||
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: 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 = cause: java.lang.Throwable = {java.lang.IllegalStateException@uniqueID}java.lang.IllegalStateException (sp = Throwable.!EXT!)
|
||||
field = stackTrace: java.lang.StackTraceElement[] = null (sp = Throwable.!EXT!)
|
||||
|
||||
@@ -26,7 +26,7 @@ class MyDelegate {
|
||||
static = static = delegatedPropertyInClassWoRenderer.DelegatedPropertyInClassWoRendererKt
|
||||
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)
|
||||
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'
|
||||
|
||||
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 = value: java.lang.Object = {java.lang.Integer@uniqueID}1 (sp = Delegation.!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'
|
||||
|
||||
Process finished with exit code 0
|
||||
|
||||
Reference in New Issue
Block a user