Files

39 lines
1.1 KiB
Plaintext
Vendored

FILE: unstableSmartCastOnSafeCallArgument.kt
public abstract class Foo : R|kotlin/Any| {
public constructor(): R|Foo| {
super<R|kotlin/Any|>()
}
public abstract val bar: R|Bar?|
public get(): R|Bar?|
}
public abstract class Bar : R|kotlin/Any| {
public constructor(): R|Bar| {
super<R|kotlin/Any|>()
}
public abstract val buz: R|Buz?|
public get(): R|Buz?|
}
public final class Buz : R|kotlin/Any| {
public constructor(): R|Buz| {
super<R|kotlin/Any|>()
}
}
public final fun takesNullable(b: R|Buz?|): R|kotlin/Unit| {
}
public final fun takesNonNull(b: R|Buz|): R|kotlin/Unit| {
}
public final fun foo(foo: R|Foo|): R|kotlin/Unit| {
when () {
!=(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| }, Null(null)) -> {
R|/takesNullable|(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| })
R|/takesNonNull<Inapplicable(INAPPLICABLE): /takesNonNull>#|(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| })
}
}
}