[Analysis API] add more debug info to "pointer already disposed" error

This commit is contained in:
Ilya Kirillov
2023-02-15 15:53:06 +01:00
committed by Space Team
parent 94faa759cb
commit c37ee83791
4 changed files with 39 additions and 1 deletions
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.psi.KtTypeParameterListOwner
import java.util.*
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
internal fun <L : Any> L.invalidAccess(): Nothing =
error("Cls delegate shouldn't be accessed for symbol light classes! Qualified name: ${javaClass.name}")
@@ -245,7 +246,10 @@ internal fun BitSet.copy(): BitSet = clone() as BitSet
context(KtAnalysisSession)
internal fun <T : KtSymbol> KtSymbolPointer<T>.restoreSymbolOrThrowIfDisposed(): T =
restoreSymbol() ?: error("${this::class} pointer already disposed")
restoreSymbol()
?: buildErrorWithAttachment("${this::class} pointer already disposed") {
withEntry("pointer", this@restoreSymbolOrThrowIfDisposed) { it.toString() }
}
internal fun hasTypeParameters(
ktModule: KtModule,