[Analysis API] make KtDeclarationSymbol <: KtDeclarationSymbol
To simplify work with annotations
This commit is contained in:
+1
-1
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
|||||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
|
|
||||||
public abstract class KtCallableSymbol : KtSymbolWithKind, KtAnnotatedSymbol, KtPossibleMemberSymbol, KtDeclarationSymbol {
|
public abstract class KtCallableSymbol : KtSymbolWithKind, KtPossibleMemberSymbol, KtDeclarationSymbol {
|
||||||
public abstract val callableIdIfNonLocal: CallableId?
|
public abstract val callableIdIfNonLocal: CallableId?
|
||||||
public abstract val returnType: KtType
|
public abstract val returnType: KtType
|
||||||
|
|
||||||
|
|||||||
+4
-6
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.name.SpecialNames
|
import org.jetbrains.kotlin.name.SpecialNames
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
|
|
||||||
public sealed class KtClassifierSymbol : KtSymbol, KtAnnotatedSymbol, KtPossiblyNamedSymbol, KtDeclarationSymbol
|
public sealed class KtClassifierSymbol : KtSymbol, KtPossiblyNamedSymbol, KtDeclarationSymbol
|
||||||
|
|
||||||
public val KtClassifierSymbol.nameOrAnonymous: Name
|
public val KtClassifierSymbol.nameOrAnonymous: Name
|
||||||
get() = name ?: SpecialNames.ANONYMOUS
|
get() = name ?: SpecialNames.ANONYMOUS
|
||||||
@@ -38,8 +38,8 @@ public sealed class KtClassLikeSymbol : KtClassifierSymbol(), KtSymbolWithKind,
|
|||||||
|
|
||||||
public abstract class KtTypeAliasSymbol : KtClassLikeSymbol(),
|
public abstract class KtTypeAliasSymbol : KtClassLikeSymbol(),
|
||||||
KtSymbolWithVisibility,
|
KtSymbolWithVisibility,
|
||||||
KtNamedSymbol,
|
KtNamedSymbol {
|
||||||
KtAnnotatedSymbol {
|
|
||||||
final override val symbolKind: KtSymbolKind get() = KtSymbolKind.TOP_LEVEL
|
final override val symbolKind: KtSymbolKind get() = KtSymbolKind.TOP_LEVEL
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,9 +51,7 @@ public abstract class KtTypeAliasSymbol : KtClassLikeSymbol(),
|
|||||||
abstract override fun createPointer(): KtSymbolPointer<KtTypeAliasSymbol>
|
abstract override fun createPointer(): KtSymbolPointer<KtTypeAliasSymbol>
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class KtClassOrObjectSymbol : KtClassLikeSymbol(),
|
public sealed class KtClassOrObjectSymbol : KtClassLikeSymbol(), KtSymbolWithMembers {
|
||||||
KtAnnotatedSymbol,
|
|
||||||
KtSymbolWithMembers {
|
|
||||||
|
|
||||||
public abstract val classKind: KtClassKind
|
public abstract val classKind: KtClassKind
|
||||||
public abstract val superTypes: List<KtType>
|
public abstract val superTypes: List<KtType>
|
||||||
|
|||||||
+2
-1
@@ -5,10 +5,11 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.api.symbols
|
package org.jetbrains.kotlin.analysis.api.symbols
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithTypeParameters
|
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithTypeParameters
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a symbol of declaration which can be directly expressed in source code.
|
* Represents a symbol of declaration which can be directly expressed in source code.
|
||||||
* Eg, classes, type parameters or functions ar [KtDeclarationSymbol], but files and packages are not
|
* Eg, classes, type parameters or functions ar [KtDeclarationSymbol], but files and packages are not
|
||||||
*/
|
*/
|
||||||
public sealed interface KtDeclarationSymbol : KtSymbol, KtSymbolWithTypeParameters
|
public sealed interface KtDeclarationSymbol : KtSymbol, KtSymbolWithTypeParameters, KtAnnotatedSymbol
|
||||||
+2
-3
@@ -45,8 +45,7 @@ public abstract class KtFunctionSymbol : KtFunctionLikeSymbol(),
|
|||||||
KtNamedSymbol,
|
KtNamedSymbol,
|
||||||
KtPossibleMemberSymbol,
|
KtPossibleMemberSymbol,
|
||||||
KtSymbolWithModality,
|
KtSymbolWithModality,
|
||||||
KtSymbolWithVisibility,
|
KtSymbolWithVisibility {
|
||||||
KtAnnotatedSymbol {
|
|
||||||
|
|
||||||
public abstract val isSuspend: Boolean
|
public abstract val isSuspend: Boolean
|
||||||
public abstract val isOperator: Boolean
|
public abstract val isOperator: Boolean
|
||||||
@@ -66,8 +65,8 @@ public abstract class KtFunctionSymbol : KtFunctionLikeSymbol(),
|
|||||||
|
|
||||||
public abstract class KtConstructorSymbol : KtFunctionLikeSymbol(),
|
public abstract class KtConstructorSymbol : KtFunctionLikeSymbol(),
|
||||||
KtPossibleMemberSymbol,
|
KtPossibleMemberSymbol,
|
||||||
KtAnnotatedSymbol,
|
|
||||||
KtSymbolWithVisibility {
|
KtSymbolWithVisibility {
|
||||||
|
|
||||||
public abstract val isPrimary: Boolean
|
public abstract val isPrimary: Boolean
|
||||||
public abstract val containingClassIdIfNonLocal: ClassId?
|
public abstract val containingClassIdIfNonLocal: ClassId?
|
||||||
|
|
||||||
|
|||||||
-1
@@ -13,7 +13,6 @@ public sealed class KtPropertyAccessorSymbol : KtFunctionLikeSymbol(),
|
|||||||
KtPossibleMemberSymbol,
|
KtPossibleMemberSymbol,
|
||||||
KtSymbolWithModality,
|
KtSymbolWithModality,
|
||||||
KtSymbolWithVisibility,
|
KtSymbolWithVisibility,
|
||||||
KtAnnotatedSymbol,
|
|
||||||
KtSymbolWithKind {
|
KtSymbolWithKind {
|
||||||
|
|
||||||
final override val isExtension: Boolean get() = false
|
final override val isExtension: Boolean get() = false
|
||||||
|
|||||||
-1
@@ -95,7 +95,6 @@ public sealed class KtPropertySymbol : KtVariableSymbol(),
|
|||||||
KtPossibleMemberSymbol,
|
KtPossibleMemberSymbol,
|
||||||
KtSymbolWithModality,
|
KtSymbolWithModality,
|
||||||
KtSymbolWithVisibility,
|
KtSymbolWithVisibility,
|
||||||
KtAnnotatedSymbol,
|
|
||||||
KtSymbolWithKind {
|
KtSymbolWithKind {
|
||||||
|
|
||||||
public abstract val hasGetter: Boolean
|
public abstract val hasGetter: Boolean
|
||||||
|
|||||||
Reference in New Issue
Block a user