KaSymbolPointer¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
abstract class KaSymbolPointer<out S : KaSymbol>
KaSymbolPointer allows to point to a KaSymbol and later retrieve it in another KaSession. A pointer is necessary because KaSymbols cannot be shared past the boundaries of the KaSession they were created in, as they are valid only there.
See also¶
Constructors¶
KaSymbolPointer¶
constructor()
Functions¶
pointsToTheSameSymbolAs¶
open fun pointsToTheSameSymbolAs(other: KaSymbolPointer<KaSymbol>): Boolean
Whether the other pointer can be restored to the same symbol. The operation is symmetric and transitive.
restoreSymbol¶
abstract fun restoreSymbol(analysisSession: KaSession): S?
Returns the restored KaSymbol (possibly a new symbol instance) if the pointer is still valid, null otherwise.
Do not use this function directly, as it is an implementation detail. Use KaSession.restoreSymbol instead.
restoreSymbol¶
context(session: KaSession)
fun <S : KaSymbol> KaSymbolPointer<S>.restoreSymbol(): S?
Returns the restored KaSymbol (possibly a new symbol instance) if the pointer is still valid, or null otherwise.