Rename: Fir...UseSiteScope -> Fir...UseSiteMemberScope

This commit is contained in:
Mikhail Glukhikh
2019-10-22 16:20:59 +03:00
parent bb60a8f334
commit 15a8da5f7b
14 changed files with 43 additions and 46 deletions
@@ -9,13 +9,11 @@ import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElement
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.addDefaultBoundIfNecessary
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
import org.jetbrains.kotlin.fir.declarations.impl.FirTypeParameterImpl
import org.jetbrains.kotlin.fir.declarations.visibility
import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
@@ -23,7 +21,7 @@ import org.jetbrains.kotlin.fir.java.declarations.FirJavaConstructor
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
import org.jetbrains.kotlin.fir.java.declarations.FirJavaMethod
import org.jetbrains.kotlin.fir.java.scopes.JavaClassEnhancementScope
import org.jetbrains.kotlin.fir.java.scopes.JavaClassUseSiteScope
import org.jetbrains.kotlin.fir.java.scopes.JavaClassUseSiteMemberScope
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.FirSuperTypeScope
@@ -82,16 +80,16 @@ class JavaSymbolProvider(
visitedSymbols: MutableSet<FirClassLikeSymbol<*>>
): JavaClassEnhancementScope {
return scopeSession.getOrBuild(symbol, JAVA_ENHANCEMENT) {
JavaClassEnhancementScope(useSiteSession, buildJavaUseSiteScope(symbol.fir, useSiteSession, scopeSession, visitedSymbols))
JavaClassEnhancementScope(useSiteSession, buildJavaUseSiteMemberScope(symbol.fir, useSiteSession, scopeSession, visitedSymbols))
}
}
private fun buildJavaUseSiteScope(
private fun buildJavaUseSiteMemberScope(
regularClass: FirRegularClass,
useSiteSession: FirSession,
scopeSession: ScopeSession,
visitedSymbols: MutableSet<FirClassLikeSymbol<*>>
): JavaClassUseSiteScope {
): JavaClassUseSiteMemberScope {
return scopeSession.getOrBuild(regularClass.symbol, JAVA_USE_SITE) {
val declaredScope = declaredMemberScope(regularClass)
val superTypeEnhancementScopes =
@@ -108,7 +106,7 @@ class JavaSymbolProvider(
null
}
}
JavaClassUseSiteScope(
JavaClassUseSiteMemberScope(
regularClass, useSiteSession,
FirSuperTypeScope(useSiteSession, superTypeEnhancementScopes), declaredScope
)
@@ -312,4 +310,4 @@ fun FqName.topLevelName() =
private val JAVA_ENHANCEMENT = scopeSessionKey<JavaClassEnhancementScope>()
private val JAVA_USE_SITE = scopeSessionKey<JavaClassUseSiteScope>()
private val JAVA_USE_SITE = scopeSessionKey<JavaClassUseSiteMemberScope>()
@@ -71,7 +71,7 @@ internal fun FirTypeRef.toNotNullConeKotlinType(
val javaType = type
javaType.toNotNullConeKotlinType(session, javaTypeParameterStack)
}
else -> ConeKotlinErrorType("Unexpected type reference in JavaClassUseSiteScope: ${this::class.java}")
else -> ConeKotlinErrorType("Unexpected type reference in JavaClassUseSiteMemberScope: ${this::class.java}")
}
internal fun JavaType?.toNotNullConeKotlinType(
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
import org.jetbrains.kotlin.fir.java.createConstant
import org.jetbrains.kotlin.fir.java.topLevelName
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.resolve.*
@@ -143,7 +142,7 @@ class KotlinDeserializedJvmSymbolsProvider(
): FirScope? {
val symbol = this.getClassLikeSymbolByFqName(classId) as? FirClassSymbol ?: return null
return symbol.fir.buildDefaultUseSiteScope(session, scopeSession)
return symbol.fir.buildDefaultUseSiteMemberScope(session, scopeSession)
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
@@ -36,9 +36,9 @@ import org.jetbrains.kotlin.utils.Jsr305State
class JavaClassEnhancementScope(
private val session: FirSession,
private val useSiteScope: JavaClassUseSiteScope
private val useSiteMemberScope: JavaClassUseSiteMemberScope
) : FirScope() {
private val owner: FirRegularClass = useSiteScope.symbol.fir
private val owner: FirRegularClass = useSiteMemberScope.symbol.fir
private val javaTypeParameterStack: JavaTypeParameterStack =
if (owner is FirJavaClass) owner.javaTypeParameterStack else JavaTypeParameterStack.EMPTY
@@ -53,7 +53,7 @@ class JavaClassEnhancementScope(
private val enhancements = mutableMapOf<FirCallableSymbol<*>, FirCallableSymbol<*>>()
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> ProcessorAction): ProcessorAction {
useSiteScope.processPropertiesByName(name) process@{ original ->
useSiteMemberScope.processPropertiesByName(name) process@{ original ->
val field = enhancements.getOrPut(original) { enhance(original, name) }
processor(field)
@@ -63,7 +63,7 @@ class JavaClassEnhancementScope(
}
override fun processFunctionsByName(name: Name, processor: (FirFunctionSymbol<*>) -> ProcessorAction): ProcessorAction {
useSiteScope.processFunctionsByName(name) process@{ original ->
useSiteMemberScope.processFunctionsByName(name) process@{ original ->
val function = enhancements.getOrPut(original) { enhance(original, name) }
processor(function as FirFunctionSymbol<*>)
@@ -348,8 +348,8 @@ class JavaClassEnhancementScope(
private fun FirCallableMemberDeclaration<*>.overriddenMembers(): List<FirCallableMemberDeclaration<*>> {
val backMap = overrideBindCache.getOrPut(this.name) {
useSiteScope.bindOverrides(this.name)
useSiteScope
useSiteMemberScope.bindOverrides(this.name)
useSiteMemberScope
.overrideByBase
.toList()
.groupBy({ (_, key) -> key }, { (value) -> value })
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.*
import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteScope
import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope
import org.jetbrains.kotlin.fir.scopes.impl.FirSuperTypeScope
import org.jetbrains.kotlin.fir.symbols.*
import org.jetbrains.kotlin.fir.symbols.impl.*
@@ -24,12 +24,12 @@ import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
import org.jetbrains.kotlin.name.Name
class JavaClassUseSiteScope(
class JavaClassUseSiteMemberScope(
klass: FirRegularClass,
session: FirSession,
superTypesScope: FirSuperTypeScope,
declaredMemberScope: FirScope
) : AbstractFirUseSiteScope(session, superTypesScope, declaredMemberScope) {
) : AbstractFirUseSiteMemberScope(session, superTypesScope, declaredMemberScope) {
internal val symbol = klass.symbol
private val javaTypeParameterStack: JavaTypeParameterStack =