[analysis api] rename ValidityToken -> KtLifetimeToken

This commit is contained in:
Ilya Kirillov
2022-05-10 16:15:22 +02:00
parent d77041aad0
commit ef0160c026
132 changed files with 1060 additions and 1069 deletions
@@ -9,7 +9,7 @@ import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.psi.KtElement
@@ -50,7 +50,7 @@ interface Fe10AnalysisFacade {
class Fe10AnalysisContext(
facade: Fe10AnalysisFacade,
val contextElement: KtElement,
val token: ValidityToken
val token: KtLifetimeToken
) : Fe10AnalysisFacade by facade {
val resolveSession: ResolveSession = getResolveSession(contextElement)
val deprecationResolver: DeprecationResolver = getDeprecationResolver(contextElement)
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.components.*
import org.jetbrains.kotlin.analysis.api.descriptors.components.*
import org.jetbrains.kotlin.analysis.api.impl.base.components.KtAnalysisScopeProviderImpl
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolProvider
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.analysis.project.structure.getKtModule
import org.jetbrains.kotlin.psi.KtElement
@@ -21,7 +21,7 @@ class KtFe10AnalysisSession(
val analysisContext: Fe10AnalysisContext,
override val useSiteModule: KtModule
) : KtAnalysisSession(analysisContext.token) {
constructor(contextElement: KtElement, token: ValidityToken) : this(
constructor(contextElement: KtElement, token: KtLifetimeToken) : this(
Fe10AnalysisContext(Fe10AnalysisFacade.getInstance(contextElement.project), contextElement, token),
contextElement.getKtModule()
)
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.KtAnalysisSessionProvider
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.base.KtFe10Symbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityTokenFactory
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeTokenFactory
import org.jetbrains.kotlin.analysis.project.structure.getKtModule
import org.jetbrains.kotlin.psi.KtElement
import java.lang.UnsupportedOperationException
@@ -18,7 +18,7 @@ import java.lang.UnsupportedOperationException
@InvalidWayOfUsingAnalysisSession
class KtFe10AnalysisSessionProvider : KtAnalysisSessionProvider() {
@InvalidWayOfUsingAnalysisSession
override fun getAnalysisSession(contextElement: KtElement, factory: ValidityTokenFactory): KtAnalysisSession {
override fun getAnalysisSession(contextElement: KtElement, factory: KtLifetimeTokenFactory): KtAnalysisSession {
return KtFe10AnalysisSession(contextElement, factory.create(contextElement.project))
}
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.maybeLocalClassId
import org.jetbrains.kotlin.analysis.api.impl.base.annotations.KtEmptyAnnotationsList
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.ClassId
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
internal class KtFe10AnnotationsList private constructor(
private val fe10Annotations: Annotations,
override val token: ValidityToken,
override val token: KtLifetimeToken,
) : KtAnnotationsList() {
override val annotations: List<KtAnnotationApplication>
get() = withValidityAssertion {
@@ -51,7 +51,7 @@ internal class KtFe10AnnotationsList private constructor(
companion object {
fun create(
fe10Annotations: Annotations,
token: ValidityToken,
token: KtLifetimeToken,
): KtAnnotationsList {
return if (!fe10Annotations.isEmpty()) {
KtFe10AnnotationsList(fe10Annotations, token)
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.analysis.api.diagnostics.KtNonBoundToPsiErrorDiagnos
import org.jetbrains.kotlin.analysis.api.impl.barebone.parentOfType
import org.jetbrains.kotlin.analysis.api.impl.base.components.AbstractKtCallResolver
import org.jetbrains.kotlin.analysis.api.symbols.*
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters1
@@ -128,7 +128,7 @@ internal class KtFe10CallResolver(
)
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun resolveCall(psi: KtElement): KtCallInfo? = with(analysisContext.analyze(psi, AnalysisMode.PARTIAL_WITH_DIAGNOSTICS)) {
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnaly
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtConstantValue
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
import org.jetbrains.kotlin.analysis.api.components.KtConstantEvaluationMode
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.types.TypeUtils
internal class KtFe10CompileTimeConstantProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtCompileTimeConstantProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun evaluate(
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtExtensionApplicabilityResu
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtFile
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.psi.KtSimpleNameExpression
internal class KtFe10CompletionCandidateChecker(
override val analysisSession: KtFe10AnalysisSession
) : KtCompletionCandidateChecker(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun checkExtensionFitsCandidate(
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisFacade.Analysis
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
@@ -27,7 +27,7 @@ import kotlin.reflect.KClass
internal class KtFe10DiagnosticProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtDiagnosticProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getDiagnosticsForElement(element: KtElement, filter: KtDiagnosticCheckerFilter): Collection<KtDiagnosticWithPsi<*>> {
@@ -52,7 +52,7 @@ internal class KtFe10DiagnosticProvider(
}
}
internal class KtFe10Diagnostic(private val diagnostic: Diagnostic, override val token: ValidityToken) : KtDiagnosticWithPsi<PsiElement> {
internal class KtFe10Diagnostic(private val diagnostic: Diagnostic, override val token: KtLifetimeToken) : KtDiagnosticWithPsi<PsiElement> {
override val severity: Severity
get() = diagnostic.severity
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.impl.barebone.parentOfType
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.cfg.WhenChecker
import org.jetbrains.kotlin.diagnostics.WhenMissingCase
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
internal class KtFe10ExpressionInfoProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtExpressionInfoProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getReturnExpressionTargetSymbol(returnExpression: KtReturnExpression): KtCallableSymbol? = withValidityAssertion {
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisFacade.Analysis
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtType
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.CallableDescriptor
@@ -46,7 +46,7 @@ class KtFe10ExpressionTypeProvider(
)
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getKtExpressionType(expression: KtExpression): KtType? = withValidityAssertion {
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtImportOptimizer
import org.jetbrains.kotlin.analysis.api.components.KtImportOptimizerResult
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtFile
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.psi.KtImportDirective
internal class KtFe10ImportOptimizer(
override val analysisSession: KtFe10AnalysisSession
) : KtImportOptimizer(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun analyseImports(file: KtFile): KtImportOptimizerResult = withValidityAssertion {
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtClassifierSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtEnumEntrySymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind
internal class KtFe10InheritorsProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtInheritorsProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getInheritorsOfSealedClass(classSymbol: KtNamedClassOrObjectSymbol): List<KtNamedClassOrObjectSymbol> {
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10JvmTypeMapperContext
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
@@ -19,7 +19,7 @@ import org.jetbrains.org.objectweb.asm.Type
internal class KtFe10JvmTypeMapper(
override val analysisSession: KtFe10AnalysisSession
) : KtJvmTypeMapper(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
private val typeMapper by lazy { KtFe10JvmTypeMapperContext(analysisContext.resolveSession) }
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtClassifierSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.util.ImplementationStatus
internal class KtFe10OverrideInfoProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtOverrideInfoProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun isVisible(memberSymbol: KtCallableSymbol, classSymbol: KtClassOrObjectSymbol): Boolean = withValidityAssertion {
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10JvmTypeMapperContext
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
@@ -31,7 +31,7 @@ import java.text.StringCharacterIterator
internal class KtFe10PsiTypeProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtPsiTypeProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
private val typeMapper by lazy { KtFe10JvmTypeMapperContext(analysisContext.resolveSession) }
@@ -13,13 +13,13 @@ import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtClassLikeSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.psi.KtFile
internal class KtFe10ReferenceShortener(
override val analysisSession: KtFe10AnalysisSession
) : KtReferenceShortener(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun collectShortenings(
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtF
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.getSymbolDescriptor
import org.jetbrains.kotlin.analysis.api.symbols.KtClassLikeSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSamConstructorSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.load.java.sam.JvmSamConversionOracle
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.resolve.sam.getSingleAbstractMethodOrNull
internal class KtFe10SamResolver(
override val analysisSession: KtFe10AnalysisSession
) : KtSamResolver(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getSamConstructor(ktClassLikeSymbol: KtClassLikeSymbol): KtSamConstructorSymbol? = withValidityAssertion {
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFileSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPackageSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -48,7 +48,7 @@ internal class KtFe10ScopeProvider(
val LOG = Logger.getInstance(KtFe10ScopeProvider::class.java)
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getMemberScope(classSymbol: KtSymbolWithMembers): KtScope = withValidityAssertion {
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtSmartCastProvider
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtType
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.psi.KtExpression
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.types.TypeIntersector
internal class KtFe10SmartCastProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSmartCastProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getSmartCastedInfo(expression: KtExpression): KtSmartCastInfo? {
@@ -9,14 +9,14 @@ import org.jetbrains.kotlin.analysis.api.components.KtSubtypingComponent
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
internal class KtFe10SubtypingComponent(
override val analysisSession: KtFe10AnalysisSession
) : KtSubtypingComponent(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun isEqualTo(first: KtType, second: KtType): Boolean = withValidityAssertion {
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithKind
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.project.structure.KtLibraryModule
import org.jetbrains.kotlin.analysis.project.structure.KtLibrarySourceModule
import org.jetbrains.kotlin.analysis.project.structure.KtModule
@@ -40,7 +40,7 @@ import java.nio.file.Paths
internal class KtFe10SymbolContainingDeclarationProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSymbolContainingDeclarationProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getContainingDeclaration(symbol: KtSymbol): KtSymbolWithKind? {
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isSubclassOf
internal class KtFe10SymbolDeclarationOverridesProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSymbolDeclarationOverridesProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun <T : KtSymbol> getAllOverriddenSymbols(callableSymbol: T): List<KtCallableSymbol> {
@@ -15,14 +15,14 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10TypeRenderer
import org.jetbrains.kotlin.analysis.api.symbols.KtDeclarationSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint
internal class KtFe10SymbolDeclarationRendererProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSymbolDeclarationRendererProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun renderDeclaration(symbol: KtDeclarationSymbol, options: KtDeclarationRendererOptions): String {
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertyAccessorSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.PropertyAccessorDescriptor
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
internal class KtFe10SymbolInfoProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSymbolInfoProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun getDeprecation(symbol: KtSymbol): DeprecationInfo? {
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtSymbol
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.*
import org.jetbrains.kotlin.analysis.api.symbols.*
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.findClassAcrossModuleDependencies
import org.jetbrains.kotlin.name.ClassId
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
internal class KtFe10SymbolProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtSymbolProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override val ROOT_PACKAGE_SYMBOL: KtPackageSymbol
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.types.KtFe10ClassErrorType
import org.jetbrains.kotlin.analysis.api.descriptors.types.KtFe10UsualClassType
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtClassType
import org.jetbrains.kotlin.analysis.api.types.KtTypeNullability
import org.jetbrains.kotlin.analysis.api.types.KtTypeParameterType
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
internal class KtFe10TypeCreator(
override val analysisSession: KtFe10AnalysisSession
) : KtTypeCreator(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun buildClassType(builder: KtClassTypeBuilder): KtClassType = withValidityAssertion {
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtTypeInfoProvider
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.analysis.api.descriptors.types.base.KtFe10Type
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.types.TypeUtils
internal class KtFe10TypeInfoProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtTypeInfoProvider(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun isFunctionalInterfaceType(type: KtType): Boolean = withValidityAssertion {
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossibleMemberSymbol
import org.jetbrains.kotlin.analysis.api.symbols.nameOrAnonymous
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.types.KtTypeNullability
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
@@ -62,7 +62,7 @@ internal class KtFe10TypeProvider(
)
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override val builtinTypes: KtBuiltinTypes by cached { KtFe10BuiltinTypes(analysisContext) }
@@ -425,7 +425,7 @@ internal class KtFe10TypeProvider(
}
private class KtFe10BuiltinTypes(private val analysisContext: Fe10AnalysisContext) : KtBuiltinTypes() {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisContext.token
override val INT: KtType
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.base.getResolutionScope
import org.jetbrains.kotlin.analysis.api.symbols.KtFileSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithVisibility
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
import org.jetbrains.kotlin.descriptors.DescriptorVisibilityUtils.isVisible
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.resolve.scopes.utils.getImplicitReceiversHierarchy
internal class KtFe10VisibilityChecker(
override val analysisSession: KtFe10AnalysisSession
) : KtVisibilityChecker(), Fe10KtAnalysisSessionComponent {
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisSession.token
override fun isVisible(
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtClassifierSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPackageSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
internal class KtFe10FileScope(
private val ktFile: KtFile,
private val analysisContext: Fe10AnalysisContext,
override val token: ValidityToken,
override val token: KtLifetimeToken,
) : KtScope {
override fun getPossibleCallableNames(): Set<Name> = withValidityAssertion {
ktFile.declarations.mapNotNullTo(mutableSetOf()) { (it as? KtCallableDeclaration)?.nameAsName }
@@ -5,9 +5,8 @@
package org.jetbrains.kotlin.analysis.api.descriptors.scopes
import org.jetbrains.kotlin.analysis.api.ValidityTokenOwner
import org.jetbrains.kotlin.analysis.api.KtLifetimeOwner
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtSymbol
import org.jetbrains.kotlin.analysis.api.scopes.KtScope
@@ -16,7 +15,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtClassifierSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPackageSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.name.Name
@@ -25,7 +24,7 @@ import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.ResolutionScope
internal abstract class KtFe10ScopeResolution : KtScope, ValidityTokenOwner {
internal abstract class KtFe10ScopeResolution : KtScope, KtLifetimeOwner {
abstract val analysisContext: Fe10AnalysisContext
abstract val scope: ResolutionScope
@@ -57,14 +56,14 @@ internal abstract class KtFe10ScopeResolution : KtScope, ValidityTokenOwner {
emptySequence()
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisContext.token
}
internal class KtFe10ScopeLexical(
override val scope: LexicalScope,
override val analysisContext: Fe10AnalysisContext
) : KtFe10ScopeResolution(), ValidityTokenOwner {
) : KtFe10ScopeResolution(), KtLifetimeOwner {
override fun getPossibleCallableNames(): Set<Name> = withValidityAssertion {
return emptySet()
}
@@ -7,11 +7,11 @@ package org.jetbrains.kotlin.analysis.api.descriptors.symbols.base
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
interface KtFe10Symbol : KtSymbol {
val analysisContext: Fe10AnalysisContext
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisContext.token
}
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.types.KtFe10ClassErrorType
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.cfg.getElementParentDeclaration
@@ -5,21 +5,20 @@
package org.jetbrains.kotlin.analysis.api.descriptors.types.base
import org.jetbrains.kotlin.analysis.api.ValidityTokenOwner
import org.jetbrains.kotlin.analysis.api.KtLifetimeOwner
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotated
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
import org.jetbrains.kotlin.analysis.api.components.KtTypeRendererOptions
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
import org.jetbrains.kotlin.analysis.api.descriptors.annotations.KtFe10AnnotationsList
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.render
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10TypeRenderer
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.UnwrappedType
interface KtFe10Type : ValidityTokenOwner, KtAnnotated {
interface KtFe10Type : KtLifetimeOwner, KtAnnotated {
val type: UnwrappedType
val analysisContext: Fe10AnalysisContext
@@ -29,7 +28,7 @@ interface KtFe10Type : ValidityTokenOwner, KtAnnotated {
KtFe10AnnotationsList.create(type.annotations, token)
}
override val token: ValidityToken
override val token: KtLifetimeToken
get() = analysisContext.token
}
@@ -5,8 +5,8 @@
package org.jetbrains.kotlin.analysis.api.descriptors.utils
import org.jetbrains.kotlin.analysis.api.ValidityTokenOwner
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.KtLifetimeOwner
import org.jetbrains.kotlin.analysis.api.tokens.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.tokens.assertIsValidAndAccessible
import kotlin.properties.ReadOnlyProperty
import kotlin.reflect.KProperty
@@ -15,7 +15,7 @@ import kotlin.reflect.KProperty
* Lazy value that guaranties safe publication and checks validity on every access
*/
internal class ValidityAwareCachedValue<T>(
private val token: ValidityToken,
private val token: KtLifetimeToken,
init: () -> T
) : ReadOnlyProperty<Any, T> {
private val lazyValue = lazy(LazyThreadSafetyMode.PUBLICATION, init)
@@ -27,4 +27,4 @@ internal class ValidityAwareCachedValue<T>(
}
}
internal fun <T> ValidityTokenOwner.cached(init: () -> T) = ValidityAwareCachedValue(token, init)
internal fun <T> KtLifetimeOwner.cached(init: () -> T) = ValidityAwareCachedValue(token, init)