diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateBinaryOperationActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateBinaryOperationActionFactory.kt index 57b00b8bd37..56353834c67 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateBinaryOperationActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateBinaryOperationActionFactory.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2015 JetBrains s.r.o. + * Copyright 2010-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.expressions.OperatorConventions import java.util.* -object CreateBinaryOperationActionFactory: CreateCallableMemberFromUsageFactory() { +object CreateBinaryOperationActionFactory : CreateCallableMemberFromUsageFactory() { override fun getElementOfInterest(diagnostic: Diagnostic): KtBinaryExpression? { return diagnostic.psiElement.parent as? KtBinaryExpression } @@ -54,8 +54,9 @@ object CreateBinaryOperationActionFactory: CreateCallableMemberFromUsageFactory< else -> TypeInfo(element, Variance.OUT_VARIANCE) } val parameters = Collections.singletonList(ParameterInfo(TypeInfo(argumentExpr, Variance.IN_VARIANCE))) + val isOperator = token != KtTokens.IDENTIFIER return FunctionInfo(operationName, receiverType, returnType, parameterInfos = parameters, - isOperator = token != KtTokens.IDENTIFIER, - isInfix = true) + isOperator = isOperator, + isInfix = !isOperator) } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/greaterOrEqualOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/greaterOrEqualOnUserType.kt.after index 9103e5846b8..d05d1db49ac 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/greaterOrEqualOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/greaterOrEqualOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.compareTo'" "true" class A(val n: T) { - infix operator fun compareTo(t: T): Int { + operator fun compareTo(t: T): Int { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/inOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/inOnUserType.kt.after index 7678a489c14..dfe8fc6335d 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/inOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/inOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.contains'" "true" class A(val n: T) { - infix operator fun contains(t: T): Boolean { + operator fun contains(t: T): Boolean { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/lessOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/lessOnUserType.kt.after index 0158eb0ec4c..2954ea3a802 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/lessOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/lessOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.compareTo'" "true" class A(val n: T) { - infix operator fun compareTo(t: T): Int { + operator fun compareTo(t: T): Int { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/notInOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/notInOnUserType.kt.after index 1e15b717525..cb042178022 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/notInOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/notInOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.contains'" "true" class A(val n: T) { - infix operator fun contains(t: T): Boolean { + operator fun contains(t: T): Boolean { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusAssignOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusAssignOnUserType.kt.after index f2a4d0b470b..b081813cc82 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusAssignOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusAssignOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.plusAssign'" "true" class A(val n: T) { - infix operator fun plusAssign(t: T) { + operator fun plusAssign(t: T) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusExtraArgs.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusExtraArgs.kt.after index 7b1013506e7..b9198c2a9de 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusExtraArgs.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusExtraArgs.kt.after @@ -2,7 +2,7 @@ class A(val n: T) { operator fun unaryPlus(): A = throw Exception() - infix operator fun plus(t: T): A { + operator fun plus(t: T): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusForAssignmentOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusForAssignmentOnUserType.kt.after index 3263b14b151..776f3a98a47 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusForAssignmentOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusForAssignmentOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.plus'" "true" class A(val n: T) { - infix operator fun plus(t: T): A { + operator fun plus(t: T): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusMissingArgs.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusMissingArgs.kt.after index faca0579ea2..b42bad19681 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusMissingArgs.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusMissingArgs.kt.after @@ -2,7 +2,7 @@ class A(val n: T) { fun plus(i: Int, s: String): A = throw Exception() - infix operator fun plus(t: T): A { + operator fun plus(t: T): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt.after index 1f2f4ed2410..ae58112a6dd 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt.after @@ -7,6 +7,6 @@ fun test() { val a: A = 2 + A(1) } -private infix operator fun Int.plus(a: A): A { +private operator fun Int.plus(a: A): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserType.kt.after index 4dfc901ae23..99f6743a1cb 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.plus'" "true" class A(val n: T) { - infix operator fun plus(t: T): A { + operator fun plus(t: T): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserTypeWithTypeParams.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserTypeWithTypeParams.kt.after index 5584258d240..9bccf4e337c 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserTypeWithTypeParams.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnUserTypeWithTypeParams.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.plus'" "true" class A(val n: T) { - infix operator fun plus(i: Int): A { + operator fun plus(i: Int): A { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/typeMismatch.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/typeMismatch.kt.after index 165cef2e85e..7b7eb576994 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/typeMismatch.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/typeMismatch.kt.after @@ -7,6 +7,6 @@ fun test() { A() * "1" } -private infix operator fun A.times(s: String) { +private operator fun A.times(s: String) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenInOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenInOnUserType.kt.after index 9163aa1cb1f..537f14c1046 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenInOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenInOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.contains'" "true" class A(val n: T) { - infix operator fun contains(t: T): Boolean { + operator fun contains(t: T): Boolean { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenNotInOnUserType.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenNotInOnUserType.kt.after index bb8c4f68581..5fa2cd9a378 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenNotInOnUserType.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/binaryOperations/whenNotInOnUserType.kt.after @@ -1,7 +1,7 @@ // "Create member function 'A.contains'" "true" class A(val n: T) { - infix operator fun contains(t: T): Boolean { + operator fun contains(t: T): Boolean { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } }