[FIR] Move JavaTypeEnhancementState to session component
This commit is contained in:
committed by
teamcityserver
parent
e102bdea20
commit
aa3a73c6c2
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirPredicateBasedProvider
|
||||
import org.jetbrains.kotlin.fir.extensions.FirRegisteredPluginAnnotations
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaVisibilityChecker
|
||||
import org.jetbrains.kotlin.fir.java.enhancement.FirJavaTypeEnhancementStateComponent
|
||||
import org.jetbrains.kotlin.fir.java.enhancement.FirJsr305StateContainer
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
|
||||
@@ -33,6 +34,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClassIndex
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
||||
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.load.java.JavaTypeEnhancementState
|
||||
|
||||
// -------------------------- Required components --------------------------
|
||||
|
||||
@@ -94,6 +96,7 @@ fun FirSession.registerJavaSpecificResolveComponents() {
|
||||
register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider)
|
||||
register(FirJsr305StateContainer::class, FirJsr305StateContainer.Default)
|
||||
register(FirOverridesBackwardCompatibilityHelper::class, FirJvmOverridesBackwardCompatibilityHelper)
|
||||
register(FirJavaTypeEnhancementStateComponent::class, FirJavaTypeEnhancementStateComponent(JavaTypeEnhancementState.DEFAULT))
|
||||
}
|
||||
|
||||
@OptIn(SessionConfiguration::class)
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.java.enhancement
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.FirSessionComponent
|
||||
import org.jetbrains.kotlin.load.java.JavaTypeEnhancementState
|
||||
|
||||
class FirJavaTypeEnhancementStateComponent(val javaTypeEnhancementState: JavaTypeEnhancementState) : FirSessionComponent
|
||||
|
||||
private val FirSession.javaTypeEnhancementStateComponent: FirJavaTypeEnhancementStateComponent by FirSession.sessionComponentAccessor()
|
||||
|
||||
val FirSession.javaTypeEnhancementState: JavaTypeEnhancementState
|
||||
get() = javaTypeEnhancementStateComponent.javaTypeEnhancementState
|
||||
+1
-1
@@ -52,7 +52,7 @@ class FirSignatureEnhancement(
|
||||
private val javaTypeParameterStack: JavaTypeParameterStack =
|
||||
if (owner is FirJavaClass) owner.javaTypeParameterStack else JavaTypeParameterStack.EMPTY
|
||||
|
||||
private val jsr305State: JavaTypeEnhancementState = session.javaTypeEnhancementState ?: JavaTypeEnhancementState.DEFAULT
|
||||
private val jsr305State: JavaTypeEnhancementState = session.javaTypeEnhancementState
|
||||
|
||||
private val typeQualifierResolver = FirAnnotationTypeQualifierResolver(session, jsr305State)
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(project(":core:compiler.common.jvm"))
|
||||
api(project(":compiler:frontend.common"))
|
||||
api(project(":compiler:fir:cones"))
|
||||
|
||||
|
||||
@@ -10,12 +10,13 @@ import org.jetbrains.kotlin.fir.utils.ArrayMapAccessor
|
||||
import org.jetbrains.kotlin.fir.utils.ComponentArrayOwner
|
||||
import org.jetbrains.kotlin.fir.utils.NullableArrayMapAccessor
|
||||
import org.jetbrains.kotlin.fir.utils.TypeRegistry
|
||||
import org.jetbrains.kotlin.load.java.JavaTypeEnhancementState
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
interface FirSessionComponent
|
||||
|
||||
abstract class FirSession @PrivateSessionConstructor constructor(val sessionProvider: FirSessionProvider?) : ComponentArrayOwner<FirSessionComponent, FirSessionComponent>() {
|
||||
abstract class FirSession @PrivateSessionConstructor constructor(
|
||||
val sessionProvider: FirSessionProvider?
|
||||
) : ComponentArrayOwner<FirSessionComponent, FirSessionComponent>() {
|
||||
companion object : TypeRegistry<FirSessionComponent, FirSessionComponent>() {
|
||||
inline fun <reified T : FirSessionComponent> sessionComponentAccessor(): ArrayMapAccessor<FirSessionComponent, FirSessionComponent, T> {
|
||||
return generateAccessor(T::class)
|
||||
@@ -26,8 +27,6 @@ abstract class FirSession @PrivateSessionConstructor constructor(val sessionProv
|
||||
}
|
||||
}
|
||||
|
||||
val javaTypeEnhancementState: JavaTypeEnhancementState? get() = null
|
||||
|
||||
open val builtinTypes: BuiltinTypes = BuiltinTypes()
|
||||
|
||||
final override val typeRegistry: TypeRegistry<FirSessionComponent, FirSessionComponent> = Companion
|
||||
|
||||
Reference in New Issue
Block a user