Add separate diagnostic renderer results for tests with NI

This commit is contained in:
Mikhail Zarechenskiy
2017-11-07 02:05:39 +03:00
parent 8757298994
commit 328c67b9e8
106 changed files with 1358 additions and 0 deletions
+2
View File
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
interface T {
val a = <!PROPERTY_INITIALIZER_IN_INTERFACE!><!UNRESOLVED_REFERENCE!>Foo<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()<!>
}
@@ -0,0 +1,8 @@
package
public interface T {
public open val a: kotlin.Any?
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
}
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
fun test() = 3
fun <T> proxy(t: T) = t
@@ -0,0 +1,29 @@
package
public fun </*0*/ T> proxy(/*0*/ t: T): T
public fun test(): kotlin.Int
public final class A {
public constructor A()
public final val test: kotlin.Int
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 final class B {
public constructor B()
public final val test: kotlin.Int
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 final class C {
public constructor C()
public final val bar: kotlin.Any?
public final val test: [ERROR : Type for bar()]
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
}
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// FILE: f.kt
package a
val foo = bar()
@@ -0,0 +1,36 @@
package
package a {
public val foo: kotlin.Any?
public fun bar(): [ERROR : Error function type]
}
package b {
public fun bar(): [ERROR : Error function type]
public fun foo(): kotlin.Any?
}
package c {
public fun bar(): kotlin.Any?
public fun bazz(): kotlin.Any?
public fun foo(): [ERROR : Error function type]
}
package ok {
package ok.a {
public val foo: kotlin.Int
public fun bar(): kotlin.Int
}
package ok.b {
public fun bar(): kotlin.Int
public fun foo(): kotlin.Int
}
package ok.c {
public fun bar(): kotlin.Int
public fun bazz(): kotlin.Int
public fun foo(): kotlin.Int
}
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
fun <T, R> apply(x: T, f: (T) -> R): R = f(x)
@@ -0,0 +1,8 @@
package
public val x1: kotlin.Unit
public val x2: kotlin.Unit
public val x3: kotlin.Nothing
public fun </*0*/ T, /*1*/ R> apply(/*0*/ x: T, /*1*/ f: (T) -> R): R
public fun foo(/*0*/ i: kotlin.Int): kotlin.Unit
public fun foo(/*0*/ s: kotlin.String): kotlin.Unit
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER,-CONFLICTING_JVM_DECLARATIONS
// NI_EXPECTED_FILE
fun foo(i: Int) = "$i"
fun foo(s: String) = s
@@ -0,0 +1,18 @@
package
public val x1: kotlin.String
public val x2: kotlin.String
public val x3: [ERROR : Type for fn2(::bar, ::foo)]
public val x4: [ERROR : Type for fn2(::foo, ::bar)]
public val x5: [ERROR : Type for fn2(::foo, ::foo)]
public val x6: kotlin.Int
public fun bar(/*0*/ s: kotlin.String): kotlin.String
public fun fn1(/*0*/ x: kotlin.Int, /*1*/ f1: (kotlin.Int) -> kotlin.String, /*2*/ f2: (kotlin.String) -> kotlin.String): kotlin.String
public fun fn2(/*0*/ f1: (kotlin.Int) -> kotlin.Int, /*1*/ f2: (kotlin.Int) -> kotlin.String): kotlin.String
public fun fn2(/*0*/ f1: (kotlin.Int) -> kotlin.String, /*1*/ f2: (kotlin.String) -> kotlin.String): kotlin.String
public fun fn2(/*0*/ f1: (kotlin.String) -> kotlin.String, /*1*/ f2: (kotlin.String) -> kotlin.String): kotlin.String
public fun fn3(/*0*/ i: kotlin.Int, /*1*/ f: (kotlin.Int, kotlin.Int, kotlin.Int) -> kotlin.Int): kotlin.Int
public fun foo(/*0*/ i: kotlin.Int): kotlin.String
public fun foo(/*0*/ s: kotlin.String): kotlin.String
public fun qux(/*0*/ i: kotlin.Int, /*1*/ j: kotlin.Int, /*2*/ k: kotlin.Int): kotlin.Int
public fun qux(/*0*/ a: kotlin.String, /*1*/ b: kotlin.String, /*2*/ c: kotlin.String, /*3*/ d: kotlin.String): kotlin.Unit
@@ -1,4 +1,5 @@
// !CHECK_TYPE
// NI_EXPECTED_FILE
interface Tr
interface G<T>
@@ -0,0 +1,15 @@
package
public fun test(/*0*/ tr: Tr): Tr
public interface G</*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
}
public interface Tr {
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
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// See KT-8277
// NI_EXPECTED_FILE
val v = { true } <!USELESS_ELVIS!>?: ( { true } <!USELESS_ELVIS_ON_LAMBDA_EXPRESSION!>?:<!> null!! )<!>
@@ -0,0 +1,12 @@
package
public val b: kotlin.Any
public val bb: () -> kotlin.Boolean
public val bbb: (() -> kotlin.Boolean)?
public val bbbb: (() -> kotlin.Boolean)?
public val n: () -> kotlin.Boolean
public val v: () -> kotlin.Boolean
public val w: () -> kotlin.Boolean
public val ww: () -> kotlin.Boolean
public fun f(/*0*/ x: kotlin.Long?): kotlin.Long
public fun l(): (() -> kotlin.Boolean)?
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// See KT-15566
// NI_EXPECTED_FILE
import DefaultHttpClient.client
@@ -0,0 +1,56 @@
package
private fun fClient(): HttpClientImpl
private fun </*0*/ T> lazy(/*0*/ init: () -> T): [ERROR : kotlin.Lazy<T>]<T>
public object DefaultFqHttpClient : HttpClient {
private constructor DefaultFqHttpClient()
public final val client: HttpClientImpl
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 object DefaultHttpClient : HttpClient {
private constructor DefaultHttpClient()
public final val client: HttpClientImpl
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 object DefaultHttpClientWithBy : HttpClient {
private constructor DefaultHttpClientWithBy()
public final val client: [ERROR : Type from delegate]
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 object DefaultHttpClientWithFun : HttpClient {
private constructor DefaultHttpClientWithFun()
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 object DefaultHttpClientWithGetter : HttpClient {
private constructor DefaultHttpClientWithGetter()
public final val client: HttpClientImpl
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 interface HttpClient {
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 final class HttpClientImpl : HttpClient {
public constructor HttpClientImpl()
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
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// AssertionError for nested ifs with lambdas and Nothing as results
// NI_EXPECTED_FILE
val <!OI;IMPLICIT_NOTHING_PROPERTY_TYPE!>fn<!> = if (true) {
<!OI;TYPE_MISMATCH!>{ true }<!>
@@ -0,0 +1,3 @@
package
public val fn: () -> kotlin.Boolean
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
import kotlin.reflect.KProperty
var a: Int by A()
@@ -0,0 +1,34 @@
package
public var a: kotlin.Int
public var a1: [ERROR : Type from delegate]
public var b: kotlin.Int
public var c: kotlin.String
public val cObj: C
public operator fun </*0*/ T> B.getValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>): T
public operator inline fun </*0*/ reified T> C.getValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>): T
public operator fun </*0*/ T> B.setValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>, /*2*/ x: T): kotlin.Unit
public operator inline fun </*0*/ reified T> C.setValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>, /*2*/ x: T): kotlin.Unit
public final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final operator fun </*0*/ T> getValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>): T
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final operator fun </*0*/ T> setValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>, /*2*/ x: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B {
public constructor B()
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 final class C {
public constructor C()
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
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
import kotlin.reflect.KProperty
class A {
@@ -0,0 +1,18 @@
package
public final class A {
public constructor A()
public final var a: kotlin.Nothing
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 final class MyProperty</*0*/ T, /*1*/ R> {
public constructor MyProperty</*0*/ T, /*1*/ R>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final operator fun getValue(/*0*/ thisRef: R, /*1*/ desc: kotlin.reflect.KProperty<*>): T
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final operator fun setValue(/*0*/ thisRef: R, /*1*/ desc: kotlin.reflect.KProperty<*>, /*2*/ t: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
import kotlin.reflect.KProperty
@@ -0,0 +1,18 @@
package
public final class B {
public constructor B()
public final val c: kotlin.Int
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 final class Delegate</*0*/ T : kotlin.Any> {
public constructor Delegate</*0*/ T : kotlin.Any>(/*0*/ init: T)
public final val init: T
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final operator fun getValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
import kotlin.reflect.KProperty
@@ -0,0 +1,14 @@
package
public val a: kotlin.Any?
public val b: kotlin.Int
public val c: [ERROR : Type from delegate]
public val d: kotlin.Any?
public final class Delegate {
public constructor Delegate(/*0*/ i: kotlin.Int)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final operator fun getValue(/*0*/ t: kotlin.Any?, /*1*/ p: kotlin.reflect.KProperty<*>): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,4 +1,5 @@
// KT-5943 StackOverflowError from commonSupertype of two enums
// NI_EXPECTED_FILE
enum class A { A }
enum class B { B }
@@ -0,0 +1,41 @@
package
public val x: kotlin.Enum<out kotlin.Enum<out kotlin.Enum<out kotlin.Enum<out kotlin.Enum<out kotlin.Enum<*>>>>>>
public final enum class A : kotlin.Enum<A> {
enum entry A
private constructor A()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: A): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<A!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): A
public final /*synthesized*/ fun values(): kotlin.Array<A>
}
public final enum class B : kotlin.Enum<B> {
enum entry B
private constructor B()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: B): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<B!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): B
public final /*synthesized*/ fun values(): kotlin.Array<B>
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val flag = true
// type of a was checked by txt
@@ -0,0 +1,6 @@
package
public val a: kotlin.Unit
public val b: kotlin.Unit
public val c: kotlin.Any
public val flag: kotlin.Boolean = true
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// KT-6822 Smart cast doesn't work inside local returned expression in lambda
val a /* :(Int?) -> Int? */ = l@ { it: Int? -> // but must be (Int?) -> Int
@@ -0,0 +1,6 @@
package
public val a: (kotlin.Int?) -> kotlin.Int?
public val b: kotlin.Int
public val c: kotlin.Int
public fun </*0*/ R> let(/*0*/ f: (kotlin.Int?) -> R): R
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !CHECK_TYPE
// NI_EXPECTED_FILE
private class Outer<E> {
private inner class Inner<out F> {
private fun <G> foo() = {
@@ -0,0 +1,22 @@
package
public fun </*0*/ T> magic(): T
private final class Outer</*0*/ E> {
public constructor Outer</*0*/ E>()
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
private final inner class Inner</*0*/ out F> /*captured type parameters: /*1*/ E*/ {
public constructor Inner</*0*/ out F>()
private final var doubleCharSequenceInt: Outer.Inner.foo.<anonymous>.baz.<anonymous>.Local<kotlin.Int, kotlin.CharSequence, kotlin.Double>
private final var doubleStringInt: Outer.Inner.foo.<anonymous>.baz.<anonymous>.Local<kotlin.Int, kotlin.String, kotlin.Double>
private final var doubleStringNumber: Outer.Inner.foo.<anonymous>.baz.<anonymous>.Local<kotlin.Number, kotlin.String, kotlin.Double>
private final fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
private final fun </*0*/ G> foo(): () -> Outer.Inner.foo.<anonymous>.baz.<anonymous>.Local<G, F, E>
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
interface In<in E>
class En<T> : In<T>
@@ -0,0 +1,24 @@
package
public fun foobar(/*0*/ e: En<*>): In<kotlin.Nothing>
public fun </*0*/ T> select(/*0*/ x: T, /*1*/ y: T): T
public final class A : In<A> {
public constructor A()
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 final class En</*0*/ T> : In<T> {
public constructor En</*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
}
public interface In</*0*/ in E> {
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
}
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
interface In<in E>
class A : In<A>
class B : In<B>
@@ -0,0 +1,24 @@
package
public fun foobar(/*0*/ a: A, /*1*/ b: B): In<kotlin.Nothing>?
public fun </*0*/ T> select(/*0*/ x: T, /*1*/ y: T): T?
public final class A : In<A> {
public constructor A()
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 final class B : In<B> {
public constructor B()
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 interface In</*0*/ in E> {
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
}
@@ -1,5 +1,7 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// See KT-10244: no intersection types in signatures
open class B
interface A
interface C
@@ -0,0 +1,34 @@
package
public fun bar(/*0*/ b: B): kotlin.String
public fun foo(/*0*/ b: B): kotlin.Any?
public fun gav(/*0*/ b: B): A?
public interface A {
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 B {
public constructor B()
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 interface C {
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 final class My {
public constructor My(/*0*/ b: B)
public final val x: kotlin.Any?
public final val y: C?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(/*0*/ b: B): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
interface In<in E>
open class A : In<A>
@@ -0,0 +1,24 @@
package
public fun foo2(): In<kotlin.Nothing>
public fun </*0*/ T> select(/*0*/ x: T, /*1*/ y: T): T
public open class A : In<A> {
public constructor A()
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 B : In<B> {
public constructor B()
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 interface In</*0*/ in E> {
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
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
fun <X, Y, Z> foo(f: (Y) -> Z, g: (X) -> Y, x: X): Z = f(g(x))
// TODO: Actually, this is a bug and will work when new inference is enabled
@@ -0,0 +1,4 @@
package
public fun </*0*/ X, /*1*/ Y, /*2*/ Z> foo(/*0*/ f: (Y) -> Z, /*1*/ g: (X) -> Y, /*2*/ x: X): Z
public fun test(): kotlin.Int
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
interface Trait {
fun bar() = 42
}
@@ -0,0 +1,43 @@
package
public final class Outer : Trait {
public constructor Outer()
public open override /*1*/ /*fake_override*/ fun bar(): kotlin.Int
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 final inner class Inner {
public constructor Inner()
public final val s: kotlin.Int
public final val t: kotlin.Int
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 final class Nested {
public constructor Nested()
public final val s: kotlin.Any?
public final val t: kotlin.Any?
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 final inner class NestedInner {
public constructor NestedInner()
public final val s: kotlin.Any?
public final val t: kotlin.Any?
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 interface Trait {
public open fun bar(): kotlin.Int
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
}
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
class Outer {
fun function() = 42
val property = ""
@@ -0,0 +1,43 @@
package
public final class Outer {
public constructor Outer()
public final val property: kotlin.String = ""
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun function(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public constructor Inner()
public final val innerProp: kotlin.String = ""
public final val innerThisProp: kotlin.String = ""
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 final fun innerFun(): kotlin.Int
public final fun innerThisFun(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class InnerInner {
public constructor InnerInner()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun f(): kotlin.Int
public final fun g(): kotlin.String
public final fun h(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun i(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public final class Nested {
public constructor Nested()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun f(): [ERROR : Error function type]
public final fun g(): [ERROR : Error function type]
public final fun h(): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun i(): [ERROR : <ERROR PROPERTY TYPE>]
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Outer {
class Nested<T>
}
@@ -0,0 +1,20 @@
package
public fun manyArguments(): Outer.Nested<kotlin.Any?>
public fun nested(): Outer.Nested<kotlin.Int>
public fun noArguments(): Outer.Nested<kotlin.Any?>
public fun noArgumentsExpectedType(): Outer.Nested<kotlin.String>
public final class Outer {
public constructor Outer()
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 final class Nested</*0*/ T> {
public constructor Nested</*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
}
}
+2
View File
@@ -1,5 +1,7 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// See KT-13401: SOE in VarianceChecker
interface Rec<T: Rec<T>> {
fun t(): T
}
+32
View File
@@ -0,0 +1,32 @@
package
public final class Owner</*0*/ in T> {
public constructor Owner</*0*/ in T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(/*0*/ arg: Owner<T>.Inner<*>): T
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ U : T> /*captured type parameters: /*1*/ in T*/ {
public constructor Inner</*0*/ U : T>(/*0*/ u: U)
public final val u: U
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun getT(): U
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public interface Rec</*0*/ T : Rec<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 abstract fun t(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Super</*0*/ out U> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun foo(/*0*/ p: Rec<*>): Rec<out Rec<out Rec<out Rec<out Rec<out kotlin.Any?>>>>>
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
package localObjects
object A {
@@ -0,0 +1,22 @@
package
package localObjects {
public val bb: kotlin.Any?
public fun test(): kotlin.Unit
public object A {
private constructor A()
public final val x: kotlin.Int = 0
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 Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -2,6 +2,7 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// !CHECK_TYPE
// JAVAC_SKIP
// NI_EXPECTED_FILE
// FILE: p/J.java
package p;
@@ -0,0 +1,24 @@
package
public fun </*0*/ T> f(/*0*/ a: Out<T>, /*1*/ b: Out<T>, /*2*/ c: Out<T>): T
public fun </*0*/ T> out(/*0*/ t: T): Out<kotlin.collections.MutableList<T>>
public fun test(/*0*/ a: Out<kotlin.Nothing>, /*1*/ b: Out<kotlin.collections.MutableList<p.J>>): kotlin.Unit
public interface Out</*0*/ out T1> {
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
}
package p {
public open class J {
public constructor J()
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 j(): p.J!
}
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val <!NI;IMPLICIT_NOTHING_PROPERTY_TYPE!>x<!> get() = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo<!>()
val y get() = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>bar<!>()
@@ -0,0 +1,6 @@
package
public val x: kotlin.Nothing
public val y: kotlin.collections.List<kotlin.Nothing>
public fun </*0*/ E> bar(): kotlin.collections.List<E>
public fun </*0*/ E> foo(): E
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !CHECK_TYPE
// NI_EXPECTED_FILE
val x get() = <!NI;DEBUG_INFO_MISSING_UNRESOLVED, TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>x<!>
@@ -0,0 +1,18 @@
package
public val x: [ERROR : Error function type]
public fun </*0*/ E> id(/*0*/ x: E): E
public fun </*0*/ E> l(/*0*/ x: E): kotlin.collections.List<E>
public final class A {
public constructor A()
public final val a: [ERROR : Error function type]
public final val b: [ERROR : Error function type]
public final val u: [ERROR : Error function type]
public final val y: [ERROR : Error function type]
public final val z1: kotlin.Nothing
public final val z2: kotlin.collections.List<kotlin.Nothing>
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
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !LANGUAGE: -ShortSyntaxForPropertyGetters
// NI_EXPECTED_FILE
// blockBodyGetter.kt
<!UNSUPPORTED_FEATURE!>val x get() {
@@ -0,0 +1,38 @@
package
public val u: kotlin.String
public val x: [ERROR : No type, no body]
public val x1: kotlin.Nothing
public val x2: kotlin.String
public var x3: kotlin.Int
public val x4: [ERROR : Error function type]
public val x5: kotlin.Nothing?
public val y1: kotlin.collections.List<kotlin.Nothing>
public val y2: kotlin.collections.List<kotlin.Int>
public val y5: kotlin.Nothing
public val z2: kotlin.collections.List<kotlin.Int>
public fun </*0*/ E> bar(): kotlin.collections.List<E>
public fun </*0*/ E> foo(): E
public fun </*0*/ E> id(/*0*/ x: E): E
public fun </*0*/ E> l(/*0*/ x: E): kotlin.collections.List<E>
public final class A {
public constructor A()
public final val x: kotlin.Int
public final val y: kotlin.Int
public final val y2: kotlin.Int
public final val z: kotlin.collections.List<kotlin.String>
public final val z2: kotlin.collections.List<kotlin.collections.List<kotlin.String>>
public final val </*0*/ T> T.u: 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
}
public object Outer {
private constructor Outer()
private final var x: Outer.<get-x>.<no name provided>
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
}
@@ -1 +1,3 @@
// NI_EXPECTED_FILE
val unwrapped = <!UNRESOLVED_REFERENCE!>some<!>.<!SYNTAX!><<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>cabc<!><!SYNTAX!>$Wrapper<!><out <!DEBUG_INFO_MISSING_UNRESOLVED!>Any<!>>::<!DEBUG_INFO_MISSING_UNRESOLVED!>unwrap<!>
@@ -0,0 +1,3 @@
package
public val unwrapped: kotlin.Any?
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// JET-81 Assertion fails when processing self-referring anonymous objects
class Test {
@@ -0,0 +1,28 @@
package
public object A {
private constructor A()
public final val x: A
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 final class Test {
public constructor Test()
private final val y: Test.y.<no name provided>
public final val z: [ERROR : Type for y]
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 final class Test2 {
public constructor Test2()
private final val a: Test2.a.<no name provided>
public final val b: [ERROR : Type for a.x]
public final val c: kotlin.Int = 1
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
}
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
// See EA-76890 / KT-10843: NPE during analysis
fun lambda(x : Int?) = x?.<!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER, FUNCTION_CALL_EXPECTED, NO_VALUE_FOR_PARAMETER!>let<!> <!NI;UNRESOLVED_REFERENCE, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>l<!> {
<!OI;CANNOT_INFER_PARAMETER_TYPE!>y<!> ->
@@ -0,0 +1,3 @@
package
public fun lambda(/*0*/ x: kotlin.Int?): [ERROR : Error function type]
@@ -1,4 +1,5 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
@DslMarker
@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPEALIAS)
annotation class XMarker
@@ -0,0 +1,28 @@
package
public fun test(): kotlin.Unit
public fun Foo.foo(/*0*/ body: Foo.() -> kotlin.Unit): kotlin.Unit
public fun Foo.zbar(/*0*/ body: [ERROR : Recursive type alias: ZBar].() -> kotlin.Unit): kotlin.Unit
public final class Bar {
public constructor Bar()
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
}
@XMarker public final class Foo {
public constructor Foo()
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
}
@kotlin.DslMarker @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.TYPEALIAS}) public final annotation class XMarker : kotlin.Annotation {
public constructor XMarker()
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 typealias YBar = ZBar
public typealias ZBar = YBar
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
package i
val <T> List<T>.length = <!UNRESOLVED_REFERENCE, EXTENSION_PROPERTY_WITH_BACKING_FIELD!>size<!>
@@ -0,0 +1,35 @@
package
package i {
public val i.C.bar: i.C.D
public val kotlin.String.bd: kotlin.Any?
public val kotlin.String.bd1: kotlin.String
public val i.A.foo: [ERROR : Type for ii]
public val i.C.foo: i.C.D
public val i.A.foo1: kotlin.Int
public val i.C.foo1: i.C.D
public val </*0*/ T> kotlin.collections.List<T>.length: [ERROR : Type for size]
public val </*0*/ T> kotlin.collections.List<T>.length1: kotlin.Int
public final class A {
public constructor A()
public final val ii: kotlin.Int = 1
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 final class C {
public constructor C()
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 final inner class D {
public constructor D()
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
}
}
}
@@ -1,5 +1,6 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
// NI_EXPECTED_FILE
class A(x: Int) {
constructor(x: Double): this(1)
constructor(x: String): this(1)
@@ -0,0 +1,32 @@
package
public val x1: A
public val x2: A
public val x3: A
public val y1: B<kotlin.Int>
public val y10: B<kotlin.Any?>
public val y2: B<kotlin.Int>
public val y3: B<kotlin.Int>
public val y4: B<kotlin.Int>
public val y5: B<kotlin.String>
public val y6: B<kotlin.String>
public val y7: B<kotlin.String>
public val y8: B<kotlin.String>
public val y9: B<kotlin.Int>
public final class A {
public constructor A(/*0*/ x: kotlin.Double)
public constructor A(/*0*/ x: kotlin.Int)
public constructor A(/*0*/ x: kotlin.String)
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 final class B</*0*/ R> {
public constructor B</*0*/ R>(/*0*/ x: R)
public constructor B</*0*/ R>(/*0*/ x: kotlin.String)
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
}
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE
// NI_EXPECTED_FILE
inline fun <T> foo(t1: T, t2: T) = t1 ?: t2
@@ -0,0 +1,5 @@
package
public inline fun </*0*/ T> bar(/*0*/ l: (T) -> kotlin.Unit): T
public inline fun </*0*/ T> foo(/*0*/ t1: T, /*1*/ t2: T): T?
public fun use(): kotlin.Unit
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE
// NI_EXPECTED_FILE
// See KT-9143: smart cast on a variable nulled inside a lambda argument
inline fun <T> foo(t1: T, t2: T) = t1 ?: t2
@@ -0,0 +1,5 @@
package
public inline fun </*0*/ T> bar(/*0*/ l: (T) -> kotlin.Unit): T
public inline fun </*0*/ T> foo(/*0*/ t1: T, /*1*/ t2: T): T?
public fun use(): kotlin.Unit
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Outer {
inner class Inner
}
@@ -0,0 +1,39 @@
package
public fun test1(/*0*/ x: Outer): OI /* = Outer.Inner */
public fun test2(/*0*/ x: Generic<kotlin.Int>): GI<kotlin.Int> /* = Generic<kotlin.Int>.Inner */
public fun </*0*/ T> test3(/*0*/ x: Generic<T>): GI<T> /* = Generic<T>.Inner */
public fun </*0*/ T> test4(/*0*/ x: Generic<kotlin.collections.List<T>>): GI<kotlin.collections.List<T>> /* = Generic<kotlin.collections.List<T>>.Inner */
public fun </*0*/ T> test5(/*0*/ x: Generic<T>): [ERROR : Error function type]
public fun Generic<kotlin.Int>.test6(): GIntI /* = Generic<kotlin.Int>.Inner */
public final class Generic</*0*/ T> {
public constructor Generic</*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
public final inner class Inner /*captured type parameters: /*0*/ T*/ {
public constructor Inner()
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 final class Outer {
public constructor Outer()
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 final inner class Inner {
public constructor Inner()
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 typealias GI</*0*/ T> = Generic<T>.Inner
public typealias GIntI = Generic<kotlin.Int>.Inner
public typealias OI = Outer.Inner
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
typealias Array2D<T> = Array<Array<T>>
fun foo1(a: Array2D<out Number>) = a
@@ -0,0 +1,8 @@
package
public fun bar1(/*0*/ a: Array2D<kotlin.Int> /* = kotlin.Array<kotlin.Array<kotlin.Int>> */): Array2D<out kotlin.Number> /* = kotlin.Array<kotlin.Array<out kotlin.Number>> */
public fun bar2(/*0*/ m: TMap<*> /* = kotlin.collections.Map<*, *> */): kotlin.collections.Map<out kotlin.Any?, kotlin.Any?>
public fun foo1(/*0*/ a: Array2D<out kotlin.Number> /* = kotlin.Array<kotlin.Array<out kotlin.Number>> */): Array2D<out kotlin.Number> /* = kotlin.Array<kotlin.Array<out kotlin.Number>> */
public fun </*0*/ T> foo2(/*0*/ m: TMap<T> /* = kotlin.collections.Map<T, T> */): TMap<T> /* = kotlin.collections.Map<T, T> */
public typealias Array2D</*0*/ T> = kotlin.Array<kotlin.Array<T>>
public typealias TMap</*0*/ T> = kotlin.collections.Map<T, T>
@@ -1,3 +1,5 @@
// NI_EXPECTED_FILE
class In<in T>
class Out<out T>
class Inv<T>
@@ -0,0 +1,72 @@
package
public val inv1: Inv1<kotlin.Int> /* = Inv<kotlin.Int> */
public fun inIn_In(/*0*/ x: In2<in kotlin.Int> /* = In<in kotlin.Int> */): In2<in kotlin.Int> /* = In<in kotlin.Int> */
public fun inIn_Inv(/*0*/ x: In2<kotlin.Int> /* = In<in kotlin.Int> */): In2<kotlin.Int> /* = In<in kotlin.Int> */
public fun inIn_Out(/*0*/ x: In2<out kotlin.Int> /* = In<out kotlin.Int> */): [ERROR : Inconsistent type: In<out Int> (0 parameter has declared variance: in, but argument variance is out)]
public fun inIn_Star(/*0*/ x: In2<*> /* = In<*> */): In2<*> /* = In<*> */
public fun inInv_In(/*0*/ x: In1<in kotlin.Int> /* = In<in kotlin.Int> */): In1<in kotlin.Int> /* = In<in kotlin.Int> */
public fun inInv_Inv(/*0*/ x: In1<kotlin.Int> /* = In<kotlin.Int> */): In1<kotlin.Int> /* = In<kotlin.Int> */
public fun inInv_Out(/*0*/ x: In1<out kotlin.Int> /* = In<out kotlin.Int> */): [ERROR : Inconsistent type: In<out Int> (0 parameter has declared variance: in, but argument variance is out)]
public fun inInv_Star(/*0*/ x: In1<*> /* = In<*> */): In1<*> /* = In<*> */
public fun inOut_In(/*0*/ x: In3<in kotlin.Int> /* = In<in kotlin.Int> */): In3<in kotlin.Int> /* = In<in kotlin.Int> */
public fun inOut_Inv(/*0*/ x: In3<kotlin.Int> /* = In<out kotlin.Int> */): [ERROR : Inconsistent type: In<out Int> (0 parameter has declared variance: in, but argument variance is out)]
public fun inOut_Out(/*0*/ x: In3<out kotlin.Int> /* = In<out kotlin.Int> */): [ERROR : Inconsistent type: In<out Int> (0 parameter has declared variance: in, but argument variance is out)]
public fun inOut_Star(/*0*/ x: In3<*> /* = In<*> */): In3<*> /* = In<*> */
public fun invIn_In(/*0*/ x: Inv2<in kotlin.Int> /* = Inv<in kotlin.Int> */): Inv2<in kotlin.Int> /* = Inv<in kotlin.Int> */
public fun invIn_Inv(/*0*/ x: Inv2<kotlin.Int> /* = Inv<in kotlin.Int> */): Inv2<kotlin.Int> /* = Inv<in kotlin.Int> */
public fun invIn_Out(/*0*/ x: Inv2<out kotlin.Int> /* = Inv<out kotlin.Int> */): Inv2<out kotlin.Int> /* = Inv<out kotlin.Int> */
public fun invIn_Star(/*0*/ x: Inv2<*> /* = Inv<*> */): Inv2<*> /* = Inv<*> */
public fun invInv_In(/*0*/ x: Inv1<in kotlin.Int> /* = Inv<in kotlin.Int> */): Inv1<in kotlin.Int> /* = Inv<in kotlin.Int> */
public fun invInv_Inv(/*0*/ x: Inv1<kotlin.Int> /* = Inv<kotlin.Int> */): Inv1<kotlin.Int> /* = Inv<kotlin.Int> */
public fun invInv_Out(/*0*/ x: Inv1<out kotlin.Int> /* = Inv<out kotlin.Int> */): Inv1<out kotlin.Int> /* = Inv<out kotlin.Int> */
public fun invInv_Star(/*0*/ x: Inv1<*> /* = Inv<*> */): Inv1<*> /* = Inv<*> */
public fun invOut_In(/*0*/ x: Inv3<in kotlin.Int> /* = Inv<in kotlin.Int> */): Inv3<in kotlin.Int> /* = Inv<in kotlin.Int> */
public fun invOut_Inv(/*0*/ x: Inv3<kotlin.Int> /* = Inv<out kotlin.Int> */): Inv3<kotlin.Int> /* = Inv<out kotlin.Int> */
public fun invOut_Out(/*0*/ x: Inv3<out kotlin.Int> /* = Inv<out kotlin.Int> */): Inv3<out kotlin.Int> /* = Inv<out kotlin.Int> */
public fun invOut_Star(/*0*/ x: Inv3<*> /* = Inv<*> */): Inv3<*> /* = Inv<*> */
public fun outIn_In(/*0*/ x: Out2<in kotlin.Int> /* = Out<in kotlin.Int> */): [ERROR : Inconsistent type: Out<in Int> (0 parameter has declared variance: out, but argument variance is in)]
public fun outIn_Inv(/*0*/ x: Out2<kotlin.Int> /* = Out<in kotlin.Int> */): [ERROR : Inconsistent type: Out<in Int> (0 parameter has declared variance: out, but argument variance is in)]
public fun outIn_Out(/*0*/ x: Out2<out kotlin.Int> /* = Out<out kotlin.Int> */): Out2<out kotlin.Int> /* = Out<out kotlin.Int> */
public fun outIn_Star(/*0*/ x: Out2<*> /* = Out<*> */): Out2<*> /* = Out<*> */
public fun outInv_In(/*0*/ x: Out1<in kotlin.Int> /* = Out<in kotlin.Int> */): [ERROR : Inconsistent type: Out<in Int> (0 parameter has declared variance: out, but argument variance is in)]
public fun outInv_Inv(/*0*/ x: Out1<kotlin.Int> /* = Out<kotlin.Int> */): Out1<kotlin.Int> /* = Out<kotlin.Int> */
public fun outInv_Out(/*0*/ x: Out1<out kotlin.Int> /* = Out<out kotlin.Int> */): Out1<out kotlin.Int> /* = Out<out kotlin.Int> */
public fun outInv_Star(/*0*/ x: Out1<*> /* = Out<*> */): Out1<*> /* = Out<*> */
public fun outOut_In(/*0*/ x: Out3<in kotlin.Int> /* = Out<in kotlin.Int> */): [ERROR : Inconsistent type: Out<in Int> (0 parameter has declared variance: out, but argument variance is in)]
public fun outOut_Inv(/*0*/ x: Out3<kotlin.Int> /* = Out<out kotlin.Int> */): Out3<kotlin.Int> /* = Out<out kotlin.Int> */
public fun outOut_Out(/*0*/ x: Out3<out kotlin.Int> /* = Out<out kotlin.Int> */): Out3<out kotlin.Int> /* = Out<out kotlin.Int> */
public fun outOut_Star(/*0*/ x: Out3<*> /* = Out<*> */): Out3<*> /* = Out<*> */
public final class In</*0*/ in T> {
public constructor In</*0*/ in 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
}
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
}
public final class Out</*0*/ out T> {
public constructor Out</*0*/ out 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
}
public typealias In1</*0*/ T> = In<T>
public typealias In2</*0*/ T> = In<in T>
public typealias In3</*0*/ T> = In<out T>
public typealias In4</*0*/ T> = In<*>
public typealias Inv1</*0*/ T> = Inv<T>
public typealias Inv2</*0*/ T> = Inv<in T>
public typealias Inv3</*0*/ T> = Inv<out T>
public typealias Inv4</*0*/ T> = Inv<*>
public typealias Out1</*0*/ T> = Out<T>
public typealias Out2</*0*/ T> = Out<in T>
public typealias Out3</*0*/ T> = Out<out T>
public typealias Out4</*0*/ T> = Out<*>
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
// NI_EXPECTED_FILE
class C {
typealias Self = C
@@ -0,0 +1,46 @@
package
public val c: [ERROR : Type for C.Self.Self()]
public val ic: [ERROR : Type for C.Self.InCompanion()]
public val n: [ERROR : Type for C.Self.Nested()]
public val n2: kotlin.Any?
public val ok: kotlin.String = "OK"
public val x: [ERROR : Type for C.Self.X]
public final class C {
public constructor C()
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 final class Nested {
public constructor Nested()
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 final class N2 {
public constructor N2()
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 typealias Root = C
}
public companion object X {
private constructor X()
public final val ok: kotlin.String = "OK"
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 final class InCompanion {
public constructor InCompanion()
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 typealias Self = C
}
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Bound<X, Y : X>(val x: X, val y: Y)
typealias B<X, Y> = Bound<X, Y>
typealias BOutIn<T> = Bound<out List<T>, in T>
@@ -0,0 +1,17 @@
package
public val test1: [ERROR : Type for BOutIn(listOf(), null!!)]
public val test2: BInIn<kotlin.Any?> /* = Bound<in kotlin.collections.List<kotlin.Any?>, in kotlin.Any?> */
public fun </*0*/ T> listOf(): kotlin.collections.List<T>
public final class Bound</*0*/ X, /*1*/ Y : X> {
public constructor Bound</*0*/ X, /*1*/ Y : X>(/*0*/ x: X, /*1*/ y: Y)
public final val x: X
public final val y: Y
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 typealias B</*0*/ X, /*1*/ Y> = Bound<X, Y>
public typealias BInIn</*0*/ T> = Bound<in kotlin.collections.List<T>, in T>
public typealias BOutIn</*0*/ T> = Bound<out kotlin.collections.List<T>, in T>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class C<T>
typealias CStar = C<*>
@@ -0,0 +1,18 @@
package
public val test1: CStar /* = C<*> */
public val test2: CIn /* = C<in kotlin.Int> */
public val test3: COut /* = C<out kotlin.Int> */
public val test4: CT<kotlin.Any?> /* = C<kotlin.Any?> */
public val test5: CT<CT<*> /* = C<*> */> /* = C<CT<*> /* = C<*> */> */
public final class C</*0*/ T> {
public constructor C</*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
}
public typealias CIn = C<in kotlin.Int>
public typealias COut = C<out kotlin.Int>
public typealias CStar = C<*>
public typealias CT</*0*/ T> = C<T>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Num<Tn : Number>(val x: Tn)
typealias N<T> = Num<T>
@@ -0,0 +1,52 @@
package
public val test0: N<kotlin.Int> /* = Num<kotlin.Int> */
public val test1: N<kotlin.String> /* = Num<kotlin.String> */
public val test2: C<kotlin.Int> /* = Cons<kotlin.Int> */
public val test3: CC<kotlin.Any?> /* = Cons<Cons<kotlin.Any?>> */
public val test4: CC<kotlin.Int> /* = Cons<Cons<kotlin.Int>> */
public val test5: PL<kotlin.Int> /* = Pair<kotlin.Int, kotlin.collections.List<kotlin.Int>> */
public fun testProjections1(/*0*/ x: Pair<in kotlin.Int, out kotlin.String>): Foo<out kotlin.String>
public fun testProjections2(/*0*/ x: Pair<in kotlin.Int, out kotlin.Number>): Foo<out kotlin.Number>
public fun testProjections3(/*0*/ x: Pair<in kotlin.Number, out kotlin.Int>): Foo<out kotlin.Int>
public fun testProjections4(/*0*/ x: Pair<in kotlin.Int, in kotlin.Int>): Foo<in kotlin.Int>
public final class Cons</*0*/ T> {
public constructor Cons</*0*/ T>(/*0*/ head: T, /*1*/ tail: Cons<T>?)
public final val head: T
public final val tail: Cons<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
}
public final class Foo</*0*/ T> {
public constructor Foo</*0*/ T>(/*0*/ p: Pair<T, T>)
public final val p: Pair<T, 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
}
public final class Num</*0*/ Tn : kotlin.Number> {
public constructor Num</*0*/ Tn : kotlin.Number>(/*0*/ x: Tn)
public final val x: Tn
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 final class Pair</*0*/ X, /*1*/ Y> {
public constructor Pair</*0*/ X, /*1*/ Y>(/*0*/ x: X, /*1*/ y: Y)
public final val x: X
public final val y: Y
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 typealias C</*0*/ T> = Cons<T>
public typealias CC</*0*/ T> = C<C<T>>
public typealias F</*0*/ T> = Foo<T>
public typealias N</*0*/ T> = Num<T>
public typealias PL</*0*/ T> = Pair<T, kotlin.collections.List<T>>
public typealias PN</*0*/ T> = Pair<T, Num<T>>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Cons<T : Number>(val head: T, val tail: Cons<T>?)
typealias C<T> = Cons<T>
@@ -0,0 +1,14 @@
package
public val test1: C<kotlin.Int> /* = Cons<kotlin.Int> */
public val test2: Cons<out kotlin.Any>
public final class Cons</*0*/ T : kotlin.Number> {
public constructor Cons</*0*/ T : kotlin.Number>(/*0*/ head: T, /*1*/ tail: Cons<T>?)
public final val head: T
public final val tail: Cons<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
}
public typealias C</*0*/ T> = Cons<T>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
interface Ref<T> {
var x: T
}
@@ -0,0 +1,28 @@
package
public val r1: LateInitNumRef<kotlin.Int>
public val r1a: LateNR<kotlin.Int> /* = LateInitNumRef<kotlin.Int> */
public val r2: LateInitNumRef<kotlin.Int>
public val r2a: LateNR<kotlin.Int> /* = LateInitNumRef<kotlin.Int> */
public val r3: LateInitNumRef<kotlin.Int>
public val r3a: LateNR<kotlin.Int> /* = LateInitNumRef<kotlin.Int> */
public fun test(): kotlin.Unit
public fun </*0*/ V, /*1*/ R : Ref<in V>> update(/*0*/ r: R, /*1*/ v: V): R
public final class LateInitNumRef</*0*/ NN : kotlin.Number> : Ref<NN> {
public constructor LateInitNumRef</*0*/ NN : kotlin.Number>()
public constructor LateInitNumRef</*0*/ NN : kotlin.Number>(/*0*/ x: NN)
public open override /*1*/ var x: NN
private final var xx: NN?
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 interface Ref</*0*/ T> {
public abstract var x: 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
}
public typealias LateNR</*0*/ Nt> = LateInitNumRef<Nt>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
class Foo<A : Number>
class Bar<B : CharSequence>
@@ -0,0 +1,30 @@
package
public val test1: Test<kotlin.Int, kotlin.String> /* = Hr<kotlin.Int, kotlin.String, Foo<kotlin.Int>, Bar<kotlin.String>> */
public val test2: Test<kotlin.Int, kotlin.Int> /* = Hr<kotlin.Int, kotlin.Int, Foo<kotlin.Int>, Bar<kotlin.Int>> */
public val test3: Bas<kotlin.Int> /* = Hr<kotlin.Int, kotlin.Int, Foo<kotlin.Int>, Bar<kotlin.Int>> */
public final class Bar</*0*/ B : kotlin.CharSequence> {
public constructor Bar</*0*/ B : kotlin.CharSequence>()
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 final class Foo</*0*/ A : kotlin.Number> {
public constructor Foo</*0*/ A : kotlin.Number>()
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 final class Hr</*0*/ A, /*1*/ B, /*2*/ C, /*3*/ D> {
public constructor Hr</*0*/ A, /*1*/ B, /*2*/ C, /*3*/ D>(/*0*/ a: A, /*1*/ b: B)
public final val a: A
public final val b: B
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 typealias Bas</*0*/ T> = Hr<T, T, Foo<T>, Bar<T>>
public typealias Test</*0*/ A, /*1*/ B> = Hr<A, B, Foo<A>, Bar<B>>
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
open class MyClass private constructor(val x: Int) {
protected constructor(x: String) : this(x.length)
@@ -0,0 +1,33 @@
package
public val test1: MyAlias /* = MyClass */
public val test1a: MyClass
public val test2: MyAlias /* = MyClass */
public val test2a: MyClass
public val test3: MyAlias /* = MyClass */
public val test3a: MyClass
public open class MyClass {
public constructor MyClass(/*0*/ x: kotlin.Double)
private constructor MyClass(/*0*/ x: kotlin.Int)
protected constructor MyClass(/*0*/ x: kotlin.String)
public final val x: kotlin.Int
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 final class MyDerived : MyClass {
public constructor MyDerived()
public final val test4: [ERROR : Type for MyAlias(1)]
public final val test4a: [ERROR : Type for MyClass(1)]
public final val test5: MyAlias /* = MyClass */
public final val test5a: MyClass
public final val test6: MyAlias /* = MyClass */
public final val test6a: MyClass
public final override /*1*/ /*fake_override*/ val x: kotlin.Int
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 typealias MyAlias = MyClass

Some files were not shown because too many files have changed in this diff Show More