FIR IDE: remove KtTypedSymbol interface as all its inheritors are KtCallableSymbol
This commit is contained in:
committed by
TeamCityServer
parent
bbe5cf0a70
commit
0ba6412f96
+2
-2
@@ -9,8 +9,8 @@ import com.intellij.codeInsight.lookup.LookupElement
|
||||
import com.intellij.codeInsight.lookup.LookupElementWeigher
|
||||
import com.intellij.openapi.util.Key
|
||||
import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypedSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
|
||||
import org.jetbrains.kotlin.psi.UserDataProperty
|
||||
|
||||
@@ -30,7 +30,7 @@ internal object ExpectedTypeWeigher {
|
||||
expectedType: KtType?
|
||||
) = when {
|
||||
expectedType == null -> MatchesExpectedType.NON_TYPABLE
|
||||
symbol !is KtTypedSymbol -> MatchesExpectedType.NON_TYPABLE
|
||||
symbol !is KtCallableSymbol -> MatchesExpectedType.NON_TYPABLE
|
||||
else -> MatchesExpectedType.matches(symbol.annotatedType.type isSubTypeOf expectedType)
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -6,11 +6,12 @@
|
||||
package org.jetbrains.kotlin.idea.frontend.api.symbols
|
||||
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolWithKind
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypedSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
|
||||
abstract class KtCallableSymbol : KtSymbol, KtTypedSymbol, KtSymbolWithKind {
|
||||
abstract class KtCallableSymbol : KtSymbol, KtSymbolWithKind {
|
||||
abstract val callableIdIfNonLocal: CallableId?
|
||||
abstract val annotatedType: KtTypeAndAnnotations
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtCallableSymbol>
|
||||
}
|
||||
+1
-1
@@ -28,7 +28,7 @@ sealed class KtPropertyAccessorSymbol : KtCallableSymbol(),
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtPropertyAccessorSymbol>
|
||||
}
|
||||
|
||||
abstract class KtPropertyGetterSymbol : KtPropertyAccessorSymbol(), KtTypedSymbol {
|
||||
abstract class KtPropertyGetterSymbol : KtPropertyAccessorSymbol() {
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtPropertyGetterSymbol>
|
||||
}
|
||||
|
||||
|
||||
-4
@@ -18,10 +18,6 @@ interface KtNamedSymbol : KtPossiblyNamedSymbol {
|
||||
abstract override val name: Name
|
||||
}
|
||||
|
||||
interface KtTypedSymbol : KtSymbol {
|
||||
val annotatedType: KtTypeAndAnnotations
|
||||
}
|
||||
|
||||
interface KtSymbolWithTypeParameters {
|
||||
val typeParameters: List<KtTypeParameterSymbol>
|
||||
}
|
||||
@@ -50,7 +50,7 @@ internal fun <L : Any> L.invalidAccess(): Nothing =
|
||||
private fun PsiElement.nonExistentType() = JavaPsiFacade.getElementFactory(project)
|
||||
.createTypeFromText("error.NonExistentClass", this)
|
||||
|
||||
internal fun KtTypedSymbol.asPsiType(parent: PsiElement, phase: FirResolvePhase): PsiType =
|
||||
internal fun KtCallableSymbol.asPsiType(parent: PsiElement, phase: FirResolvePhase): PsiType =
|
||||
annotatedType.asPsiType(this, parent, phase)
|
||||
|
||||
internal fun KtTypeAndAnnotations.asPsiType(
|
||||
|
||||
+1
-2
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.api.getOrBuildFirSafe
|
||||
import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken
|
||||
import org.jetbrains.kotlin.idea.frontend.api.components.KtExpressionTypeProvider
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypedSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.types.KtErrorType
|
||||
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
|
||||
import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion
|
||||
@@ -103,7 +102,7 @@ internal class KtFirExpressionTypeProvider(
|
||||
private fun getExpectedTypeByReturnExpression(expression: PsiElement): KtType? {
|
||||
val returnParent = expression.getReturnExpressionWithThisType() ?: return null
|
||||
val targetSymbol = with(analysisSession) { returnParent.getReturnTargetSymbol() } ?: return null
|
||||
return (targetSymbol as? KtTypedSymbol)?.annotatedType?.type
|
||||
return targetSymbol.annotatedType.type
|
||||
}
|
||||
|
||||
private fun PsiElement.getReturnExpressionWithThisType(): KtReturnExpression? =
|
||||
|
||||
Reference in New Issue
Block a user