[FIR] Turn some checkers into classes to prevent memory leaks
This is temporary solution until those checkers will be fixed #KT-46058
This commit is contained in:
+1
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.types.ConeTypeParameterType
|
|||||||
import org.jetbrains.kotlin.fir.types.coneType
|
import org.jetbrains.kotlin.fir.types.coneType
|
||||||
import org.jetbrains.kotlin.fir.types.isNullable
|
import org.jetbrains.kotlin.fir.types.isNullable
|
||||||
|
|
||||||
object FirInapplicableLateinitChecker : FirPropertyChecker() {
|
class FirInapplicableLateinitChecker : FirPropertyChecker() {
|
||||||
var primitives: Set<ConeKotlinType>? = null
|
var primitives: Set<ConeKotlinType>? = null
|
||||||
|
|
||||||
private fun getPrimitiveTypes(context: CheckerContext) = primitives ?: mutableSetOf<ConeKotlinType>().apply {
|
private fun getPrimitiveTypes(context: CheckerContext) = primitives ?: mutableSetOf<ConeKotlinType>().apply {
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
|
|||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||||
|
|
||||||
object FirInlineClassDeclarationChecker : FirRegularClassChecker() {
|
class FirInlineClassDeclarationChecker : FirRegularClassChecker() {
|
||||||
|
|
||||||
private val reservedFunctionNames = setOf("box", "unbox", "equals", "hashCode")
|
private val reservedFunctionNames = setOf("box", "unbox", "equals", "hashCode")
|
||||||
private val kotlinCloneableType = ClassId.fromString("kotlin/Cloneable").constructClassLikeType(emptyArray(), false)
|
private val kotlinCloneableType = ClassId.fromString("kotlin/Cloneable").constructClassLikeType(emptyArray(), false)
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
|||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
|
|
||||||
object FirMethodOfAnyImplementedInInterfaceChecker : FirRegularClassChecker(), FirDeclarationPresenter {
|
class FirMethodOfAnyImplementedInInterfaceChecker : FirRegularClassChecker(), FirDeclarationPresenter {
|
||||||
private var inspector: FirDeclarationInspector? = null
|
private var inspector: FirDeclarationInspector? = null
|
||||||
|
|
||||||
private fun getInspector(context: CheckerContext) = inspector ?: FirDeclarationInspector(this).apply {
|
private fun getInspector(context: CheckerContext) = inspector ?: FirDeclarationInspector(this).apply {
|
||||||
|
|||||||
+3
-3
@@ -45,7 +45,7 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
|||||||
|
|
||||||
override val propertyCheckers: Set<FirPropertyChecker>
|
override val propertyCheckers: Set<FirPropertyChecker>
|
||||||
get() = setOf(
|
get() = setOf(
|
||||||
FirInapplicableLateinitChecker,
|
FirInapplicableLateinitChecker(),
|
||||||
FirDestructuringDeclarationChecker,
|
FirDestructuringDeclarationChecker,
|
||||||
FirConstPropertyChecker,
|
FirConstPropertyChecker,
|
||||||
FirPropertyAccessorChecker,
|
FirPropertyAccessorChecker,
|
||||||
@@ -72,14 +72,14 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
|||||||
FirInterfaceWithSuperclassChecker,
|
FirInterfaceWithSuperclassChecker,
|
||||||
FirLocalEntityNotAllowedChecker,
|
FirLocalEntityNotAllowedChecker,
|
||||||
FirManyCompanionObjectsChecker,
|
FirManyCompanionObjectsChecker,
|
||||||
FirMethodOfAnyImplementedInInterfaceChecker,
|
FirMethodOfAnyImplementedInInterfaceChecker(),
|
||||||
FirDataClassPrimaryConstructorChecker,
|
FirDataClassPrimaryConstructorChecker,
|
||||||
FirPrimaryConstructorSuperTypeChecker,
|
FirPrimaryConstructorSuperTypeChecker,
|
||||||
FirTypeParametersInObjectChecker,
|
FirTypeParametersInObjectChecker,
|
||||||
FirMemberFunctionsChecker,
|
FirMemberFunctionsChecker,
|
||||||
FirMemberPropertiesChecker,
|
FirMemberPropertiesChecker,
|
||||||
FirNestedClassChecker,
|
FirNestedClassChecker,
|
||||||
FirInlineClassDeclarationChecker,
|
FirInlineClassDeclarationChecker(),
|
||||||
)
|
)
|
||||||
|
|
||||||
override val constructorCheckers: Set<FirConstructorChecker>
|
override val constructorCheckers: Set<FirConstructorChecker>
|
||||||
|
|||||||
Reference in New Issue
Block a user