Move reified type parameter checker to additional checkers to able turn it off by demand
This commit is contained in:
+3
-1
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.container.useImpl
|
|||||||
import org.jetbrains.kotlin.container.useInstance
|
import org.jetbrains.kotlin.container.useInstance
|
||||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
||||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||||
|
import org.jetbrains.kotlin.resolve.calls.checkers.ReifiedTypeParameterSubstitutionChecker
|
||||||
import org.jetbrains.kotlin.resolve.checkers.PlatformImplDeclarationChecker
|
import org.jetbrains.kotlin.resolve.checkers.PlatformImplDeclarationChecker
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmOverloadFilter
|
import org.jetbrains.kotlin.resolve.jvm.JvmOverloadFilter
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmTypeSpecificityComparator
|
import org.jetbrains.kotlin.resolve.jvm.JvmTypeSpecificityComparator
|
||||||
@@ -56,7 +57,8 @@ object JvmPlatformConfigurator : PlatformConfigurator(
|
|||||||
UnsupportedSyntheticCallableReferenceChecker(),
|
UnsupportedSyntheticCallableReferenceChecker(),
|
||||||
SuperCallWithDefaultArgumentsChecker(),
|
SuperCallWithDefaultArgumentsChecker(),
|
||||||
MissingDependencyClassChecker(),
|
MissingDependencyClassChecker(),
|
||||||
ProtectedSyntheticExtensionCallChecker
|
ProtectedSyntheticExtensionCallChecker,
|
||||||
|
ReifiedTypeParameterSubstitutionChecker()
|
||||||
),
|
),
|
||||||
|
|
||||||
additionalTypeCheckers = listOf(
|
additionalTypeCheckers = listOf(
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ private val DEFAULT_DECLARATION_CHECKERS = listOf(
|
|||||||
)
|
)
|
||||||
|
|
||||||
private val DEFAULT_CALL_CHECKERS = listOf(
|
private val DEFAULT_CALL_CHECKERS = listOf(
|
||||||
CapturingInClosureChecker(), InlineCheckerWrapper(), ReifiedTypeParameterSubstitutionChecker(), SafeCallChecker(),
|
CapturingInClosureChecker(), InlineCheckerWrapper(), SafeCallChecker(),
|
||||||
DeprecatedCallChecker, CallReturnsArrayOfNothingChecker(), InfixCallChecker(), OperatorCallChecker(),
|
DeprecatedCallChecker, CallReturnsArrayOfNothingChecker(), InfixCallChecker(), OperatorCallChecker(),
|
||||||
ConstructorHeaderCallChecker, ProtectedConstructorCallChecker, ApiVersionCallChecker,
|
ConstructorHeaderCallChecker, ProtectedConstructorCallChecker, ApiVersionCallChecker,
|
||||||
CoroutineSuspendCallChecker, BuilderFunctionsCallChecker, DslScopeViolationCallChecker
|
CoroutineSuspendCallChecker, BuilderFunctionsCallChecker, DslScopeViolationCallChecker
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ inline fun<reified T> foo(block: () -> T): String = block().toString()
|
|||||||
inline fun <reified T: Any> javaClass(): Class<T> = T::class.java
|
inline fun <reified T: Any> javaClass(): Class<T> = T::class.java
|
||||||
|
|
||||||
fun box() {
|
fun box() {
|
||||||
val a = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION, UNSUPPORTED!>arrayOf<!>(null!!)
|
val a = <!UNSUPPORTED, REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>arrayOf<!>(null!!)
|
||||||
val b = <!UNSUPPORTED!>Array<!><<!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>Nothing?<!>>(5) { null!! }
|
val b = <!UNSUPPORTED!>Array<!><<!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>Nothing?<!>>(5) { null!! }
|
||||||
val c = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>foo<!>() { null!! }
|
val c = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>foo<!>() { null!! }
|
||||||
val d = foo<Any> { null!! }
|
val d = foo<Any> { null!! }
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
|||||||
import org.jetbrains.kotlin.resolve.IdentifierChecker
|
import org.jetbrains.kotlin.resolve.IdentifierChecker
|
||||||
import org.jetbrains.kotlin.resolve.OverloadFilter
|
import org.jetbrains.kotlin.resolve.OverloadFilter
|
||||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||||
|
import org.jetbrains.kotlin.resolve.calls.checkers.ReifiedTypeParameterSubstitutionChecker
|
||||||
import org.jetbrains.kotlin.resolve.checkers.PlatformImplDeclarationChecker
|
import org.jetbrains.kotlin.resolve.checkers.PlatformImplDeclarationChecker
|
||||||
import org.jetbrains.kotlin.resolve.scopes.SyntheticConstructorsProvider
|
import org.jetbrains.kotlin.resolve.scopes.SyntheticConstructorsProvider
|
||||||
import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes
|
import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes
|
||||||
@@ -36,7 +37,7 @@ object JsPlatformConfigurator : PlatformConfigurator(
|
|||||||
JsNameChecker,
|
JsNameChecker,
|
||||||
PlatformImplDeclarationChecker()
|
PlatformImplDeclarationChecker()
|
||||||
),
|
),
|
||||||
additionalCallCheckers = listOf(),
|
additionalCallCheckers = listOf(ReifiedTypeParameterSubstitutionChecker()),
|
||||||
additionalTypeCheckers = listOf(),
|
additionalTypeCheckers = listOf(),
|
||||||
additionalClassifierUsageCheckers = listOf(),
|
additionalClassifierUsageCheckers = listOf(),
|
||||||
additionalAnnotationCheckers = listOf(),
|
additionalAnnotationCheckers = listOf(),
|
||||||
|
|||||||
Reference in New Issue
Block a user