IR symbols: enhance exception messages / toString() a bit
This commit is contained in:
@@ -22,11 +22,11 @@ import org.jetbrains.kotlin.ir.descriptors.*
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrReturnableBlock
|
import org.jetbrains.kotlin.ir.expressions.IrReturnableBlock
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.util.IdSignature
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.ir.util.dump
|
import org.jetbrains.kotlin.ir.util.render
|
||||||
|
|
||||||
abstract class IrSymbolBase<out D : DeclarationDescriptor>(override val descriptor: D) : IrSymbol {
|
abstract class IrSymbolBase<out D : DeclarationDescriptor>(override val descriptor: D) : IrSymbol {
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
if (isBound) return owner.dump()
|
if (isBound) return owner.render()
|
||||||
return "Unbound private symbol ${super.toString()}"
|
return "Unbound private symbol ${super.toString()}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ abstract class IrBindableSymbolBase<out D : DeclarationDescriptor, B : IrSymbolO
|
|||||||
if (_owner == null) {
|
if (_owner == null) {
|
||||||
_owner = owner
|
_owner = owner
|
||||||
} else {
|
} else {
|
||||||
throw IllegalStateException("${javaClass.simpleName} is already bound")
|
throw IllegalStateException("${javaClass.simpleName} is already bound: ${owner.render()}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,14 +10,14 @@ import org.jetbrains.kotlin.ir.declarations.*
|
|||||||
import org.jetbrains.kotlin.ir.descriptors.WrappedDeclarationDescriptor
|
import org.jetbrains.kotlin.ir.descriptors.WrappedDeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.util.IdSignature
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.ir.util.dump
|
import org.jetbrains.kotlin.ir.util.render
|
||||||
|
|
||||||
abstract class IrPublicSymbolBase<out D : DeclarationDescriptor>(
|
abstract class IrPublicSymbolBase<out D : DeclarationDescriptor>(
|
||||||
override val descriptor: D,
|
override val descriptor: D,
|
||||||
override val signature: IdSignature
|
override val signature: IdSignature
|
||||||
) : IrSymbol {
|
) : IrSymbol {
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
if (isBound) return owner.dump()
|
if (isBound) return owner.render()
|
||||||
return "Unbound public symbol for $signature"
|
return "Unbound public symbol for $signature"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,7 +46,7 @@ abstract class IrBindablePublicSymbolBase<out D : DeclarationDescriptor, B : IrS
|
|||||||
if (_owner == null) {
|
if (_owner == null) {
|
||||||
_owner = owner
|
_owner = owner
|
||||||
} else {
|
} else {
|
||||||
throw IllegalStateException("${javaClass.simpleName} for $signature is already bound")
|
throw IllegalStateException("${javaClass.simpleName} for $signature is already bound: ${owner.render()}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user