Class EnumSwitchImpl<E extends java.lang.Enum<E>>

    • Field Detail

      • ordinalToCaseBlocks

        private final java.util.Map<java.lang.Integer,​BytecodeCreatorImpl> ordinalToCaseBlocks
    • Method Detail

      • caseOf

        public void caseOf​(E value,
                           java.util.function.Consumer<BytecodeCreator> caseBlockConsumer)
        Description copied from interface: Switch
        Adds a case block.
        Specified by:
        caseOf in interface Switch<E extends java.lang.Enum<E>>
        Parameters:
        value - The value for the case label
        caseBlockConsumer - The consumer used to define the case block
      • caseOf

        public void caseOf​(java.util.List<E> values,
                           java.util.function.Consumer<BytecodeCreator> caseBlockConsumer)
        Description copied from interface: Switch
        Adds multiple case labels for a single block.
        Specified by:
        caseOf in interface Switch<E extends java.lang.Enum<E>>
      • addCaseBlock

        private void addCaseBlock​(E value,
                                  java.util.function.Consumer<BytecodeCreator> caseBlockConsumer)
      • callSwitchTableMethod

        protected ResultHandle callSwitchTableMethod​(java.lang.String methodName,
                                                     java.lang.Class<E> enumClass,
                                                     MethodDescriptor enumOrdinal)