Don't call possibleGetterNamesByPropertyName without a reason

This commit is contained in:
Mikhail Glukhikh
2020-12-10 12:24:41 +03:00
parent 44948aa9a2
commit 0e43eaa662
@@ -81,14 +81,12 @@ class JavaClassUseSiteMemberScope(
processor: (FirVariableSymbol<*>) -> Unit processor: (FirVariableSymbol<*>) -> Unit
) { ) {
val overrideCandidates = mutableSetOf<FirCallableSymbol<*>>() val overrideCandidates = mutableSetOf<FirCallableSymbol<*>>()
val klass = symbol.fir
declaredMemberScope.processPropertiesByName(propertyName) { variableSymbol -> declaredMemberScope.processPropertiesByName(propertyName) { variableSymbol ->
if (variableSymbol.isStatic) return@processPropertiesByName if (variableSymbol.isStatic) return@processPropertiesByName
overrideCandidates += variableSymbol overrideCandidates += variableSymbol
processor(variableSymbol) processor(variableSymbol)
} }
if (klass is FirJavaClass) {
for (getterName in getterNames) { for (getterName in getterNames) {
var getterSymbol: FirNamedFunctionSymbol? = null var getterSymbol: FirNamedFunctionSymbol? = null
var setterSymbol: FirNamedFunctionSymbol? = null var setterSymbol: FirNamedFunctionSymbol? = null
@@ -130,7 +128,6 @@ class JavaClassUseSiteMemberScope(
overrideCandidates += accessorSymbol overrideCandidates += accessorSymbol
} }
} }
}
superTypesScope.processPropertiesByName(propertyName) { superTypesScope.processPropertiesByName(propertyName) {
when (val overriddenBy = it.getOverridden(overrideCandidates)) { when (val overriddenBy = it.getOverridden(overrideCandidates)) {
@@ -144,11 +141,11 @@ class JavaClassUseSiteMemberScope(
} }
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
// Do not generate accessors at all? val getterNames = if (symbol.fir is FirJavaClass) {
if (name.isSpecial) { FirJavaSyntheticNamesProvider.possibleGetterNamesByPropertyName(name)
return processAccessorFunctionsAndPropertiesByName(name, emptyList(), processor) } else {
emptyList()
} }
val getterNames = FirJavaSyntheticNamesProvider.possibleGetterNamesByPropertyName(name)
return processAccessorFunctionsAndPropertiesByName(name, getterNames, processor) return processAccessorFunctionsAndPropertiesByName(name, getterNames, processor)
} }