@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
2222import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirFunctionCallChecker
2323import org.jetbrains.kotlin.fir.analysis.checkers.isSubtypeOfThrowable
2424import org.jetbrains.kotlin.fir.declarations.constructors
25+ import org.jetbrains.kotlin.fir.declarations.utils.isEnumClass
2526import org.jetbrains.kotlin.fir.declarations.utils.isFinal
2627import org.jetbrains.kotlin.fir.declarations.utils.isInline
2728import org.jetbrains.kotlin.fir.declarations.utils.isInlineOrValue
@@ -297,7 +298,6 @@ class MocksCreationChecker(
297298 val cls = type
298299 .toRegularClassSymbol()
299300 ? : return listOf (type to StubError .NoAccessibleConstructors )
300- if (cls.isInlineOrValue) return emptyList()
301301 val constructors = cls
302302 .constructors(context.session)
303303 .filter { it.isAccessible() }
@@ -339,7 +339,8 @@ class MocksCreationChecker(
339339 || isSomeFunctionType(context.session)
340340 || toRegularClassSymbol()?.let { cls ->
341341 val fqName = cls.packageFqName()
342- cls.isInterface()
342+ cls.isRegularInterface()
343+ || cls.isEnumClass
343344 || cls.isInlineClass()
344345 || fqName.isSubpackageOf(Kotlin .kotlin_collections)
345346 || fqName.isSubpackageOf(Kotlin .kotlin_ranges)
@@ -349,7 +350,7 @@ class MocksCreationChecker(
349350
350351 }
351352
352- private fun FirRegularClassSymbol?.isInterface (): Boolean = this ?.classKind == ClassKind .INTERFACE && ! this .isSealed
353+ private fun FirRegularClassSymbol?.isRegularInterface (): Boolean = this ?.classKind == ClassKind .INTERFACE && ! this .isSealed
353354
354355 private fun FirRegularClassSymbol?.isInlineClass (): Boolean = this ?.isInlineOrValue == true
355356
0 commit comments