diff --git a/idea/resources/inspectionDescriptions/AddOperatorModifier.html b/idea/resources/inspectionDescriptions/AddOperatorModifier.html
deleted file mode 100644
index 545754bde2d..00000000000
--- a/idea/resources/inspectionDescriptions/AddOperatorModifier.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-This inspection reports functions that were overloading operators according to pre-M14 naming conventions
-but are not annotated with the 'operator' modifier. The quickfix for the inspection adds the modifier.
-
-
diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml
index da2a1367e12..239204fd269 100644
--- a/idea/src/META-INF/plugin.xml
+++ b/idea/src/META-INF/plugin.xml
@@ -1238,13 +1238,6 @@
level="WARNING"
/>
-
-
(
- listOf(IntentionBasedInspection.IntentionData(AddOperatorModifierIntention())),
- "Function defines an operator but isn't annotated as such",
- JetNamedFunction::class.java)
-
class AddOperatorModifierIntention : JetSelfTargetingRangeIntention(JetNamedFunction::class.java, "Add 'operator' modifier") {
override fun applicabilityRange(element: JetNamedFunction): TextRange? {
val nameIdentifier = element.nameIdentifier ?: return null
diff --git a/idea/testData/intentions/addOperatorModifier/.intention b/idea/testData/intentions/addOperatorModifier/.intention
new file mode 100644
index 00000000000..bae269a0e51
--- /dev/null
+++ b/idea/testData/intentions/addOperatorModifier/.intention
@@ -0,0 +1 @@
+org.jetbrains.kotlin.idea.intentions.AddOperatorModifierIntention
\ No newline at end of file
diff --git a/idea/testData/quickfix/migration/operatorModifier/containsBool.kt b/idea/testData/intentions/addOperatorModifier/containsBool.kt
similarity index 63%
rename from idea/testData/quickfix/migration/operatorModifier/containsBool.kt
rename to idea/testData/intentions/addOperatorModifier/containsBool.kt
index 7fec9e0ca74..33562c45d91 100644
--- a/idea/testData/quickfix/migration/operatorModifier/containsBool.kt
+++ b/idea/testData/intentions/addOperatorModifier/containsBool.kt
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
fun contains(other: A): Boolean = true
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/containsBool.kt.after b/idea/testData/intentions/addOperatorModifier/containsBool.kt.after
similarity index 66%
rename from idea/testData/quickfix/migration/operatorModifier/containsBool.kt.after
rename to idea/testData/intentions/addOperatorModifier/containsBool.kt.after
index 323afcd19aa..e7cc2c1cd33 100644
--- a/idea/testData/quickfix/migration/operatorModifier/containsBool.kt.after
+++ b/idea/testData/intentions/addOperatorModifier/containsBool.kt.after
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
operator fun contains(other: A): Boolean = true
}
diff --git a/idea/testData/intentions/addOperatorModifier/containsInt.kt b/idea/testData/intentions/addOperatorModifier/containsInt.kt
new file mode 100644
index 00000000000..504a7e5b917
--- /dev/null
+++ b/idea/testData/intentions/addOperatorModifier/containsInt.kt
@@ -0,0 +1,4 @@
+// IS_APPLICABLE: false
+class A {
+ fun contains(other: A): Int = -1
+}
diff --git a/idea/testData/quickfix/migration/operatorModifier/extension.kt b/idea/testData/intentions/addOperatorModifier/extension.kt
similarity index 58%
rename from idea/testData/quickfix/migration/operatorModifier/extension.kt
rename to idea/testData/intentions/addOperatorModifier/extension.kt
index a8fd4aee6c9..72659e12f43 100644
--- a/idea/testData/quickfix/migration/operatorModifier/extension.kt
+++ b/idea/testData/intentions/addOperatorModifier/extension.kt
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/extension.kt.after b/idea/testData/intentions/addOperatorModifier/extension.kt.after
similarity index 62%
rename from idea/testData/quickfix/migration/operatorModifier/extension.kt.after
rename to idea/testData/intentions/addOperatorModifier/extension.kt.after
index 2873e8065e6..f2cc769d545 100644
--- a/idea/testData/quickfix/migration/operatorModifier/extension.kt.after
+++ b/idea/testData/intentions/addOperatorModifier/extension.kt.after
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/forOverride.kt b/idea/testData/intentions/addOperatorModifier/forOverride.kt
similarity index 81%
rename from idea/testData/quickfix/migration/operatorModifier/forOverride.kt
rename to idea/testData/intentions/addOperatorModifier/forOverride.kt
index b0090c6c545..81e5d3d38e2 100644
--- a/idea/testData/quickfix/migration/operatorModifier/forOverride.kt
+++ b/idea/testData/intentions/addOperatorModifier/forOverride.kt
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
open class A {
open fun plus(other: A): A = A()
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/forOverride.kt.after b/idea/testData/intentions/addOperatorModifier/forOverride.kt.after
similarity index 82%
rename from idea/testData/quickfix/migration/operatorModifier/forOverride.kt.after
rename to idea/testData/intentions/addOperatorModifier/forOverride.kt.after
index 709d3f70619..8b30fad43dc 100644
--- a/idea/testData/quickfix/migration/operatorModifier/forOverride.kt.after
+++ b/idea/testData/intentions/addOperatorModifier/forOverride.kt.after
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
open class A {
open fun plus(other: A): A = A()
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/overridden.kt b/idea/testData/intentions/addOperatorModifier/overridden.kt
similarity index 50%
rename from idea/testData/quickfix/migration/operatorModifier/overridden.kt
rename to idea/testData/intentions/addOperatorModifier/overridden.kt
index 5f8b905defb..9c44bde4ecb 100644
--- a/idea/testData/quickfix/migration/operatorModifier/overridden.kt
+++ b/idea/testData/intentions/addOperatorModifier/overridden.kt
@@ -1,6 +1,4 @@
-// "Add 'operator' modifier" "false"
-// ACTION: Convert to block body
-// ACTION: Specify return type explicitly
+// IS_APPLICABLE: false
open class A {
open operator fun plus(a: A) = A()
}
diff --git a/idea/testData/quickfix/migration/operatorModifier/simple.kt b/idea/testData/intentions/addOperatorModifier/simple.kt
similarity index 61%
rename from idea/testData/quickfix/migration/operatorModifier/simple.kt
rename to idea/testData/intentions/addOperatorModifier/simple.kt
index 8ed4a54c3a8..2effc1945e6 100644
--- a/idea/testData/quickfix/migration/operatorModifier/simple.kt
+++ b/idea/testData/intentions/addOperatorModifier/simple.kt
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
public fun plus(other: A): A = A()
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/migration/operatorModifier/simple.kt.after b/idea/testData/intentions/addOperatorModifier/simple.kt.after
similarity index 62%
rename from idea/testData/quickfix/migration/operatorModifier/simple.kt.after
rename to idea/testData/intentions/addOperatorModifier/simple.kt.after
index a777d804cfe..24c1af68ce4 100644
--- a/idea/testData/quickfix/migration/operatorModifier/simple.kt.after
+++ b/idea/testData/intentions/addOperatorModifier/simple.kt.after
@@ -1,4 +1,3 @@
-// "Add 'operator' modifier" "true"
class A {
public operator fun plus(other: A): A = A()
}
\ No newline at end of file
diff --git a/idea/testData/intentions/addOperatorModifier/toplevel.kt b/idea/testData/intentions/addOperatorModifier/toplevel.kt
new file mode 100644
index 00000000000..92aefcc4810
--- /dev/null
+++ b/idea/testData/intentions/addOperatorModifier/toplevel.kt
@@ -0,0 +1,5 @@
+// IS_APPLICABLE: false
+class A {
+}
+
+fun plus(other: A): A = A()
diff --git a/idea/testData/quickfix/migration/operatorModifier/.inspection b/idea/testData/quickfix/migration/operatorModifier/.inspection
deleted file mode 100644
index eb3ba8dd691..00000000000
--- a/idea/testData/quickfix/migration/operatorModifier/.inspection
+++ /dev/null
@@ -1 +0,0 @@
-org.jetbrains.kotlin.idea.intentions.AddOperatorModifierInspection
\ No newline at end of file
diff --git a/idea/testData/quickfix/migration/operatorModifier/containsInt.kt b/idea/testData/quickfix/migration/operatorModifier/containsInt.kt
deleted file mode 100644
index 8d660c643b3..00000000000
--- a/idea/testData/quickfix/migration/operatorModifier/containsInt.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-// "Add 'operator' modifier" "false"
-// ACTION: Convert member to extension
-// ACTION: Convert to block body
-// ACTION: Remove explicit type specification
-class A {
- fun contains(other: A): Int = -1
-}
diff --git a/idea/testData/quickfix/migration/operatorModifier/toplevel.kt b/idea/testData/quickfix/migration/operatorModifier/toplevel.kt
deleted file mode 100644
index 4cccaf2cac8..00000000000
--- a/idea/testData/quickfix/migration/operatorModifier/toplevel.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-// "Add 'operator' modifier" "false"
-// ACTION: Convert to block body
-// ACTION: Remove explicit type specification
-class A {
-}
-
-fun plus(other: A): A = A()
diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java
index d3dddac23a4..728d11416f1 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java
+++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java
@@ -311,6 +311,57 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
}
}
+ @TestMetadata("idea/testData/intentions/addOperatorModifier")
+ @TestDataPath("$PROJECT_ROOT")
+ @RunWith(JUnit3RunnerWithInners.class)
+ public static class AddOperatorModifier extends AbstractIntentionTest {
+ public void testAllFilesPresentInAddOperatorModifier() throws Exception {
+ JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/addOperatorModifier"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true);
+ }
+
+ @TestMetadata("containsBool.kt")
+ public void testContainsBool() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/containsBool.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("containsInt.kt")
+ public void testContainsInt() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/containsInt.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("extension.kt")
+ public void testExtension() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/extension.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("forOverride.kt")
+ public void testForOverride() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/forOverride.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("overridden.kt")
+ public void testOverridden() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/overridden.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("simple.kt")
+ public void testSimple() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/simple.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevel.kt")
+ public void testToplevel() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addOperatorModifier/toplevel.kt");
+ doTest(fileName);
+ }
+ }
+
@TestMetadata("idea/testData/intentions/branched")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java
index e5cb57f621c..62090e34df7 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java
+++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java
@@ -4295,57 +4295,6 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
}
}
- @TestMetadata("idea/testData/quickfix/migration/operatorModifier")
- @TestDataPath("$PROJECT_ROOT")
- @RunWith(JUnit3RunnerWithInners.class)
- public static class OperatorModifier extends AbstractQuickFixTest {
- public void testAllFilesPresentInOperatorModifier() throws Exception {
- JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/operatorModifier"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true);
- }
-
- @TestMetadata("containsBool.kt")
- public void testContainsBool() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/containsBool.kt");
- doTest(fileName);
- }
-
- @TestMetadata("containsInt.kt")
- public void testContainsInt() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/containsInt.kt");
- doTest(fileName);
- }
-
- @TestMetadata("extension.kt")
- public void testExtension() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/extension.kt");
- doTest(fileName);
- }
-
- @TestMetadata("forOverride.kt")
- public void testForOverride() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/forOverride.kt");
- doTest(fileName);
- }
-
- @TestMetadata("overridden.kt")
- public void testOverridden() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/overridden.kt");
- doTest(fileName);
- }
-
- @TestMetadata("simple.kt")
- public void testSimple() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/simple.kt");
- doTest(fileName);
- }
-
- @TestMetadata("toplevel.kt")
- public void testToplevel() throws Exception {
- String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/operatorModifier/toplevel.kt");
- doTest(fileName);
- }
- }
-
@TestMetadata("idea/testData/quickfix/migration/removeNameFromFunctionExpression")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)