public Object getChild(int field, int index) {
    Object ret = null;
    switch (field) {
      case 0:
        ret = this.id;
        {
          if (ret == null)
            fisher.util.Doom.internalCatastrophe(
                "Non-nullable field (id) was null", this, field, index);
        }
        ;
        break;
      case 1:
        ret = this.formals.get(index);
        ;
        break;
      case 2:
        ret = this.body;
        {
          if (ret == null)
            fisher.util.Doom.internalCatastrophe(
                "Non-nullable field (body) was null", this, field, index);
        }
        ;
        break;

      default:
        fisher.util.Doom.internalCatastrophe("bad field number in getChild", this, field, index);
    }
    return ret;
  }
  public void internalReplace(int field, int index, Object newval) {
    switch (field) {
      case 0:
        this.args.set(index, (Cmd) newval);
        break;

      default:
        fisher.util.Doom.internalCatastrophe(
            "bad field number in internalReplace", this, field, index, newval);
    }
  }
  public Object getChild(int field, int index) {
    Object ret = null;
    switch (field) {
      case 0:
        ret = this.args.get(index);
        ;
        break;

      default:
        fisher.util.Doom.internalCatastrophe("bad field number in getChild", this, field, index);
    }
    return ret;
  }
  public Object getChild(int field, int index) {
    Object ret = null;
    switch (field) {
      case 0:
        ret = this.methodName;
        {
          if (ret == null)
            fisher.util.Doom.internalCatastrophe(
                "Non-nullable field (methodName) was null", this, field, index);
        }
        ;
        break;
      case 1:
        ret = this.subpat;
        ;
        break;

      default:
        fisher.util.Doom.internalCatastrophe("bad field number in getChild", this, field, index);
    }
    return ret;
  }
  public void internalReplace(int field, int index, Object newval) {
    switch (field) {
      case 0:
        this.methodName = (Id) newval;
        break;
      case 1:
        this.subpat = (Cmd) newval;
        break;

      default:
        fisher.util.Doom.internalCatastrophe(
            "bad field number in internalReplace", this, field, index, newval);
    }
  }