AA: make KtCallableSymbol a subtype of KtAnnotatedSymbol
This commit is contained in:
+6
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.base.KtFe10AnnotatedSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.base.KtFe10Symbol
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtType
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10DescSyntheticFieldSymbolPointer
|
||||
@@ -18,6 +19,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointe
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl
|
||||
import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
|
||||
import org.jetbrains.kotlin.load.kotlin.toSourceElement
|
||||
@@ -28,13 +30,16 @@ import org.jetbrains.kotlin.resolve.source.getPsi
|
||||
internal class KtFe10DescSyntheticFieldSymbol(
|
||||
val descriptor: SyntheticFieldDescriptor,
|
||||
override val analysisContext: Fe10AnalysisContext
|
||||
) : KtBackingFieldSymbol(), KtFe10Symbol {
|
||||
) : KtBackingFieldSymbol(), KtFe10Symbol, KtFe10AnnotatedSymbol {
|
||||
override val owningProperty: KtKotlinPropertySymbol
|
||||
get() = withValidityAssertion {
|
||||
val kotlinProperty = descriptor.propertyDescriptor as PropertyDescriptorImpl
|
||||
KtFe10DescKotlinPropertySymbol(kotlinProperty, analysisContext)
|
||||
}
|
||||
|
||||
override val annotationsObject: Annotations
|
||||
get() = descriptor.annotations
|
||||
|
||||
override val returnType: KtType
|
||||
get() = withValidityAssertion { descriptor.propertyDescriptor.type.toKtType(analysisContext) }
|
||||
|
||||
|
||||
+7
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
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
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtAnonymousFunctionSymbol
|
||||
@@ -30,6 +32,11 @@ internal class KtFirAnonymousFunctionSymbol(
|
||||
|
||||
override val psi: PsiElement? by cached { firSymbol.fir.findPsi(firSymbol.fir.moduleData.session) }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
override val receiverType: KtType? get() = withValidityAssertion { firSymbol.receiverType(builder) }
|
||||
|
||||
|
||||
+7
@@ -5,7 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder
|
||||
import org.jetbrains.kotlin.analysis.api.fir.annotations.KtFirAnnotationListForDeclaration
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirBackingFieldSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol
|
||||
@@ -25,6 +27,11 @@ internal class KtFirBackingFieldSymbol(
|
||||
) : KtBackingFieldSymbol(), KtFirSymbol<FirBackingFieldSymbol> {
|
||||
override val origin: KtSymbolOrigin get() = withValidityAssertion { super<KtBackingFieldSymbol>.origin }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
|
||||
override val owningProperty: KtKotlinPropertySymbol
|
||||
|
||||
+7
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
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
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirEnumEntrySymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
@@ -31,6 +33,11 @@ internal class KtFirEnumEntrySymbol(
|
||||
) : KtEnumEntrySymbol(), KtFirSymbol<FirEnumEntrySymbol> {
|
||||
override val psi: PsiElement? by cached { firSymbol.findPsi() }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val name: Name get() = withValidityAssertion { firSymbol.name }
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
override val containingEnumClassIdIfNonLocal: ClassId? get() = callableIdIfNonLocal?.classId
|
||||
|
||||
+7
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
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
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirJavaFieldSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
@@ -34,6 +36,11 @@ internal class KtFirJavaFieldSymbol(
|
||||
) : KtJavaFieldSymbol(), KtFirSymbol<FirFieldSymbol> {
|
||||
override val psi: PsiElement? by cached { firSymbol.findPsi() }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val isVal: Boolean get() = withValidityAssertion { firSymbol.fir.isVal }
|
||||
override val name: Name get() = withValidityAssertion { firSymbol.name }
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
|
||||
+7
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
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
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtLocalVariableSymbol
|
||||
@@ -34,6 +36,11 @@ internal class KtFirLocalVariableSymbol(
|
||||
|
||||
override val psi: PsiElement? by cached { firSymbol.findPsi() }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val isVal: Boolean get() = withValidityAssertion { firSymbol.isVal }
|
||||
override val name: Name get() = withValidityAssertion { firSymbol.name }
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
|
||||
+8
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
|
||||
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
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirSamConstructorSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
@@ -31,6 +33,12 @@ internal class KtFirSamConstructorSymbol(
|
||||
private val builder: KtSymbolByFirBuilder
|
||||
) : KtSamConstructorSymbol(), KtFirSymbol<FirNamedFunctionSymbol> {
|
||||
override val psi: PsiElement? by cached { firSymbol.findPsi() }
|
||||
|
||||
override val annotationsList: KtAnnotationsList
|
||||
get() = withValidityAssertion {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, firResolveSession.useSiteFirSession, token)
|
||||
}
|
||||
|
||||
override val name: Name get() = withValidityAssertion { firSymbol.name }
|
||||
|
||||
override val returnType: KtType get() = withValidityAssertion { firSymbol.returnType(builder) }
|
||||
|
||||
+2
-1
@@ -5,13 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.symbols
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossibleMemberSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
|
||||
public abstract class KtCallableSymbol : KtSymbol, KtSymbolWithKind, KtPossibleMemberSymbol, KtDeclarationSymbol {
|
||||
public abstract class KtCallableSymbol : KtSymbol, KtSymbolWithKind, KtAnnotatedSymbol, KtPossibleMemberSymbol, KtDeclarationSymbol {
|
||||
public abstract val callableIdIfNonLocal: CallableId?
|
||||
public abstract val returnType: KtType
|
||||
|
||||
|
||||
+3
@@ -1,4 +1,5 @@
|
||||
KtJavaFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: java/lang/String.value
|
||||
isExtension: false
|
||||
isStatic: false
|
||||
@@ -15,6 +16,7 @@ KtJavaFieldSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtJavaFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: java/lang/String.hash
|
||||
isExtension: false
|
||||
isStatic: false
|
||||
@@ -57,6 +59,7 @@ KtFunctionSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtJavaFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: java/lang/String.hash32
|
||||
isExtension: false
|
||||
isStatic: false
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: kotlin/LazyThreadSafetyMode.SYNCHRONIZED
|
||||
containingEnumClassIdIfNonLocal: kotlin/LazyThreadSafetyMode
|
||||
isExtension: false
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: kotlin/LazyThreadSafetyMode.SYNCHRONIZED
|
||||
containingEnumClassIdIfNonLocal: kotlin/LazyThreadSafetyMode
|
||||
isExtension: false
|
||||
|
||||
@@ -87,6 +87,7 @@ KtNamedClassOrObjectSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtAnonymousFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
@@ -132,6 +133,7 @@ KtKotlinPropertySymbol:
|
||||
setterDeprecationStatus: null
|
||||
|
||||
KtAnonymousFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
@@ -229,4 +231,4 @@ KtNamedClassOrObjectSymbol:
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
deprecationStatus: null
|
||||
@@ -1,4 +1,5 @@
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /X.Y
|
||||
containingEnumClassIdIfNonLocal: X
|
||||
isExtension: false
|
||||
@@ -11,6 +12,7 @@ KtEnumEntrySymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /X.Z
|
||||
containingEnumClassIdIfNonLocal: X
|
||||
isExtension: false
|
||||
|
||||
+1
@@ -86,6 +86,7 @@ KtKotlinPropertySymbol:
|
||||
setterDeprecationStatus: null
|
||||
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /Style.SHEET
|
||||
containingEnumClassIdIfNonLocal: Style
|
||||
isExtension: false
|
||||
|
||||
@@ -85,6 +85,7 @@ KtKotlinPropertySymbol:
|
||||
setterDeprecationStatus: null
|
||||
|
||||
KtEnumEntrySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /Style.SHEET
|
||||
containingEnumClassIdIfNonLocal: Style
|
||||
isExtension: false
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
|
||||
@@ -14,6 +14,7 @@ KtValueParameterSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
@@ -26,6 +27,7 @@ KtLocalVariableSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtAnonymousFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
@@ -40,6 +42,7 @@ KtAnonymousFunctionSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
@@ -67,6 +70,7 @@ KtValueParameterSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
@@ -79,6 +83,7 @@ KtLocalVariableSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtAnonymousFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
@@ -93,6 +98,7 @@ KtAnonymousFunctionSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
@@ -105,6 +111,7 @@ KtLocalVariableSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
@@ -117,6 +124,7 @@ KtLocalVariableSymbol:
|
||||
deprecationStatus: null
|
||||
|
||||
KtAnonymousFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
KtLocalVariableSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
isVal: true
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
KtBackingFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
name: field
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
KtBackingFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
isExtension: false
|
||||
name: field
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
KtSamConstructorSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: java/lang/Runnable
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
KtSamConstructorSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: java/lang/Runnable
|
||||
hasStableParameterNames: true
|
||||
isExtension: false
|
||||
|
||||
Reference in New Issue
Block a user