From bd790b792c9a9ac6eace661318797753afa2f7c8 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 14 Mar 2022 14:12:33 +0300 Subject: [PATCH] FIR: minor code cleanup --- .../scopes/impl/FirAbstractSimpleImportingScope.kt | 2 +- .../fir/resolve/calls/ConstructorProcessing.kt | 12 ++++++------ .../plugin/FirCompanionGenerationProcessor.kt | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractSimpleImportingScope.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractSimpleImportingScope.kt index f8b3fd04592..57128dfbdab 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractSimpleImportingScope.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractSimpleImportingScope.kt @@ -24,7 +24,7 @@ abstract class FirAbstractSimpleImportingScope( override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) { val imports = simpleImports[name] ?: return - processImportsByName(null, imports) { symbol -> + processImportsByName(name = null, imports) { symbol -> processor(symbol, ConeSubstitutor.Empty) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt index c5a9acd826d..d811528747a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt @@ -78,8 +78,8 @@ private fun FirScope.getFirstClassifierOrNull( session: FirSession, bodyResolveComponents: BodyResolveComponents ): Pair, ConeSubstitutor>? { - var successful = false - var ambiguity = false + var isSuccessResult = false + var isAmbiguousResult = false var result: Pair, ConeSubstitutor>? = null processClassifiersByNameWithSubstitution(callInfo.name) { symbol, substitution -> val classifierDeclaration = symbol.fir @@ -103,15 +103,15 @@ private fun FirScope.getFirstClassifierOrNull( isSuccessCandidate = false } - if (result == null || (!successful && isSuccessCandidate)) { - successful = isSuccessCandidate + if (result == null || (!isSuccessResult && isSuccessCandidate)) { + isSuccessResult = isSuccessCandidate result = symbol to substitution } else { - ambiguity = true + isAmbiguousResult = true } } - return result.takeUnless { ambiguity } + return result.takeUnless { isAmbiguousResult } } private fun processSyntheticConstructors( diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirCompanionGenerationProcessor.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirCompanionGenerationProcessor.kt index 62582dc1ef7..4330589c6bb 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirCompanionGenerationProcessor.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirCompanionGenerationProcessor.kt @@ -34,6 +34,7 @@ class FirCompanionGenerationTransformer(val session: FirSession) : FirTransforme } override fun transformFile(file: FirFile, data: Nothing?): FirFile { + // I don't want to use laziness here to prevent possible multi-threading problems generatedDeclarationProvider = session.generatedDeclarationsSymbolProvider ?: return file return file.transformDeclarations(this, data) }