[FIR] Use only variable symbol inheritors in processPropertiesByName
This commit is contained in:
+2
-2
@@ -56,11 +56,11 @@ class JavaClassEnhancementScope(
|
||||
|
||||
private val enhancements = mutableMapOf<FirCallableSymbol<*>, FirCallableSymbol<*>>()
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
useSiteMemberScope.processPropertiesByName(name) process@{ original ->
|
||||
|
||||
val field = enhancements.getOrPut(original) { enhance(original, name) }
|
||||
processor(field)
|
||||
processor(field as FirVariableSymbol<*>)
|
||||
}
|
||||
|
||||
return super.processPropertiesByName(name, processor)
|
||||
|
||||
+2
-2
@@ -81,7 +81,7 @@ class JavaClassUseSiteMemberScope(
|
||||
propertyName: Name,
|
||||
getterNames: List<Name>,
|
||||
setterName: Name?,
|
||||
processor: (FirCallableSymbol<*>) -> Unit
|
||||
processor: (FirVariableSymbol<*>) -> Unit
|
||||
) {
|
||||
val overrideCandidates = mutableSetOf<FirCallableSymbol<*>>()
|
||||
val klass = symbol.fir
|
||||
@@ -142,7 +142,7 @@ class JavaClassUseSiteMemberScope(
|
||||
}
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
// Do not generate accessors at all?
|
||||
if (name.isSpecial) {
|
||||
return processAccessorFunctionsAndPropertiesByName(name, emptyList(), null, processor)
|
||||
|
||||
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.fir.scopes.jvm
|
||||
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSettings
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class JvmMappedScope(
|
||||
@@ -35,7 +35,7 @@ class JvmMappedScope(
|
||||
declaredMemberScope.processFunctionsByName(name, processor)
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
declaredMemberScope.processPropertiesByName(name, processor)
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ class FirSyntheticPropertiesScope(
|
||||
processor(property.symbol)
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
val getterNames = possibleGetterNamesByPropertyName(name)
|
||||
for (getterName in getterNames) {
|
||||
baseScope.processFunctionsByName(getterName) {
|
||||
|
||||
+2
-2
@@ -45,7 +45,7 @@ abstract class FirAbstractImportingScope(
|
||||
name: Name,
|
||||
token: TowerScopeLevel.Token<T>,
|
||||
processor: (FirCallableSymbol<*>) -> Unit
|
||||
): Unit {
|
||||
) {
|
||||
val callableId = CallableId(import.packageFqName, import.relativeClassName, name)
|
||||
|
||||
val classId = import.resolvedClassId
|
||||
@@ -88,7 +88,7 @@ abstract class FirAbstractImportingScope(
|
||||
) { if (it is FirFunctionSymbol<*>) processor(it) }
|
||||
}
|
||||
|
||||
final override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
final override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
return processCallables(
|
||||
name,
|
||||
TowerScopeLevel.Token.Properties
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ class FirClassDeclaredMemberScope(
|
||||
}
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
val symbols = callablesIndex[name] ?: emptyList()
|
||||
for (symbol in symbols) {
|
||||
if (symbol is FirVariableSymbol) {
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ class FirClassSubstitutionScope(
|
||||
return super.processFunctionsByName(name, processor)
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
return useSiteMemberScope.processPropertiesByName(name) process@{ original ->
|
||||
when (original) {
|
||||
is FirPropertySymbol -> {
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class FirClassUseSiteMemberScope(
|
||||
@@ -16,8 +16,8 @@ class FirClassUseSiteMemberScope(
|
||||
declaredMemberScope: FirScope
|
||||
) : AbstractFirUseSiteMemberScope(session, FirStandardOverrideChecker(session), superTypesScope, declaredMemberScope) {
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
val seen = mutableSetOf<FirCallableSymbol<*>>()
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
val seen = mutableSetOf<FirVariableSymbol<*>>()
|
||||
declaredMemberScope.processPropertiesByName(name) {
|
||||
seen += it
|
||||
processor(it)
|
||||
|
||||
+1
-1
@@ -119,7 +119,7 @@ class FirIntegerLiteralTypeScope(private val session: FirSession) : FirScope() {
|
||||
processor(symbol)
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ class FirLocalScope : FirScope() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
val property = properties[name]
|
||||
if (property != null) {
|
||||
processor(property)
|
||||
|
||||
+2
-5
@@ -8,10 +8,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -52,7 +49,7 @@ class FirPackageMemberScope(val fqName: FqName, val session: FirSession) : FirSc
|
||||
}
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
val symbols = callableCache.getOrPut(name) {
|
||||
symbolProvider.getTopLevelCallableSymbols(fqName, name)
|
||||
}
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class FirQualifierScope(
|
||||
@@ -36,7 +33,7 @@ class FirQualifierScope(
|
||||
|
||||
override fun processPropertiesByName(
|
||||
name: Name,
|
||||
processor: (FirCallableSymbol<*>) -> Unit
|
||||
processor: (FirVariableSymbol<*>) -> Unit
|
||||
) {
|
||||
delegateCallablesScope?.processPropertiesByName(name, processor)
|
||||
}
|
||||
|
||||
@@ -9,9 +9,9 @@ import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.isStatic
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class FirStaticScope(private val delegateScope: FirScope) : FirScope() {
|
||||
@@ -35,7 +35,7 @@ class FirStaticScope(private val delegateScope: FirScope) : FirScope() {
|
||||
|
||||
override fun processPropertiesByName(
|
||||
name: Name,
|
||||
processor: (FirCallableSymbol<*>) -> Unit
|
||||
processor: (FirVariableSymbol<*>) -> Unit
|
||||
) {
|
||||
delegateScope.processPropertiesByName(name) {
|
||||
if ((it.fir as? FirCallableMemberDeclaration<*>)?.isStatic == true) {
|
||||
|
||||
@@ -12,10 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.ConeFlexibleType
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.ConeTypeCheckerContext
|
||||
@@ -42,13 +39,13 @@ class FirSuperTypeScope private constructor(
|
||||
private val typeContext = ConeTypeCheckerContext(isErrorTypeEqualsToAnything = false, isStubTypeEqualsToAnything = false, session)
|
||||
|
||||
override fun processFunctionsByName(name: Name, processor: (FirFunctionSymbol<*>) -> Unit) {
|
||||
if(!processCallablesByName(name, processor, absentFunctions, FirScope::processFunctionsByName)) {
|
||||
if (!processCallablesByName(name, processor, absentFunctions, FirScope::processFunctionsByName)) {
|
||||
super.processFunctionsByName(name, processor)
|
||||
}
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
if(!processCallablesByName(name, processor, absentProperties, FirScope::processPropertiesByName)) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
if (!processCallablesByName(name, processor, absentProperties, FirScope::processPropertiesByName)) {
|
||||
super.processPropertiesByName(name, processor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
abstract class FirIterableScope : FirScope() {
|
||||
@@ -41,7 +41,7 @@ abstract class FirIterableScope : FirScope() {
|
||||
return processComposite(FirScope::processFunctionsByName, name, processor)
|
||||
}
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirCallableSymbol<*>) -> Unit) {
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
return processComposite(FirScope::processPropertiesByName, name, processor)
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
abstract class FirScope {
|
||||
@@ -23,8 +23,7 @@ abstract class FirScope {
|
||||
|
||||
open fun processPropertiesByName(
|
||||
name: Name,
|
||||
// NB: it'd be great to write FirVariableSymbol<*> here, but there is FirAccessorSymbol :(
|
||||
processor: (FirCallableSymbol<*>) -> Unit
|
||||
processor: (FirVariableSymbol<*>) -> Unit
|
||||
) {}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user