Don't report the same diagnsotics several times
This commit is contained in:
+5
-4
@@ -1,3 +1,4 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
interface Foo
|
||||
interface Bar : Foo
|
||||
|
||||
@@ -12,14 +13,14 @@ val foo: Foo = run {
|
||||
<!DEBUG_INFO_SMARTCAST!>x<!>
|
||||
}
|
||||
|
||||
val foofoo: Foo = run {
|
||||
val foofoo: Foo = <!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>run<!> {
|
||||
val x = foo()
|
||||
if (x == null) throw Exception()
|
||||
<!DEBUG_INFO_SMARTCAST, TYPE_MISMATCH!>x<!>
|
||||
<!DEBUG_INFO_SMARTCAST, TYPE_MISMATCH{NI}!>x<!>
|
||||
}
|
||||
|
||||
val bar: Bar = <!TYPE_MISMATCH!>run {
|
||||
val bar: Bar = <!TYPE_MISMATCH{NI}!><!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS{OI}!>run<!> {
|
||||
val x = foo()
|
||||
if (x == null) throw Exception()
|
||||
<!DEBUG_INFO_SMARTCAST, TYPE_MISMATCH, TYPE_MISMATCH!>x<!>
|
||||
<!DEBUG_INFO_SMARTCAST{NI}, TYPE_MISMATCH!>x<!>
|
||||
}<!>
|
||||
|
||||
@@ -8,7 +8,7 @@ fun foo() {
|
||||
return true
|
||||
}
|
||||
<!SMARTCAST_IMPOSSIBLE!>i<!>.hashCode()
|
||||
trans(<!SMARTCAST_IMPOSSIBLE, SMARTCAST_IMPOSSIBLE!>i<!>, ::can)
|
||||
trans(<!SMARTCAST_IMPOSSIBLE!>i<!>, ::can)
|
||||
<!SMARTCAST_IMPOSSIBLE!>i<!>.hashCode()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ fun foo(): Int {
|
||||
k.run()
|
||||
val d: Int = <!DEBUG_INFO_SMARTCAST!>c<!>
|
||||
// a is captured so smart cast is not possible
|
||||
return d + <!SMARTCAST_IMPOSSIBLE, SMARTCAST_IMPOSSIBLE!>a<!>
|
||||
return d + <!SMARTCAST_IMPOSSIBLE!>a<!>
|
||||
}
|
||||
else return -1
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,5 +5,5 @@ fun foo(x: Int, f: () -> Unit, y: Int) {}
|
||||
fun bar() {
|
||||
var x: Int?
|
||||
x = 4
|
||||
foo(<!DEBUG_INFO_SMARTCAST!>x<!>, { x = null; x<!UNSAFE_CALL!>.<!>hashCode() }, <!SMARTCAST_IMPOSSIBLE, SMARTCAST_IMPOSSIBLE!>x<!>)
|
||||
foo(<!DEBUG_INFO_SMARTCAST!>x<!>, { x = null; x<!UNSAFE_CALL!>.<!>hashCode() }, <!SMARTCAST_IMPOSSIBLE!>x<!>)
|
||||
}
|
||||
|
||||
@@ -6,5 +6,5 @@ fun bar(s: String): Int {
|
||||
|
||||
fun foo(m: MyClass): Int {
|
||||
m.p = "xyz"
|
||||
return bar(<!SMARTCAST_IMPOSSIBLE, SMARTCAST_IMPOSSIBLE!>m.p<!>)
|
||||
return bar(<!SMARTCAST_IMPOSSIBLE!>m.p<!>)
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun IntArray.forEachIndexed( op: (i: Int, value: Int) -> Unit) {
|
||||
fun max(a: IntArray): Int? {
|
||||
var maxI: Int? = null
|
||||
a.forEachIndexed { i, value ->
|
||||
if (maxI == null || value >= a[<!SMARTCAST_IMPOSSIBLE, SMARTCAST_IMPOSSIBLE!>maxI<!>])
|
||||
if (maxI == null || value >= a[<!SMARTCAST_IMPOSSIBLE!>maxI<!>])
|
||||
maxI = i
|
||||
}
|
||||
return maxI
|
||||
|
||||
Reference in New Issue
Block a user