Turn only input type warning to error
^KT-45482 Fixed
This commit is contained in:
+1
-4
@@ -478,10 +478,7 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
OnlyInputTypesDiagnostic::class.java -> {
|
||||
val typeVariable = (error as OnlyInputTypesDiagnostic).typeVariable as? TypeVariableFromCallableDescriptor ?: return
|
||||
psiKotlinCall.psiCall.calleeExpression?.let {
|
||||
val factory = if (context.languageVersionSettings.supportsFeature(LanguageFeature.NonStrictOnlyInputTypesChecks))
|
||||
TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING
|
||||
else TYPE_INFERENCE_ONLY_INPUT_TYPES
|
||||
trace.report(factory.on(it, typeVariable.originalTypeParameter))
|
||||
trace.report(TYPE_INFERENCE_ONLY_INPUT_TYPES.on(it, typeVariable.originalTypeParameter))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ fun box(): String {
|
||||
assertEquals(null, pNUnit!!::class.javaPrimitiveType)
|
||||
|
||||
assertEquals(null, Unit::class.javaPrimitiveType)
|
||||
@Suppress("TYPE_INFERENCE_ONLY_INPUT_TYPES")
|
||||
assertEquals(java.lang.Void.TYPE, Nothing::class.javaPrimitiveType)
|
||||
|
||||
return "OK"
|
||||
|
||||
@@ -89,9 +89,9 @@ fun main(a: test.A, l: L<Map<String, Int>, Int?>, l1: L<Map<String, Int>, Int>)
|
||||
a.bar(<!TYPE_MISMATCH!>l1 <!UNCHECKED_CAST!>as L<Map<String, Int>, Int?><!><!>)
|
||||
|
||||
a.baz1().t().containsKey("")
|
||||
a.baz1().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES{OI}, TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING{NI}!>containsKey<!>(null)
|
||||
a.baz1().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES!>containsKey<!>(null)
|
||||
a.baz1().t().containsValue(1)
|
||||
a.baz1().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES{OI}, TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING{NI}!>containsValue<!>(null)
|
||||
a.baz1().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES!>containsValue<!>(null)
|
||||
a.baz1().s().hashCode()
|
||||
|
||||
a.baz1().setT(l.t())
|
||||
@@ -105,8 +105,8 @@ fun main(a: test.A, l: L<Map<String, Int>, Int?>, l1: L<Map<String, Int>, Int>)
|
||||
a.baz2().s().hashCode()
|
||||
|
||||
a.baz3().t().containsKey("")
|
||||
a.baz3().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES{OI}, TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING{NI}!>containsKey<!>(null)
|
||||
a.baz3().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES!>containsKey<!>(null)
|
||||
a.baz3().t().containsValue(1)
|
||||
a.baz3().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES{OI}, TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING{NI}!>containsValue<!>(null)
|
||||
a.baz3().t().<!TYPE_INFERENCE_ONLY_INPUT_TYPES!>containsValue<!>(null)
|
||||
a.baz3().s().hashCode()
|
||||
}
|
||||
|
||||
+3
-3
@@ -29,8 +29,8 @@ fun case_1(value_1: Int, value_2: EmptyClass, value_3: Int, value_4: Any): Strin
|
||||
*/
|
||||
fun case_2(value_1: Int, value_3: Nothing) {
|
||||
when (value_1) {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY, UNREACHABLE_CODE!>in<!> value_3 -> <!UNREACHABLE_CODE!>{}<!>
|
||||
<!UNREACHABLE_CODE!><!OVERLOAD_RESOLUTION_AMBIGUITY!>in<!> throw Exception() -> {}<!>
|
||||
<!UNREACHABLE_CODE!><!OVERLOAD_RESOLUTION_AMBIGUITY!>in<!> return -> {}<!>
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY, TYPE_MISMATCH_IN_RANGE, UNREACHABLE_CODE!>in<!> value_3 -> <!UNREACHABLE_CODE!>{}<!>
|
||||
<!UNREACHABLE_CODE!><!OVERLOAD_RESOLUTION_AMBIGUITY, TYPE_MISMATCH_IN_RANGE!>in<!> throw Exception() -> {}<!>
|
||||
<!UNREACHABLE_CODE!><!OVERLOAD_RESOLUTION_AMBIGUITY, TYPE_MISMATCH_IN_RANGE!>in<!> return -> {}<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ open class Case1<K : Number> {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("L & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.get(0)
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.size
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.isEmpty()
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ open class Case1<K : Number> {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("L & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.get(0)
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.size
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.isEmpty()
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ open class Case1<K : Number> {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("L & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.get(0)
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.size
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>.isEmpty()
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES_WARNING!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
<!TYPE_INFERENCE_ONLY_INPUT_TYPES!><!DEBUG_INFO_EXPRESSION_TYPE("M & kotlin.Any?"), DEBUG_INFO_SMARTCAST!>x<!>[null]<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user