FIR: add bad test data changes related to not implemented checker

This commit is contained in:
Mikhail Glukhikh
2021-03-18 10:08:05 +03:00
parent 9ce8420491
commit 47d2a914bc
12 changed files with 90 additions and 6 deletions
@@ -1,3 +1,4 @@
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FULL_JDK
@@ -0,0 +1,25 @@
// FILE: AImpl.java
abstract public class AImpl {
public char charAt(int index) {
return '1';
}
public final int length() { return 1; }
}
// FILE: A.java
public class A extends AImpl implements CharSequence {
public CharSequence subSequence(int start, int end) {
return null;
}
}
// FILE: X.kt
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class X<!> : A()
fun main() {
val x = X()
x[0]
x.length
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// FILE: AImpl.java
abstract public class AImpl {
@@ -0,0 +1,28 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: AImpl.kt
abstract class AImpl {
fun charAt(index: Int): Char {
return '1'
}
fun length(): Int {
return 1
}
}
// FILE: A.java
public class A extends AImpl implements CharSequence {
public CharSequence subSequence(int start, int end) {
return null;
}
}
// FILE: X.kt
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class X<!> : A()
fun main() {
val x = X()
x[0]
x.length
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: AImpl.kt
@@ -108,7 +108,7 @@ public class A extends AImpl implements List<String> {
}
// FILE: X.kt
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class X<!> : A()
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class X<!> : A()
fun main() {
val x = X()
@@ -0,0 +1,24 @@
// KT-1730 Method which has been implemented by Java is recognized to be abstract.
// FILE: C.java
public class C implements java.lang.CharSequence {
@Override
public int length() {
return 3;
}
@Override
public char charAt(int index) {
return 48;
}
@Override
public CharSequence subSequence(int start, int end) {
return "ab";
}
@Override
public String toString() {
return "abc";
}
}
// FILE: T.kt
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class T<!> : C()
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// KT-1730 Method which has been implemented by Java is recognized to be abstract.
// FILE: C.java
@@ -0,0 +1,6 @@
// FULL_JDK
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class C1<!> : java.util.Hashtable<String, Int>()
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class C2<!> : java.util.Hashtable<String, Int>() {
override fun get(key: String) = 123
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// FULL_JDK
class C1 : java.util.Hashtable<String, Int>()
@@ -0,0 +1,5 @@
// FULL_JDK
import java.security.Provider
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class Example<!> : Provider("A", 1.0, "B")
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// FULL_JDK
import java.security.Provider