public VarType decreaseArrayDim() {
    if (getArrayDim() > 0) {
      return new VarType(getType(), getArrayDim() - 1, getValue());
    }
    else {
      //throw new RuntimeException("array dimension equals 0!"); FIXME: investigate this case
      return this;
    }
  }
public VarType decreaseArrayDim()