Add module to ExperimentalMarkerDeclarationAnnotationChecker
Will be used in a subsequent commit
This commit is contained in:
@@ -54,6 +54,7 @@ fun StorageComponentContainer.configureModule(
|
|||||||
useInstance(platformVersion)
|
useInstance(platformVersion)
|
||||||
|
|
||||||
platform.platformConfigurator.configureModuleComponents(this)
|
platform.platformConfigurator.configureModuleComponents(this)
|
||||||
|
platform.platformConfigurator.configureModuleDependentCheckers(this)
|
||||||
|
|
||||||
for (extension in StorageComponentContainerContributor.getInstances(moduleContext.project)) {
|
for (extension in StorageComponentContainerContributor.getInstances(moduleContext.project)) {
|
||||||
extension.registerModuleComponents(this, platform, moduleContext.module)
|
extension.registerModuleComponents(this, platform, moduleContext.module)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap
|
|||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.container.StorageComponentContainer
|
import org.jetbrains.kotlin.container.StorageComponentContainer
|
||||||
import org.jetbrains.kotlin.container.composeContainer
|
import org.jetbrains.kotlin.container.composeContainer
|
||||||
|
import org.jetbrains.kotlin.container.useImpl
|
||||||
import org.jetbrains.kotlin.container.useInstance
|
import org.jetbrains.kotlin.container.useInstance
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.resolve.calls.checkers.*
|
import org.jetbrains.kotlin.resolve.calls.checkers.*
|
||||||
@@ -139,9 +140,7 @@ private val DEFAULT_CLASSIFIER_USAGE_CHECKERS = listOf(
|
|||||||
DeprecatedClassifierUsageChecker(), ApiVersionClassifierUsageChecker, MissingDependencyClassChecker.ClassifierUsage,
|
DeprecatedClassifierUsageChecker(), ApiVersionClassifierUsageChecker, MissingDependencyClassChecker.ClassifierUsage,
|
||||||
OptionalExpectationUsageChecker()
|
OptionalExpectationUsageChecker()
|
||||||
)
|
)
|
||||||
private val DEFAULT_ANNOTATION_CHECKERS = listOf<AdditionalAnnotationChecker>(
|
private val DEFAULT_ANNOTATION_CHECKERS = listOf<AdditionalAnnotationChecker>()
|
||||||
ExperimentalMarkerDeclarationAnnotationChecker
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
abstract class PlatformConfigurator(
|
abstract class PlatformConfigurator(
|
||||||
@@ -181,6 +180,10 @@ abstract class PlatformConfigurator(
|
|||||||
useInstance(overridesBackwardCompatibilityHelper)
|
useInstance(overridesBackwardCompatibilityHelper)
|
||||||
useInstance(declarationReturnTypeSanitizer)
|
useInstance(declarationReturnTypeSanitizer)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun configureModuleDependentCheckers(container: StorageComponentContainer) {
|
||||||
|
container.useImpl<ExperimentalMarkerDeclarationAnnotationChecker>()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit) =
|
fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit) =
|
||||||
|
|||||||
+2
-1
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.resolve.checkers
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||||
@@ -19,7 +20,7 @@ import org.jetbrains.kotlin.resolve.constants.ConstantValue
|
|||||||
import org.jetbrains.kotlin.resolve.constants.KClassValue
|
import org.jetbrains.kotlin.resolve.constants.KClassValue
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||||
|
|
||||||
object ExperimentalMarkerDeclarationAnnotationChecker : AdditionalAnnotationChecker {
|
class ExperimentalMarkerDeclarationAnnotationChecker(private val module: ModuleDescriptor) : AdditionalAnnotationChecker {
|
||||||
private val WRONG_TARGETS_FOR_MARKER = setOf(KotlinTarget.EXPRESSION, KotlinTarget.FILE)
|
private val WRONG_TARGETS_FOR_MARKER = setOf(KotlinTarget.EXPRESSION, KotlinTarget.FILE)
|
||||||
|
|
||||||
override fun checkEntries(entries: List<KtAnnotationEntry>, actualTargets: List<KotlinTarget>, trace: BindingTrace) {
|
override fun checkEntries(entries: List<KtAnnotationEntry>, actualTargets: List<KotlinTarget>, trace: BindingTrace) {
|
||||||
|
|||||||
Reference in New Issue
Block a user