[Analysis API] cleanup the code
This commit is contained in:
+2
-2
@@ -590,13 +590,13 @@ internal class KtSymbolByFirBuilder constructor(
|
||||
}
|
||||
|
||||
|
||||
private class BuilderCache<From, To : Any> {
|
||||
private class BuilderCache<From, To : KtSymbol> {
|
||||
private val cache = ContainerUtil.createConcurrentSoftMap<From, To>()
|
||||
|
||||
inline fun <reified S : To> cache(key: From, calculation: () -> S): S {
|
||||
val value = cache.getOrPut(key, calculation)
|
||||
return value as? S
|
||||
?: error("Cannot cast ${value::class} to ${S::class}\n${DebugSymbolRenderer.render(value as KtSymbol)}")
|
||||
?: error("Cannot cast ${value::class} to ${S::class}\n${DebugSymbolRenderer.render(value)}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+14
-7
@@ -1,22 +1,26 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder
|
||||
import org.jetbrains.kotlin.analysis.api.signatures.KtCallableSignature
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtClassifierSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.signatures.KtCallableSignature
|
||||
import org.jetbrains.kotlin.fir.isSubstitutionOverride
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.processClassifiersByName
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
internal fun FirScope.getCallableSymbols(callableNames: Collection<Name>, builder: KtSymbolByFirBuilder) = sequence {
|
||||
internal fun FirScope.getCallableSymbols(
|
||||
callableNames: Collection<Name>,
|
||||
builder: KtSymbolByFirBuilder
|
||||
): Sequence<KtCallableSymbol> = sequence {
|
||||
callableNames.forEach { name ->
|
||||
val callables = mutableListOf<KtCallableSymbol>()
|
||||
processFunctionsByName(name) { firSymbol ->
|
||||
@@ -35,7 +39,10 @@ internal fun FirScope.getCallableSymbols(callableNames: Collection<Name>, builde
|
||||
}
|
||||
}
|
||||
|
||||
internal fun FirScope.getCallableSignatures(callableNames: Collection<Name>, builder: KtSymbolByFirBuilder) = sequence {
|
||||
internal fun FirScope.getCallableSignatures(
|
||||
callableNames: Collection<Name>,
|
||||
builder: KtSymbolByFirBuilder
|
||||
): Sequence<KtCallableSignature<*>> = sequence {
|
||||
callableNames.forEach { name ->
|
||||
val signatures = mutableListOf<KtCallableSignature<*>>()
|
||||
processFunctionsByName(name) { firSymbol ->
|
||||
|
||||
+2
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder
|
||||
import org.jetbrains.kotlin.analysis.api.fir.annotations.KtFirAnnotationListForDeclaration
|
||||
import org.jetbrains.kotlin.analysis.api.fir.findPsi
|
||||
@@ -90,6 +91,7 @@ internal class KtFirNamedClassOrObjectSymbol(
|
||||
}
|
||||
|
||||
|
||||
@OptIn(KtAnalysisApiInternals::class)
|
||||
override val classKind: KtClassKind
|
||||
get() = withValidityAssertion {
|
||||
firSymbol.classKind.toKtClassKind(isCompanionObject = firSymbol.isCompanion)
|
||||
|
||||
Reference in New Issue
Block a user