Combine nullability for nested type alias expansion result.
This commit is contained in:
Dmitry Petrov
2017-01-16 13:29:37 +03:00
parent 954204da82
commit cd33a40612
4 changed files with 86 additions and 31 deletions
@@ -0,0 +1,19 @@
@Target(AnnotationTarget.TYPE)
annotation class Ann
typealias TString = String
typealias TNString = TString?
typealias TNAString = @Ann TString?
val test1: TNString = TODO()
val test2: TNAString = TODO()
val test3: List<TNString> = TODO()
val test4: List<TNAString> = TODO()
val test5: List<TNString<!REDUNDANT_NULLABLE!>?<!>> = TODO()
val test6: () -> List<TNString> = TODO()
fun test(x: TNString) {
x<!UNSAFE_CALL!>.<!>hashCode()
}
@@ -0,0 +1,19 @@
package
public val test1: TNString /* = kotlin.String? */
public val test2: TNAString /* = @Ann kotlin.String? */
public val test3: kotlin.collections.List<TNString /* = kotlin.String? */>
public val test4: kotlin.collections.List<TNAString /* = @Ann kotlin.String? */>
public val test5: kotlin.collections.List<TNString? /* = kotlin.String? */>
public val test6: () -> kotlin.collections.List<TNString /* = kotlin.String? */>
public fun test(/*0*/ x: TNString /* = kotlin.String? */): kotlin.Unit
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
public constructor Ann()
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 TNAString = @Ann TString?
public typealias TNString = TString?
public typealias TString = kotlin.String