From d90cc452fe1598cc19bc137caca98a65f9e82100 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 7 Dec 2020 13:40:33 +0300 Subject: [PATCH] Simplify: FirSymbolProvider.getClassDeclaredPropertySymbols --- .../java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt | 6 +++--- .../KotlinDeserializedJvmSymbolsProvider.kt | 8 ++++---- .../kotlin/fir/resolve/providers/FirSymbolProvider.kt | 6 ++---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt index 2d2d248a400..2559a9b40ac 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.resolve.bindSymbolToLookupTag import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedReferenceError import org.jetbrains.kotlin.fir.resolve.firSymbolProvider -import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredCallableSymbols +import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredPropertySymbols import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.expectedConeType import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe @@ -557,10 +557,10 @@ private fun JavaAnnotationArgument.toFirExpression( val classId = this@toFirExpression.enumClassId val entryName = this@toFirExpression.entryName val calleeReference = if (classId != null && entryName != null) { - val callableSymbol = session.firSymbolProvider.getClassDeclaredCallableSymbols( + val propertySymbol = session.firSymbolProvider.getClassDeclaredPropertySymbols( classId, entryName ).firstOrNull() - callableSymbol?.let { + propertySymbol?.let { buildResolvedNamedReference { name = entryName resolvedSymbol = it diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt index 8ad7c4262dc..71b8cf07540 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt @@ -197,16 +197,16 @@ class KotlinDeserializedJvmSymbolsProvider( private fun ClassId.toEnumEntryReferenceExpression(name: Name): FirExpression { return buildFunctionCall { - val entryCallableSymbol = - this@KotlinDeserializedJvmSymbolsProvider.session.firSymbolProvider.getClassDeclaredCallableSymbols( + val entryPropertySymbol = + this@KotlinDeserializedJvmSymbolsProvider.session.firSymbolProvider.getClassDeclaredPropertySymbols( this@toEnumEntryReferenceExpression, name, ).firstOrNull() calleeReference = when { - entryCallableSymbol != null -> { + entryPropertySymbol != null -> { buildResolvedNamedReference { this.name = name - resolvedSymbol = entryCallableSymbol + resolvedSymbol = entryPropertySymbol } } else -> { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolProvider.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolProvider.kt index c18913bc527..1763efbc62a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolProvider.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolProvider.kt @@ -35,13 +35,11 @@ abstract class FirSymbolProvider(val session: FirSession) : FirSessionComponent abstract fun getPackage(fqName: FqName): FqName? // TODO: Replace to symbol sometime } -fun FirSymbolProvider.getClassDeclaredCallableSymbols(classId: ClassId, name: Name): List> { +fun FirSymbolProvider.getClassDeclaredPropertySymbols(classId: ClassId, name: Name): List> { val classSymbol = getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol ?: return emptyList() val declaredMemberScope = declaredMemberScope(classSymbol.fir) - val result = mutableListOf>() - declaredMemberScope.processFunctionsByName(name, result::add) + val result = mutableListOf>() declaredMemberScope.processPropertiesByName(name, result::add) - if (name == classId.shortClassName) declaredMemberScope.processDeclaredConstructors(result::add) return result }