diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/AddVarianceModifierInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/AddVarianceModifierInspection.kt
index 12c000cdc4f..557ee318bd0 100644
--- a/idea/src/org/jetbrains/kotlin/idea/inspections/AddVarianceModifierInspection.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/AddVarianceModifierInspection.kt
@@ -56,8 +56,8 @@ class AddVarianceModifierInspection : AbstractKotlinInspection() {
val variances = listOf(Variance.IN_VARIANCE, Variance.OUT_VARIANCE).filter {
variancePossible(klass, parameterDescriptor, it, context)
}
- if (variances.isNotEmpty()) {
- val suggested = variances.joinToString(" or ") { "'$it'" }
+ if (variances.size == 1) {
+ val suggested = variances.first()
val fixes = variances.map { AddVarianceFix(it) }
holder.registerProblem(
typeParameter,
diff --git a/idea/testData/inspections/addVarianceModifier/inspectionData/expected.xml b/idea/testData/inspections/addVarianceModifier/inspectionData/expected.xml
index 07cddc55bc5..1dceb4a8681 100644
--- a/idea/testData/inspections/addVarianceModifier/inspectionData/expected.xml
+++ b/idea/testData/inspections/addVarianceModifier/inspectionData/expected.xml
@@ -31,12 +31,4 @@
Type parameter can have 'in' or 'out' variance
Type parameter can have 'in' variance
-
- test.kt
- 24
- light_idea_test_case
-
- Type parameter can have 'in' or 'out' variance
- Type parameter can have 'in' or 'out' variance
-
\ No newline at end of file
diff --git a/idea/testData/inspections/addVarianceModifier/test.kt b/idea/testData/inspections/addVarianceModifier/test.kt
index 12b0cdde047..79fbaf60121 100644
--- a/idea/testData/inspections/addVarianceModifier/test.kt
+++ b/idea/testData/inspections/addVarianceModifier/test.kt
@@ -21,7 +21,7 @@ abstract class AbstractOut {
abstract class AbstractIn(private val foo: T) {
fun bar(arg: T) = foo == arg
}
-interface Empty
+interface Empty // here we do not report anything to avoid ambiguity
abstract class AbstractInv(var foo: T)
diff --git a/idea/testData/quickfix/addVarianceModifier/emptyTest.kt b/idea/testData/quickfix/addVarianceModifier/emptyTest.kt
index 0987b32a730..1b5241428c6 100644
--- a/idea/testData/quickfix/addVarianceModifier/emptyTest.kt
+++ b/idea/testData/quickfix/addVarianceModifier/emptyTest.kt
@@ -1,2 +1,3 @@
-// "Add 'out' variance" "true"
+// "Add 'out' variance" "false"
+// ACTION: Implement interface
interface Empty<T>
\ No newline at end of file
diff --git a/idea/testData/quickfix/addVarianceModifier/emptyTest.kt.after b/idea/testData/quickfix/addVarianceModifier/emptyTest.kt.after
deleted file mode 100644
index face154ad24..00000000000
--- a/idea/testData/quickfix/addVarianceModifier/emptyTest.kt.after
+++ /dev/null
@@ -1,2 +0,0 @@
-// "Add 'out' variance" "true"
-interface Empty
\ No newline at end of file