AA FIR: unwrap fake override constructor
This commit is contained in:
committed by
Ilya Kirillov
parent
fcd3e4f4c5
commit
2fdedf8251
+3
-2
@@ -248,8 +248,9 @@ internal class KtSymbolByFirBuilder constructor(
|
||||
|
||||
fun buildConstructorSymbol(firSymbol: FirConstructorSymbol): KtFirConstructorSymbol {
|
||||
val originalFirSymbol = firSymbol.fir.originalConstructorIfTypeAlias?.symbol ?: firSymbol
|
||||
return symbolsCache.cache(originalFirSymbol) {
|
||||
KtFirConstructorSymbol(originalFirSymbol, firResolveSession, token, this@KtSymbolByFirBuilder)
|
||||
val unwrapped = originalFirSymbol.originalIfFakeOverride() ?: originalFirSymbol
|
||||
return symbolsCache.cache(unwrapped) {
|
||||
KtFirConstructorSymbol(unwrapped, firResolveSession, token, this@KtSymbolByFirBuilder)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ internal class KtFirSymbolContainingDeclarationProvider(
|
||||
}
|
||||
|
||||
override fun getContainingModule(symbol: KtSymbol): KtModule {
|
||||
return symbol.getContainingKtModule(analysisSession.firResolveSession)
|
||||
return symbol.getContainingKtModule(analysisSession.firResolveSession)
|
||||
}
|
||||
|
||||
private fun getContainingDeclarationForBackingFieldSymbol(symbol: KtSymbolWithKind): KtSymbolWithKind {
|
||||
|
||||
+1
-3
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.api.fir.utils
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirModuleData
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.llFirModuleData
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtModule
|
||||
import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull
|
||||
@@ -16,13 +15,12 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
|
||||
val KtSymbol.firSymbol: FirBasedSymbol<*>
|
||||
internal val KtSymbol.firSymbol: FirBasedSymbol<*>
|
||||
get() {
|
||||
require(this is KtFirSymbol<*>)
|
||||
return this.firSymbol
|
||||
}
|
||||
|
||||
|
||||
fun FirBasedSymbol<*>.getContainingKtModule(firResolveSession: LLFirResolveSession): KtModule {
|
||||
val target = when (this) {
|
||||
is FirCallableSymbol -> {
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ KtConstructorSymbol:
|
||||
hasStableParameterNames: false
|
||||
isExtension: false
|
||||
isPrimary: false
|
||||
origin: SUBSTITUTION_OVERRIDE
|
||||
origin: JAVA
|
||||
receiverType: null
|
||||
returnType: java/util/ArrayList<E>
|
||||
symbolKind: CLASS_MEMBER
|
||||
@@ -17,5 +17,5 @@ KtConstructorSymbol:
|
||||
KtValueParameterSymbol(c)
|
||||
]
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
getContainingModule: KtSdkModule "SDK jdk"
|
||||
deprecationStatus: null
|
||||
Reference in New Issue
Block a user