K2 Scripting: add FirScript to declaration checkers

This commit is contained in:
Ilya Chernikov
2023-11-21 13:47:17 +01:00
committed by Space Team
parent b7057eb22f
commit 8c30f3b2bc
8 changed files with 60 additions and 34 deletions
@@ -35,6 +35,8 @@ class ComposedDeclarationCheckers : DeclarationCheckers() {
get() = _constructorCheckers
override val fileCheckers: Set<FirFileChecker>
get() = _fileCheckers
override val scriptCheckers: Set<FirScriptChecker>
get() = _scriptCheckers
override val typeParameterCheckers: Set<FirTypeParameterChecker>
get() = _typeParameterCheckers
override val typeAliasCheckers: Set<FirTypeAliasChecker>
@@ -68,6 +70,7 @@ class ComposedDeclarationCheckers : DeclarationCheckers() {
private val _regularClassCheckers: MutableSet<FirRegularClassChecker> = mutableSetOf()
private val _constructorCheckers: MutableSet<FirConstructorChecker> = mutableSetOf()
private val _fileCheckers: MutableSet<FirFileChecker> = mutableSetOf()
private val _scriptCheckers: MutableSet<FirScriptChecker> = mutableSetOf()
private val _typeParameterCheckers: MutableSet<FirTypeParameterChecker> = mutableSetOf()
private val _typeAliasCheckers: MutableSet<FirTypeAliasChecker> = mutableSetOf()
private val _anonymousFunctionCheckers: MutableSet<FirAnonymousFunctionChecker> = mutableSetOf()
@@ -92,6 +95,7 @@ class ComposedDeclarationCheckers : DeclarationCheckers() {
_regularClassCheckers += checkers.regularClassCheckers
_constructorCheckers += checkers.constructorCheckers
_fileCheckers += checkers.fileCheckers
_scriptCheckers += checkers.scriptCheckers
_typeParameterCheckers += checkers.typeParameterCheckers
_typeAliasCheckers += checkers.typeAliasCheckers
_anonymousFunctionCheckers += checkers.anonymousFunctionCheckers
@@ -29,6 +29,7 @@ abstract class DeclarationCheckers {
open val regularClassCheckers: Set<FirRegularClassChecker> = emptySet()
open val constructorCheckers: Set<FirConstructorChecker> = emptySet()
open val fileCheckers: Set<FirFileChecker> = emptySet()
open val scriptCheckers: Set<FirScriptChecker> = emptySet()
open val typeParameterCheckers: Set<FirTypeParameterChecker> = emptySet()
open val typeAliasCheckers: Set<FirTypeAliasChecker> = emptySet()
open val anonymousFunctionCheckers: Set<FirAnonymousFunctionChecker> = emptySet()
@@ -52,6 +53,7 @@ abstract class DeclarationCheckers {
@CheckersComponentInternal internal val allRegularClassCheckers: Set<FirRegularClassChecker> by lazy { regularClassCheckers + classCheckers + classLikeCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allConstructorCheckers: Set<FirConstructorChecker> by lazy { constructorCheckers + functionCheckers + callableDeclarationCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allFileCheckers: Set<FirFileChecker> by lazy { fileCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allScriptCheckers: Set<FirScriptChecker> by lazy { scriptCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allTypeParameterCheckers: Set<FirTypeParameterChecker> by lazy { typeParameterCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allTypeAliasCheckers: Set<FirTypeAliasChecker> by lazy { typeAliasCheckers + classLikeCheckers + basicDeclarationCheckers }
@CheckersComponentInternal internal val allAnonymousFunctionCheckers: Set<FirAnonymousFunctionChecker> by lazy { anonymousFunctionCheckers + functionCheckers + callableDeclarationCheckers + basicDeclarationCheckers }
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirScript
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -40,6 +41,7 @@ typealias FirClassChecker = FirDeclarationChecker<FirClass>
typealias FirRegularClassChecker = FirDeclarationChecker<FirRegularClass>
typealias FirConstructorChecker = FirDeclarationChecker<FirConstructor>
typealias FirFileChecker = FirDeclarationChecker<FirFile>
typealias FirScriptChecker = FirDeclarationChecker<FirScript>
typealias FirTypeParameterChecker = FirDeclarationChecker<FirTypeParameter>
typealias FirTypeAliasChecker = FirDeclarationChecker<FirTypeAlias>
typealias FirAnonymousFunctionChecker = FirDeclarationChecker<FirAnonymousFunction>