[FIR] Use only variable symbol inheritors in processPropertiesByName

This commit is contained in:
Mikhail Glukhikh
2020-02-05 14:54:43 +03:00
parent a569e29091
commit a9ba94cf0e
16 changed files with 30 additions and 40 deletions
@@ -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)
@@ -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)