39 lines
1.1 KiB
Plaintext
Vendored
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| })
|
|
}
|
|
}
|
|
|
|
}
|