[FIR] Move jvm specific checkers to checkers.jvm module
This commit is contained in:
committed by
teamcityserver
parent
f3c58a1df7
commit
a9838131ad
+2
-3
@@ -3,12 +3,11 @@
|
||||
* 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.fir.checkers
|
||||
package org.jetbrains.kotlin.fir.analysis.jvm.checkers
|
||||
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.*
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.jvm.FirJvmExternalDeclarationChecker
|
||||
import org.jetbrains.kotlin.fir.analysis.jvm.checkers.declaration.FirJvmExternalDeclarationChecker
|
||||
|
||||
// TODO: Move this to different, JVM-specific module?
|
||||
object JvmDeclarationCheckers : DeclarationCheckers() {
|
||||
override val memberDeclarationCheckers: Set<FirMemberDeclarationChecker>
|
||||
get() = setOf(
|
||||
+1
-2
@@ -3,7 +3,7 @@
|
||||
* 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.fir.analysis.checkers.declaration.jvm
|
||||
package org.jetbrains.kotlin.fir.analysis.jvm.checkers.declaration
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
|
||||
// TODO: Move this to different, JVM-specific module?
|
||||
object FirJvmExternalDeclarationChecker : FirMemberDeclarationChecker() {
|
||||
override fun check(declaration: FirMemberDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
if (!declaration.isExternal) return
|
||||
+6
-6
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||
// - use this to retrieve modifiers on the source and confirm a certain modifier indeed appears
|
||||
// DON'T
|
||||
// - don't use this to report an error or warning *on* that specific modifier. Use positioning strategies instead.
|
||||
internal sealed class FirModifierList {
|
||||
sealed class FirModifierList {
|
||||
abstract val modifiers: List<FirModifier<*>>
|
||||
|
||||
class FirPsiModifierList(val modifierList: KtModifierList) : FirModifierList() {
|
||||
@@ -51,7 +51,7 @@ internal sealed class FirModifierList {
|
||||
|
||||
private val MODIFIER_KEYWORD_SET = TokenSet.orSet(KtTokens.SOFT_KEYWORDS, TokenSet.create(KtTokens.IN_KEYWORD, KtTokens.FUN_KEYWORD))
|
||||
|
||||
internal sealed class FirModifier<Node : Any>(val node: Node, val token: KtModifierKeywordToken) {
|
||||
sealed class FirModifier<Node : Any>(val node: Node, val token: KtModifierKeywordToken) {
|
||||
|
||||
class FirPsiModifier(
|
||||
node: ASTNode,
|
||||
@@ -78,7 +78,7 @@ internal sealed class FirModifier<Node : Any>(val node: Node, val token: KtModif
|
||||
abstract val source: FirSourceElement
|
||||
}
|
||||
|
||||
internal fun FirSourceElement?.getModifierList(): FirModifierList? {
|
||||
fun FirSourceElement?.getModifierList(): FirModifierList? {
|
||||
return when (this) {
|
||||
null -> null
|
||||
is FirPsiSourceElement<*> -> (psi as? KtModifierListOwner)?.modifierList?.let { FirModifierList.FirPsiModifierList(it) }
|
||||
@@ -91,8 +91,8 @@ internal fun FirSourceElement?.getModifierList(): FirModifierList? {
|
||||
}
|
||||
}
|
||||
|
||||
internal operator fun FirModifierList?.contains(token: KtModifierKeywordToken): Boolean = this?.contains(token) == true
|
||||
operator fun FirModifierList?.contains(token: KtModifierKeywordToken): Boolean = this?.contains(token) == true
|
||||
|
||||
internal fun FirElement.getModifier(token: KtModifierKeywordToken): FirModifier<*>? = source.getModifierList()?.get(token)
|
||||
fun FirElement.getModifier(token: KtModifierKeywordToken): FirModifier<*>? = source.getModifierList()?.get(token)
|
||||
|
||||
internal fun FirElement.hasModifier(token: KtModifierKeywordToken): Boolean = token in source.getModifierList()
|
||||
fun FirElement.hasModifier(token: KtModifierKeywordToken): Boolean = token in source.getModifierList()
|
||||
|
||||
@@ -18,7 +18,6 @@ fun FirSessionFactory.FirSessionConfigurator.registerExtendedCommonCheckers() {
|
||||
useCheckers(ExtendedDeclarationCheckers)
|
||||
}
|
||||
|
||||
// TODO: Move this to different, JVM-specific module?
|
||||
fun FirSessionFactory.FirSessionConfigurator.registerJvmCheckers() {
|
||||
useCheckers(JvmDeclarationCheckers)
|
||||
}
|
||||
|
||||
+2
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.diagnostics
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.analysis.CheckersComponentInternal
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.*
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.ComposedDeclarationCheckers
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckers
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers
|
||||
@@ -14,6 +15,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.type.TypeCheckers
|
||||
import org.jetbrains.kotlin.fir.analysis.collectors.AbstractDiagnosticCollector
|
||||
import org.jetbrains.kotlin.fir.analysis.collectors.components.*
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.jvm.checkers.JvmDeclarationCheckers
|
||||
import org.jetbrains.kotlin.fir.checkers.*
|
||||
import org.jetbrains.kotlin.fir.moduleData
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.moduleSourceInfo
|
||||
|
||||
Reference in New Issue
Block a user