[FIR] Fix processing calls on unstable smartcasts with check not null call
This commit is contained in:
committed by
TeamCityServer
parent
1a3841d66d
commit
7d8a8d543f
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
FILE: unstableSmartcastAndAmbiguity.kt
|
||||
public abstract class XdSwimlaneSettings : R|kotlin/Any| {
|
||||
public constructor(): R|XdSwimlaneSettings| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public abstract val settingsLogic: R|kotlin/String|
|
||||
public get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public final class XdIssueBasedSwimlaneSettings : R|XdSwimlaneSettings| {
|
||||
public constructor(): R|XdIssueBasedSwimlaneSettings| {
|
||||
super<R|XdSwimlaneSettings|>()
|
||||
}
|
||||
|
||||
public final override val settingsLogic: R|kotlin/String|
|
||||
public get(): R|kotlin/String| {
|
||||
^ String(hello)
|
||||
}
|
||||
|
||||
}
|
||||
public final class XdAgile : R|kotlin/Any| {
|
||||
public constructor(swimlaneSettings: R|XdSwimlaneSettings?|): R|XdAgile| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final var swimlaneSettings: R|XdSwimlaneSettings?| = R|<local>/swimlaneSettings|
|
||||
public get(): R|XdSwimlaneSettings?|
|
||||
public set(value: R|XdSwimlaneSettings?|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final fun test(x: R|XdAgile|): R|kotlin/Unit| {
|
||||
lval y: R|XdIssueBasedSwimlaneSettings| = (R|<local>/x|.R|/XdAgile.swimlaneSettings| as R|XdIssueBasedSwimlaneSettings|)
|
||||
R|<local>/x|.R|/XdAgile.swimlaneSettings|!!.R|/XdSwimlaneSettings.settingsLogic|
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
abstract class XdSwimlaneSettings {
|
||||
abstract val settingsLogic: String
|
||||
}
|
||||
|
||||
class XdIssueBasedSwimlaneSettings : XdSwimlaneSettings() {
|
||||
override val settingsLogic: String
|
||||
get() = "hello"
|
||||
}
|
||||
|
||||
class XdAgile(var swimlaneSettings: XdSwimlaneSettings?)
|
||||
|
||||
fun test(x: XdAgile) {
|
||||
val y = x.swimlaneSettings as XdIssueBasedSwimlaneSettings
|
||||
x.swimlaneSettings!!.settingsLogic
|
||||
}
|
||||
Reference in New Issue
Block a user