Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed
This commit is contained in:
-21
@@ -1,21 +0,0 @@
|
||||
// FILE: f1.kt
|
||||
// SKIP_TXT
|
||||
|
||||
package kotlin
|
||||
|
||||
class Unit
|
||||
|
||||
// FILE: f2.kt
|
||||
|
||||
class C: MutableIterator<Int> {
|
||||
override fun remove(): Unit {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
override fun next(): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
override fun hasNext(): Boolean {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: f1.kt
|
||||
// SKIP_TXT
|
||||
|
||||
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A
|
||||
public class B {
|
||||
public val a: A = A()
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A {
|
||||
val x = 1
|
||||
}
|
||||
|
||||
public fun foo(a: A) {
|
||||
a.x + 1
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: b.kt
|
||||
|
||||
import p.*
|
||||
|
||||
fun test() {
|
||||
foo(B().a)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public interface A
|
||||
public class B : A
|
||||
public class M1 {
|
||||
public val b: B = B()
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
|
||||
package p
|
||||
|
||||
public interface A
|
||||
|
||||
public fun foo(a: A) {
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: b.kt
|
||||
|
||||
import p.*
|
||||
|
||||
fun test() {
|
||||
foo(M1().b)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
Vendored
-23
@@ -1,23 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A
|
||||
public class B {
|
||||
public val a: A = A()
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
|
||||
package p
|
||||
|
||||
class A {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val a: A = B().a
|
||||
a.foo()
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A<T>
|
||||
public class M1 {
|
||||
public val a: A<Int> = A()
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A<T>
|
||||
|
||||
public fun foo(a: A<Int>) {
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: b.kt
|
||||
|
||||
import p.*
|
||||
|
||||
fun test() {
|
||||
foo(M1().a)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
Vendored
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(a: T)
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C<X> : B<X> {
|
||||
override fun foo(a: X)
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(a: T)
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B<String>?) {
|
||||
if (b is C) {
|
||||
b?.foo("")
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(a: T?)
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C<X> : B<X> {
|
||||
override fun foo(a: X?)
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface Tr
|
||||
|
||||
public interface B<T: Tr?> {
|
||||
public fun foo(a: T?)
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B<Tr>?) {
|
||||
if (b is C) {
|
||||
b?.foo(null)
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(a: T)
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C<X> : B<X> {
|
||||
override fun foo(a: X)
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B<T1> {
|
||||
public fun foo(a: T1)
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun <Y> test(b: B<Y>?, y: Y) {
|
||||
if (b is C) {
|
||||
b?.foo(y)
|
||||
}
|
||||
}
|
||||
compiler/testData/diagnostics/tests/multimodule/duplicateMethod/classGenericsInParamsNameMismatch.kt
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
Vendored
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(): T
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C<X> : B<X> {
|
||||
override fun foo(): X
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B<T> {
|
||||
public fun foo(): T
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B<String>?) {
|
||||
if (b is C) {
|
||||
b?.foo()
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
Vendored
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a: Int, b: String): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun foo(a: Int, b: String): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a1: Int, b1: String): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b is C) {
|
||||
b?.foo(1, "")
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun String.getParent(): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public class C : B {
|
||||
override fun String.getParent(): B? = null
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun String.getParent(): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun B.test() {
|
||||
if (this is C) {
|
||||
"".getParent()
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
Vendored
-42
@@ -1,42 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun <T> foo(a: T): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b is C) {
|
||||
b?.foo<String>("")
|
||||
}
|
||||
}
|
||||
|
||||
fun test1(b: B?) {
|
||||
if (b is C) {
|
||||
b?.foo("")
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun <T> foo(a: T): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b == null) return
|
||||
b?.foo<String>("")
|
||||
}
|
||||
|
||||
fun test1(b: B?) {
|
||||
if (b != null) {
|
||||
b?.foo<String>("")
|
||||
}
|
||||
}
|
||||
|
||||
fun test2(b: B?) {
|
||||
if (b == null) return
|
||||
b?.foo("")
|
||||
}
|
||||
|
||||
fun test3(b: B?) {
|
||||
if (b != null) {
|
||||
b?.foo("")
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
compiler/testData/diagnostics/tests/multimodule/duplicateMethod/functionGenericsInParamsNotIs.fir.kt
Vendored
-40
@@ -1,40 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun <T> foo(a: T): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo("")
|
||||
}
|
||||
|
||||
fun test1(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo<String>("")
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface Foo<T>
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): Foo<T>
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun <T> foo(a: T): Foo<T>
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface Foo<T>
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): Foo<T>
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo("")
|
||||
}
|
||||
|
||||
fun test1(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo<String>("")
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): T
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun <T> foo(a: T): T
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun <T> foo(a: T): T
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo("")
|
||||
}
|
||||
|
||||
fun test1(b: B?) {
|
||||
if (b !is C) return
|
||||
b?.foo<String>("")
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a: Int, b: String): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun foo(a: Int, b: String): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a: Int, b: String): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b is C) {
|
||||
b?.foo(1, "")
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun getParent(): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public class C : B {
|
||||
override fun getParent(): B? = null
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun getParent(): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?) {
|
||||
if (b is C) {
|
||||
b?.getParent()
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m1
|
||||
|
||||
Vendored
-43
@@ -1,43 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m0
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface G1<T>
|
||||
public interface G2<A, B>
|
||||
|
||||
// MODULE: m1(m0)
|
||||
// FILE: a.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a: G1<Int>, b: G2<B, String>): B?
|
||||
}
|
||||
|
||||
// MODULE: m2(m1, m0)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface C : B {
|
||||
override fun foo(a: G1<Int>, b: G2<B, String>): B?
|
||||
|
||||
}
|
||||
|
||||
// MODULE: m3(m0)
|
||||
// FILE: b.kt
|
||||
package p
|
||||
|
||||
public interface B {
|
||||
public fun foo(a: G1<Int>, b: G2<B, String>): B?
|
||||
}
|
||||
|
||||
// MODULE: m4(m3, m2, m0)
|
||||
// FILE: c.kt
|
||||
import p.*
|
||||
|
||||
fun test(b: B?, a: G1<Int>, b1: G2<B, String>) {
|
||||
if (b is C) {
|
||||
b?.foo(a, b1)
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL
|
||||
|
||||
// MODULE: m0
|
||||
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun foo() {}
|
||||
}
|
||||
|
||||
public interface A : Base {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
public interface C : A
|
||||
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun foo() {}
|
||||
}
|
||||
|
||||
public interface B : Base
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: x.kt
|
||||
|
||||
import p.*
|
||||
|
||||
class Foo: C, B
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun foo() {}
|
||||
}
|
||||
|
||||
public interface A : Base
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun foo() {}
|
||||
}
|
||||
|
||||
public interface B : Base
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: x.kt
|
||||
|
||||
import p.*
|
||||
|
||||
class Foo: A, B
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
Vendored
-29
@@ -1,29 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun <T> foo(t: Array<T>) {}
|
||||
}
|
||||
|
||||
public interface A : Base
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base {
|
||||
public fun <T: Base> foo(t: Array<T>) {}
|
||||
}
|
||||
|
||||
public interface B : Base
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: x.kt
|
||||
|
||||
import p.*
|
||||
|
||||
class Foo: A, B {
|
||||
override fun <T> foo(t: Array<T>) {}
|
||||
override fun <T: Base> foo(t: Array<T>) {}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
Vendored
-26
@@ -1,26 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base<T> {
|
||||
public fun foo(t: T) {}
|
||||
}
|
||||
|
||||
public interface A<T> : Base<T>
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
public interface Base<T> {
|
||||
public fun foo(t: T) {}
|
||||
}
|
||||
|
||||
public interface B : Base<String>
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: x.kt
|
||||
|
||||
import p.*
|
||||
|
||||
class Foo: A<String>, B
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: x.kt
|
||||
package p
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
// MODULE: m1
|
||||
// FILE: test/Foo.java
|
||||
|
||||
package test;
|
||||
|
||||
class Foo {
|
||||
static Foo create() { return Foo(); }
|
||||
void takeFoo(Foo f) {}
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
// FILE: test.kt
|
||||
|
||||
package test
|
||||
|
||||
fun test() {
|
||||
Foo()
|
||||
val a: Foo = Foo.create()
|
||||
Foo().takeFoo(a)
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1
|
||||
// FILE: test/Foo.java
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public fun foo(a: Int) {}
|
||||
public fun foo(vararg values: Int) {}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
|
||||
package p
|
||||
|
||||
public fun foo(a: Int) {}
|
||||
public fun foo(vararg values: Int) {}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: c.kt
|
||||
package m
|
||||
|
||||
import p.foo
|
||||
|
||||
fun main() {
|
||||
foo(12)
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
Reference in New Issue
Block a user