/* * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ package cases.whenMappings enum class SampleEnum { A, B, C } fun SampleEnum.deacronimize() = when (this) { SampleEnum.A -> "Apple" SampleEnum.B -> "Biscuit" SampleEnum.C -> "Cinnamon" } inline fun SampleEnum.switch(thenA: () -> Unit, thenB: () -> Unit, thenC: () -> Unit) = when (this) { SampleEnum.C -> thenC() SampleEnum.B -> thenB() SampleEnum.A -> thenA() }