Skip to content

KaResolveExtensionInfoProvider

@SubclassOptInRequired(markerClass = [KaSessionComponentImplementationDetail::class])
interface KaResolveExtensionInfoProvider : KaSessionComponent

Inheritors

Properties

isFromResolveExtension

Whether the given KtElement is provided by a KaResolveExtension.

See also

isResolveExtensionFile

abstract val VirtualFile.isResolveExtensionFile: Boolean

Whether the given VirtualFile is provided by a KaResolveExtension.

See also

resolveExtensionNavigationElements

A list of PsiElements which are used as navigation targets in place of this KtElement provided by a KaResolveExtension.

These PsiElements will typically be the source item(s) that caused the given KtElement to be generated by the KaResolveExtension. For example, for a KtElement generated by a resource compiler, the navigation elements will typically be the PsiElements of the resource items in the corresponding resource file.

See also

resolveExtensionScopeWithTopLevelDeclarations

The KaScope containing top-level callable declarations generated by KaResolveExtensions.

See also

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

Functions

assertIsValidAndAccessible

isValid

Whether the lifetime owner is still valid, i.e. we are still in the scope of the lifetime owner's regular lifetime.

withValidityAssertion

inline fun <R> KaLifetimeOwner.withValidityAssertion(action: () -> R): R

Executes action only if the KaLifetimeOwner is still valid and accessible. Otherwise, throws a validity exception based on the concrete violation.