AA: do not create symbol pointers for (intersection|substitution) overridden members

This commit is contained in:
Jinseong Jeon
2022-09-15 17:05:18 -07:00
committed by Ilya Kirillov
parent e50da634bc
commit efb867b46c
6 changed files with 9 additions and 18 deletions
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.containingClass
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.utils.*
import org.jetbrains.kotlin.fir.resolve.getHasStableParameterNames
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
@@ -86,9 +85,7 @@ internal class KtFirFunctionSymbol(
override val visibility: Visibility get() = withValidityAssertion { firSymbol.visibility }
override fun createPointer(): KtSymbolPointer<KtFunctionSymbol> = withValidityAssertion {
if (firSymbol.fir.origin != FirDeclarationOrigin.SubstitutionOverride) {
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
}
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
return when (symbolKind) {
KtSymbolKind.TOP_LEVEL ->
@@ -28,11 +28,9 @@ import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.containingClass
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
import org.jetbrains.kotlin.fir.declarations.utils.*
@@ -40,7 +38,6 @@ import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.isExtension
import org.jetbrains.kotlin.fir.types.toRegularClassSymbol
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.Name
@@ -121,9 +118,7 @@ internal class KtFirKotlinPropertySymbol(
override val hasSetter: Boolean get() = withValidityAssertion { firSymbol.setterSymbol != null }
override fun createPointer(): KtSymbolPointer<KtKotlinPropertySymbol> = withValidityAssertion {
if (firSymbol.fir.origin != FirDeclarationOrigin.SubstitutionOverride) {
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
}
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
return when (symbolKind) {
KtSymbolKind.TOP_LEVEL -> TODO("Creating symbol for top level properties is not supported yet")