Class TableSwitchBuilder


  • public class TableSwitchBuilder
    extends java.lang.Object
    builder class used to build a tableswitch statement.
    • Field Detail

      • defaultLocation

        private final CodeLocation defaultLocation
      • defaultBranchEnd

        private final java.util.concurrent.atomic.AtomicReference<BranchEnd> defaultBranchEnd
      • low

        private final int low
      • high

        private final int high
    • Constructor Detail

      • TableSwitchBuilder

        public TableSwitchBuilder​(int low,
                                  int high)
        Builds a lookup switch statement with no specified default location. When the lookup switch is added to the code attribute a BranchEnd will be returned that can be used to set the location.
        Parameters:
        low -
        high -
      • TableSwitchBuilder

        public TableSwitchBuilder​(CodeLocation defaultLocation,
                                  int low,
                                  int high)
        Builds a lookup switch statement, specifying the default location
        Parameters:
        defaultLocation - The default location
        low -
        high -
    • Method Detail

      • add

        public java.util.concurrent.atomic.AtomicReference<BranchEnd> add()
        Adds a value to the table that is at a location yet to be written. After this lookup switch has been written then the BranchEnd can be retrieved from the returned reference.
        Returns:
        A reference to the BranchEnd that will be created.
      • getDefaultLocation

        public CodeLocation getDefaultLocation()
      • getDefaultBranchEnd

        public java.util.concurrent.atomic.AtomicReference<BranchEnd> getDefaultBranchEnd()
      • getLow

        public int getLow()
      • getHigh

        public int getHigh()