diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateHasNextFunctionActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateHasNextFunctionActionFactory.kt index bc317a017b9..71220bf1aec 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateHasNextFunctionActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateHasNextFunctionActionFactory.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.Functi import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.TypeInfo import org.jetbrains.kotlin.psi.JetForExpression import org.jetbrains.kotlin.types.Variance +import org.jetbrains.kotlin.types.expressions.OperatorConventions object CreateHasNextFunctionActionFactory : CreateCallableMemberFromUsageFactory() { override fun getElementOfInterest(diagnostic: Diagnostic): JetForExpression? { @@ -37,6 +38,6 @@ object CreateHasNextFunctionActionFactory : CreateCallableMemberFromUsageFactory DiagnosticFactory.cast(diagnostic, Errors.HAS_NEXT_MISSING, Errors.HAS_NEXT_FUNCTION_NONE_APPLICABLE) val ownerType = TypeInfo(diagnosticWithParameters.a, Variance.IN_VARIANCE) val returnType = TypeInfo(KotlinBuiltIns.getInstance().booleanType, Variance.OUT_VARIANCE) - return FunctionInfo("hasNext", ownerType, returnType) + return FunctionInfo(OperatorConventions.HAS_NEXT.asString(), ownerType, returnType, isOperator = true) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateNextFunctionActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateNextFunctionActionFactory.kt index de6e3fb164c..bafbedb3d9f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateNextFunctionActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createCallable/CreateNextFunctionActionFactory.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.TypeIn import org.jetbrains.kotlin.psi.JetExpression import org.jetbrains.kotlin.psi.JetForExpression import org.jetbrains.kotlin.types.Variance +import org.jetbrains.kotlin.types.expressions.OperatorConventions object CreateNextFunctionActionFactory : CreateCallableMemberFromUsageFactory() { override fun getElementOfInterest(diagnostic: Diagnostic): JetForExpression? { @@ -38,6 +39,6 @@ object CreateNextFunctionActionFactory : CreateCallableMemberFromUsageFactory { throw Exception("not implemented") } - fun hasNext(): Boolean { + operator fun hasNext(): Boolean { throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/hasNext/createHasNextFromUsage2.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/hasNext/createHasNextFromUsage2.kt.after index c701ef3c141..553ed85848c 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/hasNext/createHasNextFromUsage2.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/hasNext/createHasNextFromUsage2.kt.after @@ -4,7 +4,7 @@ class FooIterator { throw Exception("not implemented") } - fun hasNext(): Boolean { + operator fun hasNext(): Boolean { throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/iterator/createIteratorFromUsage3.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/iterator/createIteratorFromUsage3.kt.after index 122b18313b3..10a731e7cbc 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/iterator/createIteratorFromUsage3.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/iterator/createIteratorFromUsage3.kt.after @@ -2,7 +2,7 @@ class FooIterator { fun hasNext(): Boolean { return false } - fun next(): Any { + operator fun next(): Any { throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage1.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage1.kt.after index cd5c5ba8eb3..81b0b4c9294 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage1.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage1.kt.after @@ -2,7 +2,7 @@ class FooIterator { fun hasNext(): Boolean { return false } - fun next(): Int { + operator fun next(): Int { throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. } } diff --git a/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage2.kt.after b/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage2.kt.after index 1225fdf1533..bb369dce559 100644 --- a/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage2.kt.after +++ b/idea/testData/quickfix/createFromUsage/createFunction/next/createNextFromUsage2.kt.after @@ -2,7 +2,7 @@ class FooIterator { fun hasNext(): Boolean { return false } - fun next(): T { + operator fun next(): T { throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. } }