diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java index 67673bacbb6..93d53ca06bf 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java @@ -140,11 +140,6 @@ public interface Errors { DiagnosticFactory0 INAPPLICABLE_PARAM_TARGET = DiagnosticFactory0.create(ERROR); DiagnosticFactory1 REDUNDANT_ANNOTATION_TARGET = DiagnosticFactory1.create(WARNING); - DiagnosticFactory0 DEPRECATED_UNESCAPED_ANNOTATION = DiagnosticFactory0.create(WARNING); - DiagnosticFactory0 DEPRECATED_ESCAPED_MODIFIER = DiagnosticFactory0.create(WARNING); - DiagnosticFactory1 DEPRECATED_ANNOTATION_THAT_BECOMES_MODIFIER = DiagnosticFactory1.create(WARNING); - DiagnosticFactory0 DEPRECATED_ANNOTATION_USE = DiagnosticFactory0.create(WARNING); - // Classes and traits DiagnosticFactory0 PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE = @@ -223,7 +218,6 @@ public interface Errors { DiagnosticFactory1 DEPRECATED_SYMBOL = DiagnosticFactory1.create(WARNING); DiagnosticFactory2 DEPRECATED_SYMBOL_WITH_MESSAGE = DiagnosticFactory2.create(WARNING); - DiagnosticFactory1 DEPRECATED_DECAPITALIZED_ANNOTATION = DiagnosticFactory1.create(WARNING); // Objects diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java index b6c9466180c..708d89728bf 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java @@ -132,11 +132,6 @@ public class DefaultErrorMessages { MAP.put(INAPPLICABLE_PARAM_TARGET, "''@param:'' annotations could be applied only to primary constructor parameters"); MAP.put(REDUNDANT_ANNOTATION_TARGET, "Redundant annotation target ''{0}''", STRING); - MAP.put(DEPRECATED_UNESCAPED_ANNOTATION, "Annotations without '@' are deprecated now"); - MAP.put(DEPRECATED_ESCAPED_MODIFIER, "Modifiers with '@' are deprecated now"); - MAP.put(DEPRECATED_ANNOTATION_THAT_BECOMES_MODIFIER, "This annotation will become a modifier soon. Use ''{0}'' modifier instead", STRING); - MAP.put(DEPRECATED_ANNOTATION_USE, "This annotation use is deprecated"); - MAP.put(REDUNDANT_MODIFIER, "Modifier ''{0}'' is redundant because ''{1}'' is present", TO_STRING, TO_STRING); MAP.put(ABSTRACT_MODIFIER_IN_TRAIT, "Modifier ''abstract'' is redundant in interface"); MAP.put(REDUNDANT_MODIFIER_IN_GETTER, "Visibility modifiers are redundant in getter"); @@ -274,7 +269,6 @@ public class DefaultErrorMessages { MAP.put(DEPRECATED_SYMBOL, "''{0}'' is deprecated.", DEPRECATION_RENDERER); MAP.put(DEPRECATED_SYMBOL_WITH_MESSAGE, "''{0}'' is deprecated. {1}", DEPRECATION_RENDERER, STRING); - MAP.put(DEPRECATED_DECAPITALIZED_ANNOTATION, "Decapitalized annotations are deprecated. Use ''{0}'' instead", DEPRECATION_RENDERER); MAP.put(LOCAL_OBJECT_NOT_ALLOWED, "Named object ''{0}'' is a singleton and cannot be local. Try to use anonymous object instead", NAME); MAP.put(ENUM_CLASS_CONSTRUCTOR_CALL, "Enum types cannot be instantiated"); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetAnnotationEntry.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetAnnotationEntry.java index 6ce286e75f1..ebba0e692dd 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetAnnotationEntry.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetAnnotationEntry.java @@ -108,12 +108,6 @@ public class JetAnnotationEntry extends JetElementImplStub - val enumValue = (arg as? EnumValue) ?: return false - return enumValue.value.name.asString() == InlineOption.LOCAL_CONTINUE_AND_BREAK.name() - } - } - return false - } - private fun checkAnnotationEntry(entry: JetAnnotationEntry, actualTargets: TargetList, trace: BindingTrace) { val applicableTargets = applicableTargetSet(entry, trace) val useSiteTarget = entry.useSiteTarget?.getAnnotationUseSiteTarget() diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt index c5957c105f7..207014a5b3f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt @@ -204,9 +204,6 @@ public object ModifierCheckerCore { else if (!checkParent(trace, second, parentDescriptor)) { incorrectNodes += second } - else if ((second.elementType is JetModifierKeywordToken) && second.psi.textContains('@')) { - trace.report(Errors.DEPRECATED_ESCAPED_MODIFIER.on(second.psi)) - } } } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/validation/DeprecatedSymbolValidator.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/validation/DeprecatedSymbolValidator.kt index ee9971fd2df..ace49dcd77d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/validation/DeprecatedSymbolValidator.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/validation/DeprecatedSymbolValidator.kt @@ -33,10 +33,6 @@ import org.jetbrains.kotlin.resolve.annotations.argumentValue import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget.PROPERTY_GETTER import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget.PROPERTY_SETTER import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe -import org.jetbrains.kotlin.resolve.scopes.DECAPITALIZED_DEPRECATED_ANNOTATIONS -import org.jetbrains.kotlin.resolve.scopes.DECAPITALIZED_SHORT_NAMES public class DeprecatedSymbolValidator : SymbolUsageValidator { private val JAVA_DEPRECATED = FqName(java.lang.Deprecated::class.java.name) @@ -50,9 +46,6 @@ public class DeprecatedSymbolValidator : SymbolUsageValidator { else if (targetDescriptor is PropertyDescriptor) { propertyGetterWorkaround(targetDescriptor, trace, element) } - else { - checkDecapitalizedAnnotation(element, targetDescriptor, trace) - } } override fun validateTypeUsage(targetDescriptor: ClassifierDescriptor, trace: BindingTrace, element: PsiElement) { @@ -71,32 +64,6 @@ public class DeprecatedSymbolValidator : SymbolUsageValidator { val (annotation, target) = deprecated trace.report(createDeprecationDiagnostic(element, target, annotation)) } - else { - checkDecapitalizedAnnotation(element, targetDescriptor, trace) - } - } - - private fun checkDecapitalizedAnnotation(element: PsiElement, targetDescriptor: DeclarationDescriptor, trace: BindingTrace) { - val effectiveTargetDescriptor = when (targetDescriptor) { - is ConstructorDescriptor -> targetDescriptor.containingDeclaration - else -> targetDescriptor - } as? ClassDescriptor ?: return - - val unsafeFqName = effectiveTargetDescriptor.fqNameUnsafe - if (!unsafeFqName.isSafe) return - - val simpleName = unwrapSimpleName(element) ?: return - if (unsafeFqName.toSafe() in DECAPITALIZED_DEPRECATED_ANNOTATIONS && simpleName.getReferencedName() in DECAPITALIZED_SHORT_NAMES) { - trace.report(Errors.DEPRECATED_DECAPITALIZED_ANNOTATION.on(simpleName, effectiveTargetDescriptor)) - } - } - - private fun unwrapSimpleName(element: PsiElement): JetSimpleNameExpression? { - return when (element) { - is JetConstructorCalleeExpression -> (element.typeReference?.typeElement as? JetUserType)?.referenceExpression - is JetSimpleNameExpression -> element - else -> null - } } private fun DeclarationDescriptor.getDeprecatedAnnotation(): Pair? { diff --git a/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.kt b/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.kt deleted file mode 100644 index 066253c4b27..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.kt +++ /dev/null @@ -1,32 +0,0 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -NOT_YET_SUPPORTED_IN_INLINE -import kotlin.external as myNative -@annotation @data @public class Ann(val arg: Int = 1) - - -@inline @private fun bar(block: () -> Int) = block() - -@data class Q(val x: Int, val y: Int) - -fun bar2(): Array = null!! - -@open class A @private constructor(@private val prop: Int) { - @private val x = 1 - @inline fun foo(@noinline x: Int) { - @data class Local - - @inline fun localFun() {} - } - - @private object O1 {} - @public @companion object O2 {} -} - -kotlin.inline fun baz() { } -kotlin.data class Data - -myNative fun nativeFun(): Int - -@tailRecursive fun tailFun(): Int = tailFun() - -inline fun inlineFun(@inlineOptions(InlineOption.ONLY_LOCAL_RETURN) block: () -> Int) {} -inline fun inlineFun2(@inlineOptions(InlineOption.LOCAL_CONTINUE_AND_BREAK) block: () -> Int) {} diff --git a/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.txt b/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.txt deleted file mode 100644 index ca5bf0efd2e..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.txt +++ /dev/null @@ -1,63 +0,0 @@ -package - -kotlin.inline() private fun bar(/*0*/ block: () -> kotlin.Int): kotlin.Int -public fun bar2(): kotlin.Array -kotlin.inline() public fun baz(): kotlin.Unit -kotlin.inline() public fun inlineFun(/*0*/ kotlin.inlineOptions(value = {InlineOption.ONLY_LOCAL_RETURN}) block: () -> kotlin.Int): kotlin.Unit -kotlin.inline() public fun inlineFun2(/*0*/ kotlin.inlineOptions(value = {InlineOption.LOCAL_CONTINUE_AND_BREAK}) block: () -> kotlin.Int): kotlin.Unit -kotlin.external() public fun nativeFun(): kotlin.Int -kotlin.tailRecursive() public fun tailFun(): kotlin.Int - -public open class A { - private constructor A(/*0*/ prop: kotlin.Int) - private final val prop: kotlin.Int - private final val x: kotlin.Int = 1 - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.inline() public final fun foo(/*0*/ kotlin.noinline() x: kotlin.Int): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - - private object O1 { - private constructor O1() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - public companion object O2 { - private constructor O2() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } -} - -kotlin.annotation.annotation() kotlin.data() public final class Ann : kotlin.Annotation { - public constructor Ann(/*0*/ arg: kotlin.Int = ...) - public final val arg: kotlin.Int - public final /*synthesized*/ fun component1(): kotlin.Int - public final /*synthesized*/ fun copy(/*0*/ arg: kotlin.Int = ...): Ann - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} - -kotlin.data() public final class Data { - public constructor Data() - public final /*synthesized*/ fun copy(): Data - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} - -kotlin.data() public final class Q { - public constructor Q(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) - public final val x: kotlin.Int - public final val y: kotlin.Int - public final /*synthesized*/ fun component1(): kotlin.Int - public final /*synthesized*/ fun component2(): kotlin.Int - public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.Int = ...): Q - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.kt b/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.kt deleted file mode 100644 index 601b0baa69d..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.kt +++ /dev/null @@ -1,12 +0,0 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -annotation class Ann(val arg: Int = 1) - -Ann class A Ann constructor(Ann val prop: Int) { - Ann val x = 1 - Ann fun foo(Ann x: Int) {} - - Ann object O1 {} - Ann companion object O2 {} -} - -Ann object O3 {} diff --git a/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.txt b/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.txt deleted file mode 100644 index a68e2ff77e4..00000000000 --- a/compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.txt +++ /dev/null @@ -1,40 +0,0 @@ -package - -Ann() public final class A { - Ann() public constructor A(/*0*/ Ann() prop: kotlin.Int) - public final val prop: kotlin.Int - Ann() public final val x: kotlin.Int = 1 - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - Ann() public final fun foo(/*0*/ Ann() x: kotlin.Int): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - - Ann() public object O1 { - private constructor O1() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - Ann() public companion object O2 { - private constructor O2() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } -} - -kotlin.annotation.annotation() public final class Ann : kotlin.Annotation { - public constructor Ann(/*0*/ arg: kotlin.Int = ...) - public final val arg: kotlin.Int - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} - -Ann() public object O3 { - private constructor O3() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.kt deleted file mode 100644 index a076a659c4f..00000000000 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.kt +++ /dev/null @@ -1,23 +0,0 @@ -// !DIAGNOSTICS: -DEPRECATED_UNESCAPED_ANNOTATION -UNUSED_PARAMETER -import kotlin.Extension as extension -import kotlin.jvm.strictfp as sfp -class A { - @deprecated("") fun foo() {} - companion object { - @jvmStatic fun bar() {} - } - - throws(java.lang.RuntimeException::class) - synchronized fun baz() { - @suppress("UNCHECKED_CAST") - (1 as T) - } - - kotlin.jvm.jvmName("y") - jvmOverloads() - fun x(x: Int = 1) {} -} - -sfp fun bar( - x: deprecated -): @extension String.() -> Int = null!! diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.txt deleted file mode 100644 index 3c49fba5487..00000000000 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.txt +++ /dev/null @@ -1,21 +0,0 @@ -package - -kotlin.jvm.Strictfp() public fun bar(/*0*/ x: kotlin.Deprecated): @[kotlin.Extension()] kotlin.String.() -> kotlin.Int - -public final class A { - public constructor A() - kotlin.throws(exceptionClasses = {java.lang.RuntimeException::class}) kotlin.jvm.Synchronized() public final fun baz(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.Deprecated(value = "") public final fun foo(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - kotlin.jvm.JvmName(name = "y") kotlin.jvm.JvmOverloads() public final fun x(/*0*/ x: kotlin.Int = ...): kotlin.Unit - - public companion object Companion { - private constructor Companion() - kotlin.jvm.JvmStatic() public final fun bar(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } -} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index 11f1aaa748f..f4ed8d805bc 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -1002,27 +1002,6 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { } } - @TestMetadata("compiler/testData/diagnostics/tests/annotations/migration") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Migration extends AbstractJetDiagnosticsTest { - public void testAllFilesPresentInMigration() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/annotations/migration"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("escapedModifiers.kt") - public void testEscapedModifiers() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/annotations/migration/escapedModifiers.kt"); - doTest(fileName); - } - - @TestMetadata("unescapedAnnotation.kt") - public void testUnescapedAnnotation() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/annotations/migration/unescapedAnnotation.kt"); - doTest(fileName); - } - } - @TestMetadata("compiler/testData/diagnostics/tests/annotations/options") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestWithStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestWithStdLibGenerated.java index 6d75df2c554..838d0ad17c8 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestWithStdLibGenerated.java @@ -91,12 +91,6 @@ public class JetDiagnosticsTestWithStdLibGenerated extends AbstractJetDiagnostic doTest(fileName); } - @TestMetadata("decapitalized.kt") - public void testDecapitalized() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/decapitalized.kt"); - doTest(fileName); - } - @TestMetadata("defaultValueMustBeConstant.kt") public void testDefaultValueMustBeConstant() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/defaultValueMustBeConstant.kt"); diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/annotationUtil.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/annotationUtil.kt index 69f4ce92383..8cb0c5da8a7 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/annotationUtil.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/annotationUtil.kt @@ -18,20 +18,7 @@ package org.jetbrains.kotlin.descriptors.annotations import org.jetbrains.kotlin.name.FqName -val ADDITIONAL_ANNOTATIONS_MAP: Map = mapOf( - FqName("kotlin.tailRecursive") to "tailrec", - FqName("kotlin.jvm.native") to "external", - FqName("kotlin.inlineOptions") to "crossinline" -) - // Please synchronize this set with JetTokens.ANNOTATION_MODIFIERS_KEYWORDS_ARRAY public val ANNOTATION_MODIFIERS_FQ_NAMES: Set = arrayOf("data", "inline", "noinline", "tailrec", "external", "annotation.annotation", "crossinline").map { FqName("kotlin.$it") }.toSet() -public val ANNOTATIONS_SHOULD_BE_REPLACED_WITH_MODIFIERS_FQ_NAMES: Set = - ANNOTATION_MODIFIERS_FQ_NAMES + ADDITIONAL_ANNOTATIONS_MAP.keySet() - - -public val ANNOTATION_MODIFIERS_MAP: Map = - ANNOTATION_MODIFIERS_FQ_NAMES.map { it to it.shortName().asString() }.toMap() + - ADDITIONAL_ANNOTATIONS_MAP diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt index 7471e573bb6..43c6332c626 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt @@ -153,8 +153,7 @@ public open class JetPsiChecker : Annotator, HighlightRangeExtension { when (factory) { Errors.DEPRECATED_SYMBOL, Errors.DEPRECATED_SYMBOL_WITH_MESSAGE, - Errors.DEPRECATED_TRAIT_KEYWORD, - Errors.DEPRECATED_DECAPITALIZED_ANNOTATION + Errors.DEPRECATED_TRAIT_KEYWORD -> annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES) } diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt index eec54b71eb3..21489564592 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinCleanupInspection.kt @@ -100,10 +100,6 @@ public class KotlinCleanupInspection(): LocalInspectionTool(), CleanupLocalInspe Errors.USELESS_ELVIS, ErrorsJvm.POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION, Errors.DEPRECATED_SYMBOL_WITH_MESSAGE, - Errors.DEPRECATED_ANNOTATION_THAT_BECOMES_MODIFIER, - Errors.DEPRECATED_DECAPITALIZED_ANNOTATION, - Errors.DEPRECATED_ESCAPED_MODIFIER, - Errors.DEPRECATED_UNESCAPED_ANNOTATION, Errors.ACCESS_TO_PRIVATE_TOP_LEVEL_FROM_ANOTHER_FILE ) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt index 6485ea55b9b..38a192c52d6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt @@ -325,11 +325,5 @@ public class QuickFixRegistrar : QuickFixContributor { UPPER_BOUND_VIOLATED.registerFactory(AddGenericUpperBoundFix.Factory) TYPE_INFERENCE_UPPER_BOUND_VIOLATED.registerFactory(AddGenericUpperBoundFix.Factory) - - DEPRECATED_UNESCAPED_ANNOTATION.registerFactory(UnescapedAnnotationFix.Factory) - DEPRECATED_ESCAPED_MODIFIER.registerFactory(EscapedModifierFix.Factory) - DEPRECATED_ANNOTATION_THAT_BECOMES_MODIFIER.registerFactory(ReplaceAnnotationWithModifierFix.Factory) - DEPRECATED_DECAPITALIZED_ANNOTATION.registerFactory(DecapitalizedAnnotationFix.Factory) - DEPRECATED_ANNOTATION_USE.registerFactory(RemoveAnnotationFix.Factory) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/DecapitalizedAnnotationFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/DecapitalizedAnnotationFix.kt deleted file mode 100644 index 03bd87ea151..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/DecapitalizedAnnotationFix.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2010-2015 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.idea.quickfix.migration - -import com.intellij.codeInsight.intention.IntentionAction -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.idea.quickfix.CleanupFix -import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction -import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory -import org.jetbrains.kotlin.idea.quickfix.replaceWith.ClassUsageReplacementStrategy -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe - -public class DecapitalizedAnnotationFix( - element: JetSimpleNameExpression, - private val classDescriptor: ClassDescriptor, - private val replacer: () -> JetElement -) : JetIntentionAction(element), CleanupFix { - override fun getFamilyName() = "Replace deprecated decapitalized annotations" - override fun getText() = "Replace with '${classDescriptor.fqNameSafe.asString()}'" - - override fun invoke(project: Project, editor: Editor?, file: JetFile) { - replacer() - } - - companion object Factory : JetSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic): IntentionAction? { - val diagnosticWithParameters = Errors.DEPRECATED_DECAPITALIZED_ANNOTATION.cast(diagnostic) - val classDescriptor = diagnosticWithParameters.a - val element = diagnosticWithParameters.psiElement - - val replacement = JetPsiFactory(element).createType(classDescriptor.fqNameSafe.asString()).typeElement as JetUserType - val replacer = ClassUsageReplacementStrategy(replacement).createReplacer(element) ?: return null - - return DecapitalizedAnnotationFix(element, classDescriptor, replacer) - } - } -} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/EscapedModifierFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/EscapedModifierFix.kt deleted file mode 100644 index fbf2ef02f76..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/EscapedModifierFix.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2010-2015 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.idea.quickfix.migration - -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.quickfix.CleanupFix -import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction -import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory -import org.jetbrains.kotlin.lexer.JetModifierKeywordToken -import org.jetbrains.kotlin.psi.JetFile -import org.jetbrains.kotlin.psi.JetPsiFactory - -public class EscapedModifierFix(element: PsiElement) : JetIntentionAction(element), CleanupFix { - override fun getText() = "Remove '@'" - override fun getFamilyName() = text - - override fun invoke(project: Project, editor: Editor?, file: JetFile) { - val modifier = element.node.elementType as JetModifierKeywordToken - element.replace(JetPsiFactory(project).createModifier(modifier)) - } - - companion object Factory : JetSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic) = EscapedModifierFix(diagnostic.psiElement) - } -} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/RemoveAnnotationFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/RemoveAnnotationFix.kt deleted file mode 100644 index d31071cea2f..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/RemoveAnnotationFix.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2010-2015 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.idea.quickfix.migration - -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction -import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory -import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.createIntentionForFirstParentOfType -import org.jetbrains.kotlin.psi.JetAnnotationEntry -import org.jetbrains.kotlin.psi.JetFile - -public class RemoveAnnotationFix(element: JetAnnotationEntry) : JetIntentionAction(element) { - override fun getFamilyName(): String = getText() - override fun getText(): String = "Remove annotation" - - override fun invoke(project: Project, editor: Editor?, file: JetFile) { - element.delete() - } - - object Factory : JetSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic) = diagnostic.createIntentionForFirstParentOfType(::RemoveAnnotationFix) - } -} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/ReplaceAnnotationWithModifierFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/ReplaceAnnotationWithModifierFix.kt deleted file mode 100644 index 4179093beda..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/ReplaceAnnotationWithModifierFix.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2010-2015 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.idea.quickfix.migration - -import com.intellij.codeInsight.intention.IntentionAction -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.idea.core.CommentSaver -import org.jetbrains.kotlin.idea.quickfix.CleanupFix -import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction -import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory -import org.jetbrains.kotlin.lexer.JetModifierKeywordToken -import org.jetbrains.kotlin.lexer.JetTokens -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType - -public class ReplaceAnnotationWithModifierFix( - element: JetAnnotationEntry, - private val replacement: JetModifierKeywordToken -) : JetIntentionAction(element), CleanupFix { - override fun getFamilyName() = "Replace with modifier" - override fun getText() = "Replace with '${replacement.value}'" - - override fun invoke(project: Project, editor: Editor?, file: JetFile) { - val psiFactory = JetPsiFactory(project) - val modifier = psiFactory.createModifier(replacement) - - val parent = element.parent - if (parent !is JetAnnotation) { - val commentSaver = CommentSaver(element, saveLineBreaks = true) - val result = element.replace(modifier) - commentSaver.restore(result) - } - else { - // within annotation list - val modifierListOwner = (parent.parent?.parent as? JetModifierListOwner) ?: return - // insert modifier - modifierListOwner.addModifier(replacement) - - parent.removeEntry(element) - } - } - - companion object Factory : JetSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic): IntentionAction? { - val annotationEntry = diagnostic.psiElement.getNonStrictParentOfType() ?: return null - val modifierValue = Errors.DEPRECATED_ANNOTATION_THAT_BECOMES_MODIFIER.cast(diagnostic).a - - return ReplaceAnnotationWithModifierFix( - annotationEntry, JetTokens.ANNOTATION_MODIFIERS_KEYWORDS_ARRAY.first() { it.value == modifierValue } - ) - } - } -} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/UnescapedAnnotationFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/UnescapedAnnotationFix.kt deleted file mode 100644 index c792c05e1f4..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/UnescapedAnnotationFix.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2010-2015 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.idea.quickfix.migration - -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.quickfix.CleanupFix -import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction -import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory -import org.jetbrains.kotlin.psi.JetAnnotationEntry -import org.jetbrains.kotlin.psi.JetFile -import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.* - -public class UnescapedAnnotationFix(element: JetAnnotationEntry) : JetIntentionAction(element), CleanupFix { - override fun getText() = "Add '@' before annotation" - override fun getFamilyName() = text - - override fun invoke(project: Project, editor: Editor?, file: JetFile) = element.addAtSymbol() - - companion object Factory : JetSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic) = diagnostic.createIntentionForFirstParentOfType(::UnescapedAnnotationFix) - } -} diff --git a/idea/testData/inspections/cleanup/cleanup.kt b/idea/testData/inspections/cleanup/cleanup.kt index d59bd1fb92f..cdbbc253487 100644 --- a/idea/testData/inspections/cleanup/cleanup.kt +++ b/idea/testData/inspections/cleanup/cleanup.kt @@ -41,23 +41,4 @@ fun unnecessaryCast(x: String) = x as String fun unnecessaryElvis(x: String) = x ?: "" -JavaAnn(1, "abc") class MyClass - -annotation class Ann() - -Ann class A1 - -Ann() class A2 - -kotlin.data class A3 - -@inline @private fun baz() { - @suppress("UNCHECKED_CAST") - (1 as T) - - @data class Local -} - -deprecated("123", ReplaceWith("34")) class Obsolete - -native fun nativeFun(): Int +@JavaAnn(1, "abc") class MyClass diff --git a/idea/testData/inspections/cleanup/cleanup.kt.after b/idea/testData/inspections/cleanup/cleanup.kt.after index dc24beaa44f..f9b8ba2f4ca 100644 --- a/idea/testData/inspections/cleanup/cleanup.kt.after +++ b/idea/testData/inspections/cleanup/cleanup.kt.after @@ -41,22 +41,3 @@ fun unnecessaryCast(x: String) = x fun unnecessaryElvis(x: String) = x @JavaAnn(1, arg1 = "abc") class MyClass - -annotation class Ann() - -@Ann class A1 - -@Ann() class A2 - -data class A3 - -inline private fun baz() { - @Suppress("UNCHECKED_CAST") - (1 as T) - - data class Local -} - -@Deprecated("123", ReplaceWith("34")) class Obsolete - -external fun nativeFun(): Int diff --git a/idea/testData/quickfix/migration/annotationModifier.kt b/idea/testData/quickfix/migration/annotationModifier.kt deleted file mode 100644 index d9bd4cbd2fa..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier.kt +++ /dev/null @@ -1,5 +0,0 @@ -// "Replace with 'data'" "true" - -@data -/* abc*/(1) -class A diff --git a/idea/testData/quickfix/migration/annotationModifier.kt.after b/idea/testData/quickfix/migration/annotationModifier.kt.after deleted file mode 100644 index adbc7c3e97c..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier.kt.after +++ /dev/null @@ -1,4 +0,0 @@ -// "Replace with 'data'" "true" - -data/* abc*/ -class A diff --git a/idea/testData/quickfix/migration/annotationModifier2.kt b/idea/testData/quickfix/migration/annotationModifier2.kt deleted file mode 100644 index 7b045264e6f..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier2.kt +++ /dev/null @@ -1,5 +0,0 @@ -// "Replace with 'inline'" "true" - -annotation class Ann(val x: Int) - -kotlin.inline fun foo() {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/annotationModifier2.kt.after b/idea/testData/quickfix/migration/annotationModifier2.kt.after deleted file mode 100644 index 0d23c036724..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier2.kt.after +++ /dev/null @@ -1,5 +0,0 @@ -// "Replace with 'inline'" "true" - -annotation class Ann(val x: Int) - -inline fun foo() {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/annotationModifier3.kt b/idea/testData/quickfix/migration/annotationModifier3.kt deleted file mode 100644 index 04e18fadacc..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier3.kt +++ /dev/null @@ -1,6 +0,0 @@ -// "Replace with 'data'" "true" - -annotation class Ann -@[data Ann] -/* abc*/ -class A diff --git a/idea/testData/quickfix/migration/annotationModifier3.kt.after b/idea/testData/quickfix/migration/annotationModifier3.kt.after deleted file mode 100644 index 509e5a7b4f1..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier3.kt.after +++ /dev/null @@ -1,6 +0,0 @@ -// "Replace with 'data'" "true" - -annotation class Ann -@[Ann] -data /* abc*/ -class A diff --git a/idea/testData/quickfix/migration/annotationModifier4.kt b/idea/testData/quickfix/migration/annotationModifier4.kt deleted file mode 100644 index e81e6aafde5..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier4.kt +++ /dev/null @@ -1,5 +0,0 @@ -// "Replace with 'data'" "true" - -@[data] -/* abc*/ -class A diff --git a/idea/testData/quickfix/migration/annotationModifier4.kt.after b/idea/testData/quickfix/migration/annotationModifier4.kt.after deleted file mode 100644 index b57b27fdf01..00000000000 --- a/idea/testData/quickfix/migration/annotationModifier4.kt.after +++ /dev/null @@ -1,4 +0,0 @@ -// "Replace with 'data'" "true" - -data /* abc*/ -class A diff --git a/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt b/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt deleted file mode 100644 index 94ac8fac02d..00000000000 --- a/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'kotlin.Deprecated'" "true" -@deprecated("") -class A diff --git a/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt.after b/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt.after deleted file mode 100644 index 329c26e5f25..00000000000 --- a/idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'kotlin.Deprecated'" "true" -@Deprecated("") -class A diff --git a/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt b/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt deleted file mode 100644 index 32257c2c0fe..00000000000 --- a/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'kotlin.Deprecated'" "true" - -fun foo(x: kotlin.deprecated) {} diff --git a/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt.after b/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt.after deleted file mode 100644 index 996fabe91e8..00000000000 --- a/idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'kotlin.Deprecated'" "true" - -fun foo(x: Deprecated) {} diff --git a/idea/testData/quickfix/migration/escapedModifier.kt b/idea/testData/quickfix/migration/escapedModifier.kt deleted file mode 100644 index a70760d2ac2..00000000000 --- a/idea/testData/quickfix/migration/escapedModifier.kt +++ /dev/null @@ -1,5 +0,0 @@ -// "Remove '@'" "true" - -@private -/* abc*/ -class A diff --git a/idea/testData/quickfix/migration/escapedModifier.kt.after b/idea/testData/quickfix/migration/escapedModifier.kt.after deleted file mode 100644 index d5aab64a446..00000000000 --- a/idea/testData/quickfix/migration/escapedModifier.kt.after +++ /dev/null @@ -1,5 +0,0 @@ -// "Remove '@'" "true" - -private -/* abc*/ -class A diff --git a/idea/testData/quickfix/migration/inlineOptions.kt b/idea/testData/quickfix/migration/inlineOptions.kt deleted file mode 100644 index 0860d62eeca..00000000000 --- a/idea/testData/quickfix/migration/inlineOptions.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'crossinline'" "true" - -inline fun inlineFun(@inlineOptions(InlineOption.ONLY_LOCAL_RETURN) block: () -> Int) {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/inlineOptions.kt.after b/idea/testData/quickfix/migration/inlineOptions.kt.after deleted file mode 100644 index a7179b65093..00000000000 --- a/idea/testData/quickfix/migration/inlineOptions.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Replace with 'crossinline'" "true" - -inline fun inlineFun(crossinline block: () -> Int) {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt b/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt deleted file mode 100644 index f66072fe530..00000000000 --- a/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Remove annotation" "true" - -inline fun inlineFun(@inlineOptions(InlineOption.LOCAL_CONTINUE_AND_BREAK) block: () -> Int) {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt.after b/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt.after deleted file mode 100644 index 1ee8c0603f3..00000000000 --- a/idea/testData/quickfix/migration/inlineOptionsWithBreak.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Remove annotation" "true" - -inline fun inlineFun(block: () -> Int) {} \ No newline at end of file diff --git a/idea/testData/quickfix/migration/tailRec.kt b/idea/testData/quickfix/migration/tailRec.kt deleted file mode 100644 index ef54eb78888..00000000000 --- a/idea/testData/quickfix/migration/tailRec.kt +++ /dev/null @@ -1,8 +0,0 @@ -// "Replace with 'tailrec'" "true" - -@tailRecursive -fun foo() { - if (1 > 2) { - foo() - } -} diff --git a/idea/testData/quickfix/migration/tailRec.kt.after b/idea/testData/quickfix/migration/tailRec.kt.after deleted file mode 100644 index c67f0ee7325..00000000000 --- a/idea/testData/quickfix/migration/tailRec.kt.after +++ /dev/null @@ -1,8 +0,0 @@ -// "Replace with 'tailrec'" "true" - -tailrec -fun foo() { - if (1 > 2) { - foo() - } -} diff --git a/idea/testData/quickfix/migration/unescapedAnnotation.kt b/idea/testData/quickfix/migration/unescapedAnnotation.kt deleted file mode 100644 index 332bf9ed2a5..00000000000 --- a/idea/testData/quickfix/migration/unescapedAnnotation.kt +++ /dev/null @@ -1,7 +0,0 @@ -// "Add '@' before annotation" "true" - -annotation class Ann(val x: Int) - -Ann -/* abc*/(1) -class A diff --git a/idea/testData/quickfix/migration/unescapedAnnotation.kt.after b/idea/testData/quickfix/migration/unescapedAnnotation.kt.after deleted file mode 100644 index 1c5d85bff6a..00000000000 --- a/idea/testData/quickfix/migration/unescapedAnnotation.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -// "Add '@' before annotation" "true" - -annotation class Ann(val x: Int) - -@Ann -/* abc*/(1) -class A diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 250ccd4cfa3..b4458928aa2 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -4019,60 +4019,6 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } - @TestMetadata("annotationModifier.kt") - public void testAnnotationModifier() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/annotationModifier.kt"); - doTest(fileName); - } - - @TestMetadata("annotationModifier2.kt") - public void testAnnotationModifier2() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/annotationModifier2.kt"); - doTest(fileName); - } - - @TestMetadata("annotationModifier3.kt") - public void testAnnotationModifier3() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/annotationModifier3.kt"); - doTest(fileName); - } - - @TestMetadata("annotationModifier4.kt") - public void testAnnotationModifier4() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/annotationModifier4.kt"); - doTest(fileName); - } - - @TestMetadata("escapedModifier.kt") - public void testEscapedModifier() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/escapedModifier.kt"); - doTest(fileName); - } - - @TestMetadata("inlineOptions.kt") - public void testInlineOptions() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/inlineOptions.kt"); - doTest(fileName); - } - - @TestMetadata("inlineOptionsWithBreak.kt") - public void testInlineOptionsWithBreak() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/inlineOptionsWithBreak.kt"); - doTest(fileName); - } - - @TestMetadata("tailRec.kt") - public void testTailRec() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/tailRec.kt"); - doTest(fileName); - } - - @TestMetadata("unescapedAnnotation.kt") - public void testUnescapedAnnotation() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/unescapedAnnotation.kt"); - doTest(fileName); - } - @TestMetadata("idea/testData/quickfix/migration/conflictingExtension") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) @@ -4166,27 +4112,6 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { } } - @TestMetadata("idea/testData/quickfix/migration/decapitalizedAnnotation") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class DecapitalizedAnnotation extends AbstractQuickFixTest { - public void testAllFilesPresentInDecapitalizedAnnotation() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/decapitalizedAnnotation"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); - } - - @TestMetadata("annotationPosition.kt") - public void testAnnotationPosition() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/decapitalizedAnnotation/annotationPosition.kt"); - doTest(fileName); - } - - @TestMetadata("valueParameter.kt") - public void testValueParameter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/decapitalizedAnnotation/valueParameter.kt"); - doTest(fileName); - } - } - @TestMetadata("idea/testData/quickfix/migration/lambdaSyntax") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)