[NI] Fix testdata after introducing DefinitelyNotNull types
This commit is contained in:
+1
-1
@@ -9,6 +9,6 @@ interface B: A
|
|||||||
fun <T> test(x: T) where T : C?, T : B? {
|
fun <T> test(x: T) where T : C?, T : B? {
|
||||||
x?.foo()
|
x?.foo()
|
||||||
if (x != null) {
|
if (x != null) {
|
||||||
<!OI;DEBUG_INFO_SMARTCAST!>x<!><!NI;UNSAFE_CALL!>.<!>foo()
|
<!DEBUG_INFO_SMARTCAST!>x<!>.foo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+17
@@ -0,0 +1,17 @@
|
|||||||
|
// FILE: First.java
|
||||||
|
|
||||||
|
public class First<T extends Sample> {
|
||||||
|
public static <D extends Sample> void bind(First<D> first) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: SubFirst.java
|
||||||
|
|
||||||
|
public class SubFirst<D extends Sample> extends First<D> {}
|
||||||
|
|
||||||
|
// FILE: test.kt
|
||||||
|
|
||||||
|
interface Sample
|
||||||
|
|
||||||
|
fun test(s: SubFirst<*>) {
|
||||||
|
First.bind(s)
|
||||||
|
}
|
||||||
Vendored
+29
@@ -0,0 +1,29 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
public fun test(/*0*/ s: SubFirst<*>): kotlin.Unit
|
||||||
|
|
||||||
|
public open class First</*0*/ T : Sample!> {
|
||||||
|
public constructor First</*0*/ T : Sample!>()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
// Static members
|
||||||
|
public open fun </*0*/ D : Sample!> bind(/*0*/ first: First<D!>!): kotlin.Unit
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Sample {
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
public open class SubFirst</*0*/ D : Sample!> : First<D!> {
|
||||||
|
public constructor SubFirst</*0*/ D : Sample!>()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
// Static members
|
||||||
|
public open override /*1*/ /*fake_override*/ fun </*0*/ D : Sample!> bind(/*0*/ first: First<D!>!): kotlin.Unit
|
||||||
|
}
|
||||||
+3
-3
@@ -1,14 +1,14 @@
|
|||||||
// !WITH_NEW_INFERENCE
|
// !WITH_NEW_INFERENCE
|
||||||
fun <E : String?, T : ((CharSequence) -> Unit)?> foo(x: E, y: T) {
|
fun <E : String?, T : ((CharSequence) -> Unit)?> foo(x: E, y: T) {
|
||||||
if (x != null) {
|
if (x != null) {
|
||||||
<!NI;UNSAFE_CALL, OI;UNSAFE_IMPLICIT_INVOKE_CALL!>y<!>(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
<!NI;UNSAFE_CALL, OI;UNSAFE_IMPLICIT_INVOKE_CALL!>y<!>(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (y != null) {
|
if (y != null) {
|
||||||
<!NI;UNSAFE_CALL, OI;DEBUG_INFO_SMARTCAST!>y<!>(<!TYPE_MISMATCH!>x<!>)
|
<!DEBUG_INFO_SMARTCAST!>y<!>(<!TYPE_MISMATCH!>x<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x != null && y != null) {
|
if (x != null && y != null) {
|
||||||
<!NI;UNSAFE_CALL, OI;DEBUG_INFO_SMARTCAST!>y<!>(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
<!DEBUG_INFO_SMARTCAST!>y<!>(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,13 +12,13 @@ fun <T : CharSequence?> foo(x: T) {
|
|||||||
if (x != null) {
|
if (x != null) {
|
||||||
if (<!SENSELESS_COMPARISON!>x != null<!>) {}
|
if (<!SENSELESS_COMPARISON!>x != null<!>) {}
|
||||||
|
|
||||||
<!OI;DEBUG_INFO_SMARTCAST!>x<!><!NI;UNSAFE_CALL!>.<!>length
|
<!DEBUG_INFO_SMARTCAST!>x<!>.length
|
||||||
x<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
x<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
||||||
|
|
||||||
x.bar1()
|
<!NI;DEBUG_INFO_SMARTCAST!>x<!>.bar1()
|
||||||
x.bar2()
|
x.bar2()
|
||||||
x<!NI;UNSAFE_CALL!>.<!><!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
<!NI;DEBUG_INFO_SMARTCAST!>x<!>.<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
||||||
<!OI;DEBUG_INFO_SMARTCAST!>x<!><!NI;UNSAFE_CALL!>.<!>bar4()
|
<!DEBUG_INFO_SMARTCAST!>x<!>.bar4()
|
||||||
|
|
||||||
|
|
||||||
x<!UNNECESSARY_SAFE_CALL!>?.<!>bar1()
|
x<!UNNECESSARY_SAFE_CALL!>?.<!>bar1()
|
||||||
|
|||||||
+6
-6
@@ -11,13 +11,13 @@ fun <T : String?> T.foo() {
|
|||||||
if (this != null) {
|
if (this != null) {
|
||||||
if (<!SENSELESS_COMPARISON!>this != null<!>) {}
|
if (<!SENSELESS_COMPARISON!>this != null<!>) {}
|
||||||
|
|
||||||
<!NI;UNSAFE_CALL!>length<!>
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>length<!>
|
||||||
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
||||||
|
|
||||||
bar1()
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar1<!>()
|
||||||
bar2()
|
bar2()
|
||||||
<!NI;UNSAFE_CALL, OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST, OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
||||||
<!NI;UNSAFE_CALL!>bar4<!>()
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar4<!>()
|
||||||
|
|
||||||
|
|
||||||
this<!UNNECESSARY_SAFE_CALL!>?.<!>bar1()
|
this<!UNNECESSARY_SAFE_CALL!>?.<!>bar1()
|
||||||
@@ -29,8 +29,8 @@ fun <T : String?> T.foo() {
|
|||||||
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>length<!>
|
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>length<!>
|
||||||
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
|
||||||
|
|
||||||
bar1()
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar1<!>()
|
||||||
bar2()
|
bar2()
|
||||||
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
<!NI;DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST, OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+7
-7
@@ -11,12 +11,12 @@ fun <T : CharSequence?> foo(x: T) {
|
|||||||
if (x != null) {
|
if (x != null) {
|
||||||
if (<!SENSELESS_COMPARISON!>x != null<!>) {}
|
if (<!SENSELESS_COMPARISON!>x != null<!>) {}
|
||||||
|
|
||||||
y1 = <!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>
|
y1 = <!DEBUG_INFO_SMARTCAST!>x<!>
|
||||||
y2 = <!NI;TYPE_MISMATCH, TYPE_MISMATCH!>x<!>
|
y2 = <!NI;TYPE_MISMATCH, TYPE_MISMATCH!>x<!>
|
||||||
|
|
||||||
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(<!NI;TYPE_MISMATCH!>x<!>)
|
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(<!NI;DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar1<CharSequence>(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
bar1<CharSequence>(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar2(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
bar2(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar3(<!TYPE_MISMATCH!>x<!>)
|
bar3(<!TYPE_MISMATCH!>x<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,9 +40,9 @@ fun <T : CharSequence?> foo(x: T) {
|
|||||||
|
|
||||||
if (1 == 1) {
|
if (1 == 1) {
|
||||||
val y = x!!
|
val y = x!!
|
||||||
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(<!NI;TYPE_MISMATCH!>x<!>)
|
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(<!NI;DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar1<CharSequence>(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
bar1<CharSequence>(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar2(<!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>x<!>)
|
bar2(<!DEBUG_INFO_SMARTCAST!>x<!>)
|
||||||
bar3(<!TYPE_MISMATCH!>x<!>)
|
bar3(<!TYPE_MISMATCH!>x<!>)
|
||||||
|
|
||||||
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(y)
|
<!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar1<!>(y)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class A<T : CharSequence?, E1 : T, E2: T?> {
|
|||||||
t = <!NI;TYPE_MISMATCH, TYPE_MISMATCH!>y<!>
|
t = <!NI;TYPE_MISMATCH, TYPE_MISMATCH!>y<!>
|
||||||
|
|
||||||
if (y != null) {
|
if (y != null) {
|
||||||
t = <!NI;TYPE_MISMATCH, DEBUG_INFO_SMARTCAST!>y<!>
|
t = <!DEBUG_INFO_SMARTCAST!>y<!>
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tN != null) {
|
if (tN != null) {
|
||||||
|
|||||||
@@ -23,5 +23,5 @@ fun <T : String?> foo(x: T) {
|
|||||||
|
|
||||||
x<!NI;UNSAFE_CALL!>.<!><!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
x<!NI;UNSAFE_CALL!>.<!><!OI;TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>bar3<!>()
|
||||||
|
|
||||||
x?.let { it<!UNSAFE_CALL!>.<!>length }
|
x?.let { it<!OI;UNSAFE_CALL!>.<!>length }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ import java.util.stream.Stream
|
|||||||
fun test(a: Stream<String>) {
|
fun test(a: Stream<String>) {
|
||||||
a.collect(Collectors.toList()) checkType { _<MutableList<String>>() }
|
a.collect(Collectors.toList()) checkType { _<MutableList<String>>() }
|
||||||
// actually the inferred type is platform
|
// actually the inferred type is platform
|
||||||
a.collect(Collectors.toList()) checkType { <!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><List<String?>>() }
|
a.collect(Collectors.toList()) checkType { _<List<String?>>() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -10,6 +10,6 @@ fun <T> T.testThis(): String {
|
|||||||
if (this != null) {
|
if (this != null) {
|
||||||
return this<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.toString()
|
return this<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.toString()
|
||||||
}
|
}
|
||||||
<!NI;UNREACHABLE_CODE!>return<!> this!!<!NI;UNREACHABLE_CODE!>.toString()<!>
|
return this!!.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ fun test() {
|
|||||||
<!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>
|
<!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>
|
||||||
}<!>)
|
}<!>)
|
||||||
|
|
||||||
bar(<!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!><!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> ?: <!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!><!>)
|
bar(<!NI;TYPE_MISMATCH!><!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> ?: <!OI;CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!><!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bar(s: String) = s
|
fun bar(s: String) = s
|
||||||
@@ -9237,6 +9237,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/generics/nullability"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/generics/nullability"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("capturedTypeWithPlatformSupertype.kt")
|
||||||
|
public void testCapturedTypeWithPlatformSupertype() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/capturedTypeWithPlatformSupertype.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("declarationsBoundsViolation.kt")
|
@TestMetadata("declarationsBoundsViolation.kt")
|
||||||
public void testDeclarationsBoundsViolation() throws Exception {
|
public void testDeclarationsBoundsViolation() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/declarationsBoundsViolation.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/declarationsBoundsViolation.kt");
|
||||||
|
|||||||
+6
@@ -9237,6 +9237,12 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/generics/nullability"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/generics/nullability"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("capturedTypeWithPlatformSupertype.kt")
|
||||||
|
public void testCapturedTypeWithPlatformSupertype() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/capturedTypeWithPlatformSupertype.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("declarationsBoundsViolation.kt")
|
@TestMetadata("declarationsBoundsViolation.kt")
|
||||||
public void testDeclarationsBoundsViolation() throws Exception {
|
public void testDeclarationsBoundsViolation() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/declarationsBoundsViolation.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/nullability/declarationsBoundsViolation.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user