Add tests for obsolete issues
#KT-12008 Obsolete #KT-11881 Obsolete #KT-10822 Obsolete
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
var result = ""
|
||||
|
||||
interface A {
|
||||
fun foo() {
|
||||
result += "foo;"
|
||||
}
|
||||
}
|
||||
|
||||
interface B : A {
|
||||
fun hoo() {
|
||||
result += "hoo;"
|
||||
}
|
||||
}
|
||||
|
||||
fun<T : A> doer(init: () -> T): T = init()
|
||||
|
||||
class Z {
|
||||
operator fun<T : A> invoke(init: Z.() -> T): T = init()
|
||||
infix fun<T : A> doer(init: Z.() -> T): T = init()
|
||||
|
||||
}
|
||||
|
||||
interface ARoot<T> {
|
||||
val self : T
|
||||
infix fun<U : A> consume(init: T.() -> U): U = self.init()
|
||||
operator fun<U : A> invoke(init: T.() -> U): U = self.init()
|
||||
}
|
||||
|
||||
class Y : ARoot<Y> {
|
||||
override val self: Y
|
||||
get() = this
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
doer {
|
||||
object : B {}
|
||||
}.hoo()
|
||||
val z = Z()
|
||||
val y = Y()
|
||||
z.doer { object : B {} }.hoo()
|
||||
y {
|
||||
z {
|
||||
object : B {}
|
||||
}
|
||||
}.hoo()
|
||||
|
||||
y.consume {
|
||||
z {
|
||||
object : B {}
|
||||
}
|
||||
}.hoo()
|
||||
|
||||
|
||||
z {
|
||||
object : B {}
|
||||
}.foo()
|
||||
|
||||
z.doer { object : B {} }.foo()
|
||||
z.doer { object : B {} }.hoo()
|
||||
|
||||
return if (result == "hoo;hoo;hoo;hoo;foo;foo;hoo;") "OK" else "Fail: $result"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// FULL_JDK
|
||||
|
||||
import java.util.*
|
||||
|
||||
fun foo(<!UNUSED_PARAMETER!>o<!>: Optional<String>) {}
|
||||
|
||||
class Test(nullable: String?) {
|
||||
private val nullableOptional = Optional.ofNullable(nullable)
|
||||
fun doIt() {
|
||||
foo(nullableOptional)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ o: java.util.Optional<kotlin.String>): kotlin.Unit
|
||||
|
||||
public final class Test {
|
||||
public constructor Test(/*0*/ nullable: kotlin.String?)
|
||||
private final val nullableOptional: java.util.Optional<kotlin.String>
|
||||
public final fun doIt(): kotlin.Unit
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
class Inv<T>
|
||||
|
||||
inline operator fun <reified T> Inv<T>.invoke() {}
|
||||
|
||||
operator fun <K> Inv<K>.get(<!UNUSED_PARAMETER!>i<!>: Int): Inv<K> = this
|
||||
|
||||
fun <K> test(a: Inv<K>) {
|
||||
<!TYPE_PARAMETER_AS_REIFIED!>a[1]()<!>
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package
|
||||
|
||||
public fun </*0*/ K> test(/*0*/ a: Inv<K>): kotlin.Unit
|
||||
public operator fun </*0*/ K> Inv<K>.get(/*0*/ i: kotlin.Int): Inv<K>
|
||||
public inline operator fun </*0*/ reified T> Inv<T>.invoke(): kotlin.Unit
|
||||
|
||||
public final class Inv</*0*/ T> {
|
||||
public constructor Inv</*0*/ T>()
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user