Package org.apache.commons.compress.harmony.unpack200.bytecode.forms

# Class SwitchForm

java.lang.Object
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.VariableInstructionForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.SwitchForm

Direct Known Subclasses:
  `LookupSwitchForm`, `TableSwitchForm`

public abstract class SwitchForm extends VariableInstructionForm
Switch instruction form.

- ## Field Summary

  ### Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm

  `byteCodeArray, byteCodesByName, WIDENED`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SwitchForm(int opcode, String name)`
  Constructs a new instance with the specified opcode, name, operandType and rewrite.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `fixUpByteCodeTargets(ByteCode byteCode, CodeAttribute codeAttribute)`
  The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.VariableInstructionForm

  `setRewrite2Bytes, setRewrite4Bytes, setRewrite4Bytes`

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm

  `calculateOperandPosition, firstOperandIndex, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, setByteCodeOperands, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### SwitchForm

    public SwitchForm(int opcode, String name)
    Constructs a new instance with the specified opcode, name, operandType and rewrite.
    Parameters:
      `opcode` - index corresponding to the opcode's value.
      `name` - String printable name of the opcode.

- ## Method Details

  - ### fixUpByteCodeTargets

    public void fixUpByteCodeTargets(ByteCode byteCode, CodeAttribute codeAttribute)
    Description copied from class: `ByteCodeForm`
    The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.
    Overrides:
      `fixUpByteCodeTargets` in class `ByteCodeForm`
    Parameters:
      `byteCode` - a ByteCode to be fixed up
      `codeAttribute` - a CodeAttribute used to determine how the ByteCode should be fixed up.