From 3fa506fd4514b624fe21de4875d7a14856b27848 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 25 Dec 2015 18:35:02 +0300 Subject: [PATCH] "Inapplicable operator modifier" and "Inapplicable infix modifier" are now errors --- .../jetbrains/kotlin/diagnostics/Errors.java | 4 +- .../function/augmentedAssignment.kt | 12 ---- .../augmentedAssignmentViaBinaryExpression.kt | 14 ----- .../defaultArguments/function/binaryCall.kt | 3 - .../function/binaryExpression.kt | 5 -- .../box/defaultArguments/function/contains.kt | 5 -- .../box/delegatedProperty/defaultArgs.kt | 11 ---- .../codegen/box/delegatedProperty/vararg.kt | 11 ---- .../box/functions/localFunctions/kt4784.kt | 2 +- .../localFunctions/localWithDefault.kt | 8 --- .../increment/postfixNotnullClassIncrement.kt | 12 ---- .../increment/prefixNotnullClassIncrement.kt | 12 ---- .../BlackBoxCodegenTestGenerated.java | 60 ------------------- idea/testData/checker/ExtensionFunctions.kt | 2 +- idea/testData/checker/ForRangeConventions.kt | 2 +- idea/testData/checker/IncDec.kt | 8 +-- .../acceptableVararg1.kt | 7 --- .../acceptableVararg1.kt.after | 7 --- .../acceptableVararg2.kt | 7 --- .../acceptableVararg2.kt.after | 7 --- .../allowableDefaultArgument.kt | 7 --- .../allowableDefaultArgument.kt.after | 7 --- .../missingDefaultArgument.kt | 1 + .../multipleArguments.kt | 1 + .../unacceptableVararg1.kt | 1 + .../unacceptableVararg2.kt | 1 + .../acceptableVararg.kt | 7 --- .../acceptableVararg.kt.after | 7 --- .../defaultArgument.kt | 7 --- .../defaultArgument.kt.after | 7 --- .../functionLiteralArgument.kt | 1 + .../namedValueArgument.kt | 1 + .../unacceptableVararg.kt | 1 + .../valueArgument.kt | 1 + .../replaceContains/acceptableVararg.kt | 7 --- .../replaceContains/acceptableVararg.kt.after | 7 --- .../replaceContains/acceptableVararg2.kt | 7 --- .../acceptableVararg2.kt.after | 7 --- .../allowableDefaultArgument.kt | 7 --- .../allowableDefaultArgument.kt.after | 7 --- .../replaceContains/invalidArgument.kt | 1 + .../replaceContains/missingArgument.kt | 1 + .../replaceContains/missingDefaultArgument.kt | 1 + .../replaceContains/multipleArguments.kt | 1 + .../replaceContains/unacceptableVararg1.kt | 1 + .../replaceContains/unacceptableVararg2.kt | 1 + .../replaceContains/validNamedArgument.kt | 7 --- .../validNamedArgument.kt.after | 7 --- .../replaceGetOrSet/noArgument.kt | 1 + .../replaceGetOrSet/setWithNoParameters.kt | 1 + .../replaceGetOrSet/setWithVararg.kt | 1 + .../replaceGetOrSet/topLevelFun.kt | 2 + .../toInfixCall/multipleArguments.kt | 2 +- .../intentions/toInfixCall/namedArgument.kt | 1 + .../toInfixCall/packageFunctionCall.kt | 2 +- .../toInfixCall/secondParameterLabeled.kt | 2 + ...impleArgumentAndFunctionLiteralArgument.kt | 2 +- .../toInfixCall/singlePackageFunctionCall.kt | 2 +- .../deprecatedSymbolUsage/infixCall.kt | 1 + .../deprecatedSymbolUsage/infixCall.kt.after | 1 + .../intentions/IntentionTestGenerated.java | 54 ----------------- .../membersFlagsChanged/new.kt | 4 ++ .../membersFlagsChanged/old.kt | 4 ++ .../packageMembers/membersFlagsChanged/new.kt | 4 ++ .../packageMembers/membersFlagsChanged/old.kt | 4 ++ .../conventions/delegateProperty.kt | 2 +- libraries/stdlib/src/kotlin/text/Strings.kt | 2 + 67 files changed, 56 insertions(+), 347 deletions(-) delete mode 100644 compiler/testData/codegen/box/defaultArguments/function/augmentedAssignment.kt delete mode 100644 compiler/testData/codegen/box/defaultArguments/function/augmentedAssignmentViaBinaryExpression.kt delete mode 100644 compiler/testData/codegen/box/defaultArguments/function/binaryCall.kt delete mode 100644 compiler/testData/codegen/box/defaultArguments/function/binaryExpression.kt delete mode 100644 compiler/testData/codegen/box/defaultArguments/function/contains.kt delete mode 100644 compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt delete mode 100644 compiler/testData/codegen/box/delegatedProperty/vararg.kt delete mode 100644 compiler/testData/codegen/box/functions/localFunctions/localWithDefault.kt delete mode 100644 compiler/testData/codegen/box/increment/postfixNotnullClassIncrement.kt delete mode 100644 compiler/testData/codegen/box/increment/prefixNotnullClassIncrement.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt.after delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt delete mode 100644 idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt.after diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java index 9b2e7d529a6..c703e14a421 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java @@ -596,8 +596,8 @@ public interface Errors { DiagnosticFactory0 UNDERSCORE_IS_RESERVED = DiagnosticFactory0.create(ERROR); DiagnosticFactory1 INVALID_CHARACTERS = DiagnosticFactory1.create(ERROR); - DiagnosticFactory0 INAPPLICABLE_OPERATOR_MODIFIER = DiagnosticFactory0.create(WARNING); - DiagnosticFactory0 INAPPLICABLE_INFIX_MODIFIER = DiagnosticFactory0.create(WARNING); + DiagnosticFactory0 INAPPLICABLE_OPERATOR_MODIFIER = DiagnosticFactory0.create(ERROR); + DiagnosticFactory0 INAPPLICABLE_INFIX_MODIFIER = DiagnosticFactory0.create(ERROR); DiagnosticFactory2 OPERATOR_MODIFIER_REQUIRED = DiagnosticFactory2.create(ERROR); DiagnosticFactory2 INFIX_MODIFIER_REQUIRED = DiagnosticFactory2.create(ERROR); diff --git a/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignment.kt b/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignment.kt deleted file mode 100644 index f6da5e4f385..00000000000 --- a/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignment.kt +++ /dev/null @@ -1,12 +0,0 @@ -var result = "Fail" - -class A - -operator fun A.plusAssign(a: A, s: String = "OK") { - result = s -} - -fun box(): String { - A() += A() - return result -} diff --git a/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignmentViaBinaryExpression.kt b/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignmentViaBinaryExpression.kt deleted file mode 100644 index 42b2de54467..00000000000 --- a/compiler/testData/codegen/box/defaultArguments/function/augmentedAssignmentViaBinaryExpression.kt +++ /dev/null @@ -1,14 +0,0 @@ -var result = "Fail" - -class A - -operator fun A.plus(a: A, s: String = "OK"): A { - result = s - return this -} - -fun box(): String { - var a = A() - a += A() - return result -} diff --git a/compiler/testData/codegen/box/defaultArguments/function/binaryCall.kt b/compiler/testData/codegen/box/defaultArguments/function/binaryCall.kt deleted file mode 100644 index 32b905ceddb..00000000000 --- a/compiler/testData/codegen/box/defaultArguments/function/binaryCall.kt +++ /dev/null @@ -1,3 +0,0 @@ -infix fun Int.foo(o: String, k: String = "K") = o + k - -fun box() = 42 foo "O" diff --git a/compiler/testData/codegen/box/defaultArguments/function/binaryExpression.kt b/compiler/testData/codegen/box/defaultArguments/function/binaryExpression.kt deleted file mode 100644 index 695c674d29c..00000000000 --- a/compiler/testData/codegen/box/defaultArguments/function/binaryExpression.kt +++ /dev/null @@ -1,5 +0,0 @@ -class A - -operator fun A.plus(i: A, ok: String = "OK") = ok - -fun box() = A() + A() diff --git a/compiler/testData/codegen/box/defaultArguments/function/contains.kt b/compiler/testData/codegen/box/defaultArguments/function/contains.kt deleted file mode 100644 index 287991e0e56..00000000000 --- a/compiler/testData/codegen/box/defaultArguments/function/contains.kt +++ /dev/null @@ -1,5 +0,0 @@ -class A - -operator fun A.contains(i: A, actual: Boolean = true) = actual - -fun box() = if (A() in A()) "OK" else "Fail" diff --git a/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt b/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt deleted file mode 100644 index 3f258938abf..00000000000 --- a/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt +++ /dev/null @@ -1,11 +0,0 @@ -import kotlin.reflect.KProperty - -class Delegate { - operator fun getValue(t: Any?, p: KProperty<*>, s: String = ""): Int = 1 -} - -val prop: Int by Delegate() - -fun box(): String { - return if(prop == 1) "OK" else "fail" -} diff --git a/compiler/testData/codegen/box/delegatedProperty/vararg.kt b/compiler/testData/codegen/box/delegatedProperty/vararg.kt deleted file mode 100644 index 1a5ae662854..00000000000 --- a/compiler/testData/codegen/box/delegatedProperty/vararg.kt +++ /dev/null @@ -1,11 +0,0 @@ -import kotlin.reflect.KProperty - -class Delegate { - operator fun getValue(t: Any?, vararg p: KProperty<*>): Int = 1 -} - -val prop: Int by Delegate() - -fun box(): String { - return if(prop == 1) "OK" else "fail" -} diff --git a/compiler/testData/codegen/box/functions/localFunctions/kt4784.kt b/compiler/testData/codegen/box/functions/localFunctions/kt4784.kt index ce3ebfd4d27..404fce279be 100644 --- a/compiler/testData/codegen/box/functions/localFunctions/kt4784.kt +++ b/compiler/testData/codegen/box/functions/localFunctions/kt4784.kt @@ -1,6 +1,6 @@ open class T(var value: Int) {} -operator fun plusAssign(): T { +fun plusAssign(): T { operator fun T.plusAssign(s: Int) { value += s diff --git a/compiler/testData/codegen/box/functions/localFunctions/localWithDefault.kt b/compiler/testData/codegen/box/functions/localFunctions/localWithDefault.kt deleted file mode 100644 index 04be137c798..00000000000 --- a/compiler/testData/codegen/box/functions/localFunctions/localWithDefault.kt +++ /dev/null @@ -1,8 +0,0 @@ -class Z {} - -fun box(): String { - operator fun Z.plus(s : String, d : String = "K") : String { - return s + d - } - return Z() + "O" -} diff --git a/compiler/testData/codegen/box/increment/postfixNotnullClassIncrement.kt b/compiler/testData/codegen/box/increment/postfixNotnullClassIncrement.kt deleted file mode 100644 index c5e7fe070e6..00000000000 --- a/compiler/testData/codegen/box/increment/postfixNotnullClassIncrement.kt +++ /dev/null @@ -1,12 +0,0 @@ -class MyClass - -// In principle it is not correct, MyClass? is not a subtype of MyClass -operator fun MyClass.inc(): MyClass? = null - -public fun box() : String { - var i : MyClass? - i = MyClass() - val j = i++ - - return if (j is MyClass && null == i) "OK" else "fail i = $i j = $j" -} diff --git a/compiler/testData/codegen/box/increment/prefixNotnullClassIncrement.kt b/compiler/testData/codegen/box/increment/prefixNotnullClassIncrement.kt deleted file mode 100644 index 8e5cd3401d9..00000000000 --- a/compiler/testData/codegen/box/increment/prefixNotnullClassIncrement.kt +++ /dev/null @@ -1,12 +0,0 @@ -class MyClass - -// In principle it is not correct, MyClass? is not a subtype of MyClass -operator fun MyClass.inc(): MyClass? = null - -public fun box() : String { - var i : MyClass? - i = MyClass() - val j = ++i - - return if (j == null && null == i) "OK" else "fail i = $i j = $j" -} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java index 39d64e1db8a..98cf40b13c9 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -2760,36 +2760,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments/function"), Pattern.compile("^(.+)\\.kt$"), true); } - @TestMetadata("augmentedAssignment.kt") - public void testAugmentedAssignment() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/augmentedAssignment.kt"); - doTest(fileName); - } - - @TestMetadata("augmentedAssignmentViaBinaryExpression.kt") - public void testAugmentedAssignmentViaBinaryExpression() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/augmentedAssignmentViaBinaryExpression.kt"); - doTest(fileName); - } - - @TestMetadata("binaryCall.kt") - public void testBinaryCall() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/binaryCall.kt"); - doTest(fileName); - } - - @TestMetadata("binaryExpression.kt") - public void testBinaryExpression() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/binaryExpression.kt"); - doTest(fileName); - } - - @TestMetadata("contains.kt") - public void testContains() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/contains.kt"); - doTest(fileName); - } - @TestMetadata("covariantOverride.kt") public void testCovariantOverride() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt"); @@ -2998,12 +2968,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } - @TestMetadata("defaultArgs.kt") - public void testDefaultArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt"); - doTest(fileName); - } - @TestMetadata("delegateAsInnerClass.kt") public void testDelegateAsInnerClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/delegateAsInnerClass.kt"); @@ -3147,12 +3111,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/varInInnerClass.kt"); doTest(fileName); } - - @TestMetadata("vararg.kt") - public void testVararg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/vararg.kt"); - doTest(fileName); - } } @TestMetadata("compiler/testData/codegen/box/diagnostics") @@ -4523,12 +4481,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/localFunctions/localFunctionInConstructor.kt"); doTest(fileName); } - - @TestMetadata("localWithDefault.kt") - public void testLocalWithDefault() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/localFunctions/localWithDefault.kt"); - doTest(fileName); - } } } @@ -4576,12 +4528,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } - @TestMetadata("postfixNotnullClassIncrement.kt") - public void testPostfixNotnullClassIncrement() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/increment/postfixNotnullClassIncrement.kt"); - doTest(fileName); - } - @TestMetadata("postfixNullableClassIncrement.kt") public void testPostfixNullableClassIncrement() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/increment/postfixNullableClassIncrement.kt"); @@ -4612,12 +4558,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } - @TestMetadata("prefixNotnullClassIncrement.kt") - public void testPrefixNotnullClassIncrement() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/increment/prefixNotnullClassIncrement.kt"); - doTest(fileName); - } - @TestMetadata("prefixNullableClassIncrement.kt") public void testPrefixNullableClassIncrement() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/increment/prefixNullableClassIncrement.kt"); diff --git a/idea/testData/checker/ExtensionFunctions.kt b/idea/testData/checker/ExtensionFunctions.kt index 76a4a3bf2e8..281d5fbb510 100644 --- a/idea/testData/checker/ExtensionFunctions.kt +++ b/idea/testData/checker/ExtensionFunctions.kt @@ -46,7 +46,7 @@ fun Int.foo() = this val foo : Int = 0 } - operator fun Any.equals(other : Any?) : Boolean = true + operator fun Any.equals(other : Any?) : Boolean = true fun Any?.equals1(other : Any?) : Boolean = true fun Any.equals2(other : Any?) : Boolean = true diff --git a/idea/testData/checker/ForRangeConventions.kt b/idea/testData/checker/ForRangeConventions.kt index b5523e94830..d794f631b2d 100644 --- a/idea/testData/checker/ForRangeConventions.kt +++ b/idea/testData/checker/ForRangeConventions.kt @@ -27,7 +27,7 @@ abstract class NotRange4() { } abstract class ImproperIterator3 { - abstract operator fun hasNext() : Int + abstract operator fun hasNext() : Int abstract operator fun next() : Int } diff --git a/idea/testData/checker/IncDec.kt b/idea/testData/checker/IncDec.kt index 050954cab3e..618b30fce3c 100644 --- a/idea/testData/checker/IncDec.kt +++ b/idea/testData/checker/IncDec.kt @@ -16,8 +16,8 @@ fun testIncDec() { } class WrongIncDec() { - operator fun inc() : Int = 1 - operator fun dec() : Int = 1 + operator fun inc() : Int = 1 + operator fun dec() : Int = 1 } fun testWrongIncDec() { @@ -29,8 +29,8 @@ fun testWrongIncDec() { } class UnitIncDec() { - operator fun inc() : Unit {} - operator fun dec() : Unit {} + operator fun inc() : Unit {} + operator fun dec() : Unit {} } fun testUnitIncDec() { diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt deleted file mode 100644 index 7756f153e50..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun plus(a: Int, vararg b: Int, c: Int = 0) : Int = 0 - } - val test = Test() - test.plus(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt.after b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt.after deleted file mode 100644 index c4ae0416ed9..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun plus(a: Int, vararg b: Int, c: Int = 0) : Int = 0 - } - val test = Test() - test + 1 -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt deleted file mode 100644 index 26315929191..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun plus(vararg b: Int, c: Int = 0) : Int = 0 - } - val test = Test() - test.plus(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt.after b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt.after deleted file mode 100644 index c2c97162cef..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun plus(vararg b: Int, c: Int = 0) : Int = 0 - } - val test = Test() - test + 1 -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt deleted file mode 100644 index 34b4996bf54..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun plus(a: Int, b: Int=5): Test = Test() - } - val test = Test() - test.plus(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt.after deleted file mode 100644 index 60a00764044..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun plus(a: Int, b: Int=5): Test = Test() - } - val test = Test() - test + 1 -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/missingDefaultArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/missingDefaultArgument.kt index 224705e7a88..10ef9e3a5c7 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/missingDefaultArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/missingDefaultArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun plus(a: Int=1, b: Int=2) : Int = 0 diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/multipleArguments.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/multipleArguments.kt index dba54dd0d1f..25b7e9d1fda 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/multipleArguments.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/multipleArguments.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test { operator fun plus(a: Int, b: Int): Test = Test() diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg1.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg1.kt index eb22ebbb418..624311f8dd7 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg1.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg1.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun plus(vararg b: Int, c: Int = 0): Int = 0 diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg2.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg2.kt index 5eda45d2fd3..61c19972764 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg2.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/unacceptableVararg2.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun plus(vararg b: Int, c: Int = 0): Int = 0 diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt deleted file mode 100644 index 543cf6d77ab..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun unaryPlus(vararg a: Int): Test = Test() - } - val test = Test() - test.unaryPlus() -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt.after b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt.after deleted file mode 100644 index 23846701913..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun unaryPlus(vararg a: Int): Test = Test() - } - val test = Test() - +test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt deleted file mode 100644 index 6485c4f1fce..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun unaryPlus(a: Int=1): Test = Test() - } - val test = Test() - test.unaryPlus() -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt.after deleted file mode 100644 index b36774f31bc..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test { - operator fun unaryPlus(a: Int=1): Test = Test() - } - val test = Test() - +test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/functionLiteralArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/functionLiteralArgument.kt index 21e77b6189c..f1c1feba5ee 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/functionLiteralArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/functionLiteralArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have no value parameters fun test() { class Test { operator fun unaryPlus(fn: () -> Unit): Test = Test() diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/namedValueArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/namedValueArgument.kt index 6fa98d07fa9..4ed8b58fcc1 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/namedValueArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/namedValueArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have no value parameters fun test() { class Test { operator fun unaryPlus(a: Int): Test = Test() diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/unacceptableVararg.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/unacceptableVararg.kt index 62ecb14b7da..160c3bc6da8 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/unacceptableVararg.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/unacceptableVararg.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have no value parameters fun test() { class Test { operator fun unaryPlus(vararg a: Int): Test = Test() diff --git a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/valueArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/valueArgument.kt index b287a695498..ff21dd08fc9 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/valueArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/valueArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have no value parameters fun test() { class Test { operator fun unaryPlus(a: Int): Test = Test() diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt deleted file mode 100644 index 5240090c81e..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(vararg a: Int, b: Int = 0): Boolean = true - } - val test = Test() - test.contains(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt.after b/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt.after deleted file mode 100644 index 0aba98f3c4d..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(vararg a: Int, b: Int = 0): Boolean = true - } - val test = Test() - 1 in test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt deleted file mode 100644 index 89fdef6bd1f..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(c: Int, vararg a: Int, b: Int = 0): Boolean = true - } - val test = Test() - test.contains(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt.after b/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt.after deleted file mode 100644 index c07af86c0f2..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(c: Int, vararg a: Int, b: Int = 0): Boolean = true - } - val test = Test() - 1 in test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt deleted file mode 100644 index 3409f0895f3..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(a: Int, b: Int=5) : Boolean = true - } - val test = Test() - test.contains(1) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt.after deleted file mode 100644 index dd112bc86c7..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(a: Int, b: Int=5) : Boolean = true - } - val test = Test() - 1 in test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/invalidArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/invalidArgument.kt index 4be0605c0aa..9d189e20d0f 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/invalidArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/invalidArgument.kt @@ -1,5 +1,6 @@ // IS_APPLICABLE: false // ERROR: Cannot find a parameter with this name: c +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(a: Int=1, b: Int=2): Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/missingArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/missingArgument.kt index 3c67d89ef9b..d51337f41a0 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/missingArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/missingArgument.kt @@ -1,5 +1,6 @@ // IS_APPLICABLE: false // ERROR: No value passed for parameter b +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(a: Int, b: Int): Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/missingDefaultArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/missingDefaultArgument.kt index 127c645cfb7..6da0a95800a 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/missingDefaultArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/missingDefaultArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(a: Int=1, b: Int=2) : Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/multipleArguments.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/multipleArguments.kt index cc6e65485ba..ee0d90faec3 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/multipleArguments.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/multipleArguments.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(a: Int, b: Int) : Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg1.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg1.kt index 6f196ebc8d2..a8db40e29c0 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg1.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg1.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(vararg b: Int, c: Int = 0): Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg2.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg2.kt index 5e9f0524b27..3f918541f41 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg2.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg2.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have a single value parameter fun test() { class Test{ operator fun contains(vararg b: Int, c: Int = 0): Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt deleted file mode 100644 index 17cffa33317..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(a: Int=1, b: Int=2) : Boolean = true - } - val test = Test() - test.contains(a=5) -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt.after deleted file mode 100644 index 28ee3b17939..00000000000 --- a/idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun test() { - class Test{ - operator fun contains(a: Int=1, b: Int=2) : Boolean = true - } - val test = Test() - 5 in test -} diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/noArgument.kt b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/noArgument.kt index 58a5f7ef6e9..2a5dace1483 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/noArgument.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/noArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have at least 1 value parameter fun test() { class Test{ operator fun get() : Int = 0 diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithNoParameters.kt b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithNoParameters.kt index 9b55825aefd..d6dce506a39 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithNoParameters.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithNoParameters.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must have at least 2 value parameters class C { operator fun set(){} diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithVararg.kt b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithVararg.kt index 78f17e3b90a..96564075b8b 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithVararg.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/setWithVararg.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: last parameter must not have a default value or be a vararg class C { operator fun set(s: String, vararg value: Int): Boolean = true diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/topLevelFun.kt b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/topLevelFun.kt index ed828989ccb..7a1a87467e8 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/topLevelFun.kt +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/topLevelFun.kt @@ -1,4 +1,6 @@ // IS_APPLICABLE: false +// ERROR: operator modifier is inapplicable on this function: must be a member or an extension + package p operator fun get(s: String) = s diff --git a/idea/testData/intentions/toInfixCall/multipleArguments.kt b/idea/testData/intentions/toInfixCall/multipleArguments.kt index b69823341d3..ca2d9cffa41 100644 --- a/idea/testData/intentions/toInfixCall/multipleArguments.kt +++ b/idea/testData/intentions/toInfixCall/multipleArguments.kt @@ -1,5 +1,5 @@ // IS_APPLICABLE: false -// WARNING: 'infix' modifier is inapplicable on this function +// ERROR: 'infix' modifier is inapplicable on this function interface Foo { infix fun foo(a: Int, b: Int) } diff --git a/idea/testData/intentions/toInfixCall/namedArgument.kt b/idea/testData/intentions/toInfixCall/namedArgument.kt index cf80c489303..d9b2da86030 100644 --- a/idea/testData/intentions/toInfixCall/namedArgument.kt +++ b/idea/testData/intentions/toInfixCall/namedArgument.kt @@ -1,4 +1,5 @@ // IS_APPLICABLE: false +// ERROR: 'infix' modifier is inapplicable on this function fun foo(x: Foo) { x.foo(bar = x) } diff --git a/idea/testData/intentions/toInfixCall/packageFunctionCall.kt b/idea/testData/intentions/toInfixCall/packageFunctionCall.kt index 0d17025cdc5..5a54d511c7b 100644 --- a/idea/testData/intentions/toInfixCall/packageFunctionCall.kt +++ b/idea/testData/intentions/toInfixCall/packageFunctionCall.kt @@ -1,5 +1,5 @@ // IS_APPLICABLE: false -// WARNING: 'infix' modifier is inapplicable on this function +// ERROR: 'infix' modifier is inapplicable on this function package ppp infix fun foo(p: String){} diff --git a/idea/testData/intentions/toInfixCall/secondParameterLabeled.kt b/idea/testData/intentions/toInfixCall/secondParameterLabeled.kt index c8314ab7586..960f7d7a5ad 100644 --- a/idea/testData/intentions/toInfixCall/secondParameterLabeled.kt +++ b/idea/testData/intentions/toInfixCall/secondParameterLabeled.kt @@ -1,4 +1,6 @@ // IS_APPLICABLE: false +// ERROR: 'infix' modifier is inapplicable on this function + class Foo { infix fun foo(x: Int = 0, y: Int = 0) { } diff --git a/idea/testData/intentions/toInfixCall/simpleArgumentAndFunctionLiteralArgument.kt b/idea/testData/intentions/toInfixCall/simpleArgumentAndFunctionLiteralArgument.kt index 4d4d29adef3..b653d66b18e 100644 --- a/idea/testData/intentions/toInfixCall/simpleArgumentAndFunctionLiteralArgument.kt +++ b/idea/testData/intentions/toInfixCall/simpleArgumentAndFunctionLiteralArgument.kt @@ -1,5 +1,5 @@ // IS_APPLICABLE: false -// WARNING: 'infix' modifier is inapplicable on this function +// ERROR: 'infix' modifier is inapplicable on this function fun foo(x: Foo) { x.foo(1) { it * 2 } diff --git a/idea/testData/intentions/toInfixCall/singlePackageFunctionCall.kt b/idea/testData/intentions/toInfixCall/singlePackageFunctionCall.kt index 56a9aedef81..c2575dec383 100644 --- a/idea/testData/intentions/toInfixCall/singlePackageFunctionCall.kt +++ b/idea/testData/intentions/toInfixCall/singlePackageFunctionCall.kt @@ -1,6 +1,6 @@ // WITH_RUNTIME // IS_APPLICABLE: false -// WARNING: 'infix' modifier is inapplicable on this function +// ERROR: 'infix' modifier is inapplicable on this function package demo diff --git a/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt b/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt index 6891907895c..c3dd08bcf6b 100644 --- a/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt +++ b/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt @@ -1,4 +1,5 @@ // "Replace with 'newFun(p, this)'" "true" +// ERROR: 'infix' modifier is inapplicable on this function @Deprecated("", ReplaceWith("newFun(p, this)")) infix fun String.oldFun(p: Int) { diff --git a/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt.after b/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt.after index 992a2c011c4..a66fadf01b7 100644 --- a/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt.after +++ b/idea/testData/quickfix/deprecatedSymbolUsage/infixCall.kt.after @@ -1,4 +1,5 @@ // "Replace with 'newFun(p, this)'" "true" +// ERROR: 'infix' modifier is inapplicable on this function @Deprecated("", ReplaceWith("newFun(p, this)")) infix fun String.oldFun(p: Int) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 1c657e55102..d9777a46684 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -2533,28 +2533,10 @@ public class IntentionTestGenerated extends AbstractIntentionTest { @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class ReplaceCallWithBinaryOperator extends AbstractIntentionTest { - @TestMetadata("acceptableVararg1.kt") - public void testAcceptableVararg1() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg1.kt"); - doTest(fileName); - } - - @TestMetadata("acceptableVararg2.kt") - public void testAcceptableVararg2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/acceptableVararg2.kt"); - doTest(fileName); - } - public void testAllFilesPresentInReplaceCallWithBinaryOperator() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } - @TestMetadata("allowableDefaultArgument.kt") - public void testAllowableDefaultArgument() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/allowableDefaultArgument.kt"); - doTest(fileName); - } - @TestMetadata("divSanityTest.kt") public void testDivSanityTest() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithBinaryOperator/divSanityTest.kt"); @@ -2656,12 +2638,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class ReplaceCallWithUnaryOperator extends AbstractIntentionTest { - @TestMetadata("acceptableVararg.kt") - public void testAcceptableVararg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/acceptableVararg.kt"); - doTest(fileName); - } - public void testAllFilesPresentInReplaceCallWithUnaryOperator() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } @@ -2672,12 +2648,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } - @TestMetadata("defaultArgument.kt") - public void testDefaultArgument() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/defaultArgument.kt"); - doTest(fileName); - } - @TestMetadata("extensionFunction.kt") public void testExtensionFunction() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceCallWithUnaryOperator/extensionFunction.kt"); @@ -2755,28 +2725,10 @@ public class IntentionTestGenerated extends AbstractIntentionTest { @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class ReplaceContains extends AbstractIntentionTest { - @TestMetadata("acceptableVararg.kt") - public void testAcceptableVararg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg.kt"); - doTest(fileName); - } - - @TestMetadata("acceptableVararg2.kt") - public void testAcceptableVararg2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/acceptableVararg2.kt"); - doTest(fileName); - } - public void testAllFilesPresentInReplaceContains() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/conventionNameCalls/replaceContains"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } - @TestMetadata("allowableDefaultArgument.kt") - public void testAllowableDefaultArgument() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/allowableDefaultArgument.kt"); - doTest(fileName); - } - @TestMetadata("containsInExpression.kt") public void testContainsInExpression() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/containsInExpression.kt"); @@ -2878,12 +2830,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/unacceptableVararg2.kt"); doTest(fileName); } - - @TestMetadata("validNamedArgument.kt") - public void testValidNamedArgument() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/conventionNameCalls/replaceContains/validNamedArgument.kt"); - doTest(fileName); - } } @TestMetadata("idea/testData/intentions/conventionNameCalls/replaceGetOrSet") diff --git a/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/new.kt b/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/new.kt index 64e31c38d67..c662c9dddcc 100644 --- a/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/new.kt +++ b/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/new.kt @@ -19,8 +19,10 @@ abstract class A { fun finalFlagRemovedFun() {} final fun finalFlagUnchangedFun() {} + @Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagAddedFun() {} fun infixFlagRemovedFun() {} + @Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagUnchangedFun() {} inline fun inlineFlagAddedFun() {} @@ -45,8 +47,10 @@ abstract class A { fun openFlagRemovedFun() {} open fun openFlagUnchangedFun() {} + @Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagAddedFun() {} fun operatorFlagRemovedFun() {} + @Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagUnchangedFun() {} private val privateFlagAddedVal = "" diff --git a/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/old.kt b/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/old.kt index b9097dd4a86..ac61296a5fd 100644 --- a/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/old.kt +++ b/jps-plugin/testData/comparison/classMembersOnlyChanged/membersFlagsChanged/old.kt @@ -20,7 +20,9 @@ abstract class A { final fun finalFlagUnchangedFun() {} fun infixFlagAddedFun() {} + @Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagRemovedFun() {} + @Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagUnchangedFun() {} fun inlineFlagAddedFun() {} @@ -46,7 +48,9 @@ abstract class A { open fun openFlagUnchangedFun() {} fun operatorFlagAddedFun() {} + @Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagRemovedFun() {} + @Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagUnchangedFun() {} val privateFlagAddedVal = "" diff --git a/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/new.kt b/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/new.kt index 84e35d2b83c..a2d58035891 100644 --- a/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/new.kt +++ b/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/new.kt @@ -8,8 +8,10 @@ external fun externalFlagAddedFun() fun externalFlagRemovedFun() {} external fun externalFlagUnchangedFun() +@Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagAddedFun() {} fun infixFlagRemovedFun() {} +@Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagUnchangedFun() {} inline fun inlineFlagAddedFun() {} @@ -23,8 +25,10 @@ internal fun internalFlagAddedFun() {} fun internalFlagRemovedFun() {} internal fun internalFlagUnchangedFun() {} +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagAddedFun() {} fun operatorFlagRemovedFun() {} +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagUnchangedFun() {} private val privateFlagAddedVal = "" diff --git a/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/old.kt b/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/old.kt index cfda1b58923..9799a641449 100644 --- a/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/old.kt +++ b/jps-plugin/testData/comparison/packageMembers/membersFlagsChanged/old.kt @@ -9,7 +9,9 @@ external fun externalFlagRemovedFun() external fun externalFlagUnchangedFun() fun infixFlagAddedFun() {} +@Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagRemovedFun() {} +@Suppress("INAPPLICABLE_INFIX_MODIFIER") infix fun infixFlagUnchangedFun() {} fun inlineFlagAddedFun() {} @@ -24,7 +26,9 @@ internal fun internalFlagRemovedFun() {} internal fun internalFlagUnchangedFun() {} fun operatorFlagAddedFun() {} +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagRemovedFun() {} +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") operator fun operatorFlagUnchangedFun() {} val privateFlagAddedVal = "" diff --git a/jps-plugin/testData/incremental/lookupTracker/conventions/delegateProperty.kt b/jps-plugin/testData/incremental/lookupTracker/conventions/delegateProperty.kt index 287914b8d64..9d1ba767cff 100644 --- a/jps-plugin/testData/incremental/lookupTracker/conventions/delegateProperty.kt +++ b/jps-plugin/testData/incremental/lookupTracker/conventions/delegateProperty.kt @@ -13,7 +13,7 @@ import kotlin.reflect./*p:kotlin.reflect*/KProperty } /*p:foo.bar*/operator fun /*p:foo.bar*/D2.getValue(t: /*p:foo.bar*/Any?, p: KProperty<*>) = /*p:kotlin(Int)*/1 -/*p:foo.bar*/operator fun /*p:foo.bar*/D2.propertyDelegated(p: /*p:foo.bar*/Any?) {} +/*p:foo.bar*/fun /*p:foo.bar*/D2.propertyDelegated(p: /*p:foo.bar*/Any?) {} /*p:foo.bar*/class D3 : /*p:foo.bar*/D2() { fun propertyDelegated(p: /*c:foo.bar.D3 c:foo.bar.D2 p:foo.bar*/Any?) {} diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index 00a514afa2d..62d9587023d 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -960,6 +960,7 @@ public fun CharSequence.lastIndexOf(string: String, startIndex: Int = lastIndex, * * @param ignoreCase `true` to ignore character case when comparing strings. By default `false`. */ +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") public operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boolean = false): Boolean = if (other is String) indexOf(other, ignoreCase = ignoreCase) >= 0 @@ -973,6 +974,7 @@ public operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boole * * @param ignoreCase `true` to ignore character case when comparing characters. By default `false`. */ +@Suppress("INAPPLICABLE_OPERATOR_MODIFIER") public operator fun CharSequence.contains(char: Char, ignoreCase: Boolean = false): Boolean = indexOf(char, ignoreCase = ignoreCase) >= 0