Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/exhaustiveness_enum.fir.txt
T
Dmitriy Novozhilov e6b5cb5216 [TD] Update diagnostics test data due to new test runners
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00

116 lines
3.1 KiB
Plaintext
Vendored

FILE: exhaustiveness_enum.kt
public final enum class Enum : R|kotlin/Enum<Enum>| {
private constructor(): R|Enum| {
super<R|kotlin/Enum<Enum>|>()
}
public final static enum entry A: R|Enum|
public final static enum entry B: R|Enum|
public final static enum entry C: R|Enum|
public final static fun values(): R|kotlin/Array<Enum>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|Enum| {
}
}
public final fun test_1(e: R|Enum|): R|kotlin/Unit| {
lval a: R|kotlin/Unit| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
}
lval b: R|kotlin/Unit| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
($subj$ is R|kotlin/String|) -> {
Int(3)
}
}
lval c: R|kotlin/Int| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
==($subj$, Q|Enum|.R|/Enum.C|) -> {
Int(3)
}
}
lval d: R|kotlin/Int| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
else -> {
Int(2)
}
}
}
public final fun test_2(e: R|Enum?|): R|kotlin/Unit| {
lval a: R|kotlin/Unit| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
==($subj$, Q|Enum|.R|/Enum.C|) -> {
Int(3)
}
}
lval a: R|kotlin/Int| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
==($subj$, Q|Enum|.R|/Enum.C|) -> {
Int(3)
}
==($subj$, Null(null)) -> {
Int(4)
}
}
lval a: R|kotlin/Int| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(2)
}
==($subj$, Q|Enum|.R|/Enum.C|) -> {
Int(3)
}
else -> {
Int(4)
}
}
}
public final fun test_3(e: R|Enum|): R|kotlin/Unit| {
lval a: R|kotlin/Int| = when (R|<local>/e|) {
==($subj$, Q|Enum|.R|/Enum.A|) || ==($subj$, Q|Enum|.R|/Enum.B|) -> {
Int(1)
}
==($subj$, Q|Enum|.R|/Enum.C|) -> {
Int(2)
}
}
}