org.jetbrains.kotlin.codegen.when
Class EnumSwitchCodegen

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.when.SwitchCodegen
      extended by org.jetbrains.kotlin.codegen.when.EnumSwitchCodegen

public class EnumSwitchCodegen
extends SwitchCodegen


Field Summary
 
Fields inherited from class org.jetbrains.kotlin.codegen.when.SwitchCodegen
bindingContext, codegen, defaultLabel, elseLabel, endLabel, entryLabels, expression, isExhaustive, isStatement, resultType, subjectType, transitionsTable, v
 
Constructor Summary
EnumSwitchCodegen(KtWhenExpression expression, boolean isStatement, boolean isExhaustive, ExpressionCodegen codegen, WhenByEnumsMapping mapping)
           
 
Method Summary
protected  void generateSubject()
          Should generate int subject on top of the stack Default implementation just run codegen for actual subject of expression May also gen nullability check if needed
protected  void processConstant( constant, org.jetbrains.org.objectweb.asm.Label entryLabel)
           
 
Methods inherited from class org.jetbrains.kotlin.codegen.when.SwitchCodegen
generate, generateEntries, generateNullCheckIfNeeded, putTransitionOnce
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumSwitchCodegen

public EnumSwitchCodegen(@NotNull
                         KtWhenExpression expression,
                         boolean isStatement,
                         boolean isExhaustive,
                         @NotNull
                         ExpressionCodegen codegen,
                         @NotNull
                         WhenByEnumsMapping mapping)
Method Detail

generateSubject

protected void generateSubject()
Description copied from class: SwitchCodegen
Should generate int subject on top of the stack Default implementation just run codegen for actual subject of expression May also gen nullability check if needed

Overrides:
generateSubject in class SwitchCodegen

processConstant

protected void processConstant(@NotNull
                                constant,
                               @NotNull
                               org.jetbrains.org.objectweb.asm.Label entryLabel)
Specified by:
processConstant in class SwitchCodegen