Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/inference/completion/postponedArgumentsAnalysis/callableReferences.txt
T
Victor Petukhov 260683c20e NI: Improve postponed arguments analysis
Introduce seven stages:
1) Analyze postponed arguments with fixed parameter types
2) Collect parameter types from constraints and lambda parameters' declaration
3) Fix not postponed variables for parameter types of all postponed arguments
4) Create atoms with revised expected types if needed
5) Analyze the first ready postponed argument and rerun stages if it has been analyzed
6) Force fixation remaining type variables: fix if possible or report not enough information
7) Force analysis remaining not analyzed postponed arguments and rerun stages if there are

^KT-37952 Fixed
^KT-32156 Fixed
^KT-37249 Fixed
^KT-37341 Fixed
2020-05-07 11:42:00 +03:00

37 lines
1.6 KiB
Plaintext
Vendored

package
public fun foo(/*0*/ x: kotlin.Int): kotlin.Unit
public fun foo2(/*0*/ x: kotlin.Number): kotlin.Unit
public fun foo3(/*0*/ x: kotlin.Int): kotlin.Unit
public fun foo3(/*0*/ x: kotlin.Number): kotlin.Unit
public fun foo4(/*0*/ x: A): kotlin.Unit
public fun foo4(/*0*/ x: B): kotlin.Unit
public fun foo5(/*0*/ x: A): kotlin.Unit
public fun foo5(/*0*/ x: B): kotlin.Unit
public fun foo5(/*0*/ x: C): kotlin.Unit
public fun foo6(/*0*/ x: kotlin.Float): kotlin.Unit
public fun foo6(/*0*/ x: kotlin.Int): kotlin.Unit
public fun foo6(/*0*/ x: kotlin.Number): kotlin.Unit
public fun </*0*/ T> id(/*0*/ x: T): T
public fun main(): kotlin.Unit
public fun </*0*/ T> select(/*0*/ vararg x: T /*kotlin.Array<out T>*/): T
public fun </*0*/ T : (kotlin.Float) -> kotlin.Unit> selectNumber(/*0*/ vararg x: T /*kotlin.Array<out T>*/): T
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 interface 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 : A, B {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}