Drop deprecated -Xexperimental flag from compiler and tests

This commit is contained in:
Mikhail Glukhikh
2021-07-12 19:37:16 +03:00
committed by teamcityserver
parent cbcec8d624
commit 113d2653aa
45 changed files with 25 additions and 344 deletions
@@ -272,8 +272,7 @@ class ExperimentalUsageChecker(project: Project) : CallChecker {
languageVersionSettings: LanguageVersionSettings,
bindingContext: BindingContext
): Boolean =
annotationFqName.asString() in languageVersionSettings.getFlag(AnalysisFlags.experimental) ||
annotationFqName.asString() in languageVersionSettings.getFlag(AnalysisFlags.useExperimental) ||
annotationFqName.asString() in languageVersionSettings.getFlag(AnalysisFlags.useExperimental) ||
anyParentMatches { element ->
element.isDeclarationAnnotatedWith(annotationFqName, bindingContext) ||
element.isElementAnnotatedWithUseExperimentalOf(annotationFqName, bindingContext)
@@ -348,13 +347,10 @@ class ExperimentalUsageChecker(project: Project) : CallChecker {
return true
}
val validExperimental = languageVersionSettings.getFlag(AnalysisFlags.experimental).filter(::checkAnnotation)
val validUseExperimental = languageVersionSettings.getFlag(AnalysisFlags.useExperimental).filter { fqName ->
fqName == REQUIRES_OPT_IN_FQ_NAME.asString() || fqName == OLD_EXPERIMENTAL_FQ_NAME.asString() || checkAnnotation(fqName)
}
for (fqName in validExperimental.intersect(validUseExperimental)) {
reportError("'-Xopt-in=$fqName' has no effect because '-Xexperimental=$fqName' is used")
languageVersionSettings.getFlag(AnalysisFlags.useExperimental).forEach { fqName ->
if (fqName != REQUIRES_OPT_IN_FQ_NAME.asString() && fqName != OLD_EXPERIMENTAL_FQ_NAME.asString()) {
checkAnnotation(fqName)
}
}
}
}