FIR IDE: move all all symbol markers to markers package

This commit is contained in:
Ilya Kirillov
2020-08-14 15:25:16 +03:00
parent 052e8e5069
commit 27c045d035
20 changed files with 81 additions and 55 deletions
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.psi.*
* - Should not be accessed outside read action
* - Should not be leaked outside read action it was created in
* - To be sure that session is not leaked it is forbidden to store it in a variable, consider working with it only in [analyze] context
* - All entities retrieved from analysis facade should not be leaked outside the read action KtAnalysisSession was created in
* - All entities retrieved from analysis session should not be leaked outside the read action KtAnalysisSession was created in
*
* To pass a symbol from one read action to another use [KtSymbolPointer] which can be created from a symbol by [KtSymbol.createPointer]
*
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtNamedSymbol
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
@@ -5,11 +5,9 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolWithKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.*
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
sealed class KtClassLikeSymbol : KtSymbol, KtNamedSymbol, KtSymbolWithKind {
@@ -5,8 +5,7 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolWithKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.*
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtNamedSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
abstract class KtTypeParameterSymbol : KtSymbol, KtNamedSymbol {
@@ -5,8 +5,7 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolWithKind
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.*
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
@@ -1,43 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.name.Name
interface KtNamedSymbol : KtSymbol {
val name: Name
}
interface KtTypedSymbol : KtSymbol {
val type: KtType
}
interface KtPossibleExtensionSymbol {
val isExtension: Boolean
val receiverType: KtType?
}
val KtCallableSymbol.isExtension: Boolean
get() = (this as? KtPossibleExtensionSymbol)?.isExtension == true
interface KtSymbolWithTypeParameters {
val typeParameters: List<KtTypeParameterSymbol>
}
interface KtSymbolWithModality<M : KtSymbolModality> {
val modality: M
}
sealed class KtSymbolModality {
object SEALED : KtSymbolModality()
}
sealed class KtCommonSymbolModality : KtSymbolModality() {
object FINAL : KtCommonSymbolModality()
object ABSTRACT : KtCommonSymbolModality()
object OPEN : KtCommonSymbolModality()
}
@@ -0,0 +1,17 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.frontend.api.symbols.markers
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
interface KtPossibleExtensionSymbol {
val isExtension: Boolean
val receiverType: KtType?
}
val KtCallableSymbol.isExtension: Boolean
get() = (this as? KtPossibleExtensionSymbol)?.isExtension == true
@@ -0,0 +1,20 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.frontend.api.symbols.markers
interface KtSymbolWithModality<M : KtSymbolModality> {
val modality: M
}
sealed class KtSymbolModality {
object SEALED : KtSymbolModality()
}
sealed class KtCommonSymbolModality : KtSymbolModality() {
object FINAL : KtCommonSymbolModality()
object ABSTRACT : KtCommonSymbolModality()
object OPEN : KtCommonSymbolModality()
}
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.frontend.api.symbols.markers
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeParameterSymbol
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.name.Name
interface KtNamedSymbol : KtSymbol {
val name: Name
}
interface KtTypedSymbol : KtSymbol {
val type: KtType
}
interface KtSymbolWithTypeParameters {
val typeParameters: List<KtTypeParameterSymbol>
}