class BIncInst extends AbstractInst implements IncInst {

  final ValueBox localBox;
  final ValueBox defLocalBox;
  final List<ValueBox> useBoxes;
  final List<ValueBox> mDefBoxes;
  Constant mConstant;

  public BIncInst(Local local, Constant constant) {
    this.mConstant = constant;

    this.localBox = new BafLocalBox(local);
    this.useBoxes = Collections.singletonList(localBox);

    this.defLocalBox = new BafLocalBox(local);
    this.mDefBoxes = Collections.singletonList(defLocalBox);
  }

  @Override
  public Object clone() {
    return new BIncInst(getLocal(), getConstant());
  }

  @Override
  public int getInCount() {
    return 0;
  }

  @Override
  public int getInMachineCount() {
    return 0;
  }

  @Override
  public int getOutCount() {
    return 0;
  }

  @Override
  public int getOutMachineCount() {
    return 0;
  }

  @Override
  public Constant getConstant() {
    return mConstant;
  }

  @Override
  public void setConstant(Constant aConstant) {
    this.mConstant = aConstant;
  }

  @Override
  final public String getName() {
    return "inc.i";
  }

  @Override
  final String getParameters() {
    return " " + localBox.getValue().toString();
  }

  @Override
  protected void getParameters(UnitPrinter up) {
    up.literal(" ");
    localBox.toString(up);
  }

  @Override
  public void apply(Switch sw) {
    ((InstSwitch) sw).caseIncInst(this);
  }

  @Override
  public void setLocal(Local l) {
    localBox.setValue(l);
  }

  @Override
  public Local getLocal() {
    return (Local) localBox.getValue();
  }

  @Override
  public List<ValueBox> getUseBoxes() {
    return useBoxes;
  }

  @Override
  public List<ValueBox> getDefBoxes() {
    return mDefBoxes;
  }

  @Override
  public String toString() {<FILL_FUNCTION_BODY>}

  @Override
  public void toString(UnitPrinter up) {
    up.literal("inc.i ");
    localBox.toString(up);
    up.literal(" ");
    up.constant(mConstant);
  }
}

    return "inc.i " + getLocal() + " " + getConstant();
  
<methods>public non-sealed void <init>() ,public boolean branches() ,public java.lang.Object clone() ,public boolean containsArrayRef() ,public boolean containsFieldRef() ,public boolean containsInvokeExpr() ,public boolean containsNewExpr() ,public boolean fallsThrough() ,public int getInCount() ,public int getInMachineCount() ,public abstract java.lang.String getName() ,public int getNetCount() ,public int getNetMachineCount() ,public int getOutCount() ,public int getOutMachineCount() ,public java.lang.String toString() ,public void toString(soot.UnitPrinter) <variables>