diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt index d474475295a..f94944d4723 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt @@ -17,8 +17,8 @@ package org.jetbrains.kotlin.cli.common.arguments import org.jetbrains.kotlin.config.AnalysisFlag -import org.jetbrains.kotlin.config.Jsr305State import org.jetbrains.kotlin.config.JvmTarget +import org.jetbrains.kotlin.utils.Jsr305State class K2JVMCompilerArguments : CommonCompilerArguments() { companion object { diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractForeignAnnotationsTest.kt b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractForeignAnnotationsTest.kt index 9b51b1ef011..d0021cf0ec3 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractForeignAnnotationsTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractForeignAnnotationsTest.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.checkers import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.test.MockLibraryUtil +import org.jetbrains.kotlin.utils.Jsr305State import java.io.File val FOREIGN_ANNOTATIONS_SOURCES_PATH = "compiler/testData/foreignAnnotations/annotations" diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaPackageAnnotationsTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaPackageAnnotationsTest.kt index 829b9cc1964..a87f072d01d 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaPackageAnnotationsTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaPackageAnnotationsTest.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.MockLibraryUtil import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase +import org.jetbrains.kotlin.utils.Jsr305State import java.io.File class LoadJavaPackageAnnotationsTest : KtUsefulTestCase() { diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/TypeQualifierAnnotationResolverTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/TypeQualifierAnnotationResolverTest.kt index 49cd772e540..40e857f19e0 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/TypeQualifierAnnotationResolverTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/TypeQualifierAnnotationResolverTest.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.MockLibraryUtil import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase +import org.jetbrains.kotlin.utils.Jsr305State import java.io.File class TypeQualifierAnnotationResolverTest : KtUsefulTestCase() { diff --git a/compiler/util/src/org/jetbrains/kotlin/config/AnalysisFlag.kt b/compiler/util/src/org/jetbrains/kotlin/config/AnalysisFlag.kt index e1e7b428779..fe8eb63f0d5 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/AnalysisFlag.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/AnalysisFlag.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.config +import org.jetbrains.kotlin.utils.Jsr305State import kotlin.properties.ReadOnlyProperty import kotlin.reflect.KProperty @@ -54,21 +55,3 @@ class AnalysisFlag internal constructor( val loadJsr305Annotations by Flag.Jsr305StateIgnoreByDefault } } - -enum class Jsr305State( - val description: String, - val shouldReportWarning: Boolean = false, - val shouldReportError: Boolean = false -) { - IGNORE("ignore"), - WARN("warn", shouldReportWarning = true), - ENABLE("enable", shouldReportError = true), - ; - - companion object { - @JvmField - val DEFAULT: Jsr305State = IGNORE - - fun findByDescription(description: String?) = values().firstOrNull { it.description == description } - } -} diff --git a/core/util.runtime/src/org/jetbrains/kotlin/utils/Jsr305State.kt b/core/util.runtime/src/org/jetbrains/kotlin/utils/Jsr305State.kt new file mode 100644 index 00000000000..29052e69ddb --- /dev/null +++ b/core/util.runtime/src/org/jetbrains/kotlin/utils/Jsr305State.kt @@ -0,0 +1,38 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.utils + +enum class Jsr305State( + val description: String, + val shouldReportWarning: Boolean = false, + val shouldReportError: Boolean = false +) { + IGNORE("ignore"), + WARN("warn", shouldReportWarning = true), + ENABLE("enable", shouldReportError = true), + ; + + companion object { + @JvmField + val DEFAULT: Jsr305State = IGNORE + + fun findByDescription(description: String?) = values().firstOrNull { it.description == description } + } + + fun isIgnored(): Boolean = this == IGNORE + fun isWarning(): Boolean = this == WARN +} \ No newline at end of file diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/IDELanguageSettingsProvider.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/IDELanguageSettingsProvider.kt index f2ae4d1abf1..3c2aca7b52b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/IDELanguageSettingsProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/IDELanguageSettingsProvider.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo import org.jetbrains.kotlin.idea.project.getLanguageVersionSettings import org.jetbrains.kotlin.idea.project.languageVersionSettings import org.jetbrains.kotlin.idea.project.targetPlatform +import org.jetbrains.kotlin.utils.Jsr305State object IDELanguageSettingsProvider : LanguageSettingsProvider { override fun getLanguageVersionSettings(moduleInfo: ModuleInfo, project: Project): LanguageVersionSettings = diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/Jsr305HighlightingTest.kt b/idea/tests/org/jetbrains/kotlin/idea/highlighter/Jsr305HighlightingTest.kt index e81839abe6c..e747cf19c71 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/Jsr305HighlightingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/Jsr305HighlightingTest.kt @@ -21,7 +21,6 @@ import com.intellij.openapi.roots.ModifiableRootModel import com.intellij.testFramework.LightProjectDescriptor import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime -import org.jetbrains.kotlin.config.Jsr305State import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider import org.jetbrains.kotlin.config.TargetPlatformKind @@ -29,6 +28,7 @@ import org.jetbrains.kotlin.idea.stubs.createFacet import org.jetbrains.kotlin.idea.test.KotlinJdkAndLibraryProjectDescriptor import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.test.MockLibraryUtil +import org.jetbrains.kotlin.utils.Jsr305State class Jsr305HighlightingTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor {