Program: 76423
Project: 76423
Buggy source:
protected ptolemy.data.Token _resolveNode(){
  int nChildren=jjtGetNumChildren();
  int i;
  ptolemy.data.Token tok=null;
  Class mtype=_elementType();
  try {
    if (_form == 1) {
      if (mtype == BooleanToken.class) {
        boolean[][] val=new boolean[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=BooleanToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((BooleanToken)tok).booleanValue();
        }
        _ptToken=new BooleanMatrixToken(val);
      }
 else       if (mtype == IntToken.class) {
        int[][] val=new int[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=IntToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((IntToken)tok).intValue();
        }
        _ptToken=new IntMatrixToken(val);
      }
 else       if (mtype == LongToken.class) {
        long[][] val=new long[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=LongToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((LongToken)tok).longValue();
        }
        _ptToken=new LongMatrixToken(val);
      }
 else       if (mtype == DoubleToken.class) {
        double[][] val=new double[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=DoubleToken.convert(childTokens[i]);
          val[i % _nColumns][i / _nColumns]=((DoubleToken)tok).doubleValue();
        }
        _ptToken=new DoubleMatrixToken(val);
      }
 else       if (mtype == ComplexToken.class) {
        Complex[][] val=new Complex[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=ComplexToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((ComplexToken)tok).complexValue();
        }
        _ptToken=new ComplexMatrixToken(val);
      }
 else {
        throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
      }
    }
 else     if (_form == 2) {
      if (mtype == IntToken.class) {
        _nColumns=_numIntColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numIntColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        int[][] val=new int[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createIntRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new IntMatrixToken(val);
      }
 else       if (mtype == LongToken.class) {
        _nColumns=_numLongColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numLongColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        long[][] val=new long[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createLongRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new LongMatrixToken(val);
      }
 else       if (mtype == DoubleToken.class) {
        _nColumns=_numDoubleColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numDoubleColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        double[][] val=new double[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createDoubleRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new DoubleMatrixToken(val);
      }
 else {
        throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ mtype);
      }
    }
  }
 catch (  IllegalActionException ex) {
    throw new InternalErrorException("String_Node_Str" + "String_Node_Str" + ex.getMessage());
  }
  return _ptToken;
}

Fixed version (ground truth):
protected ptolemy.data.Token _resolveNode(){
  int nChildren=jjtGetNumChildren();
  int i;
  ptolemy.data.Token tok=null;
  Class mtype=_elementType();
  try {
    if (_form == 1) {
      if (mtype == BooleanToken.class) {
        boolean[][] val=new boolean[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=BooleanToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((BooleanToken)tok).booleanValue();
        }
        _ptToken=new BooleanMatrixToken(val);
      }
 else       if (mtype == IntToken.class) {
        int[][] val=new int[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=IntToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((IntToken)tok).intValue();
        }
        _ptToken=new IntMatrixToken(val);
      }
 else       if (mtype == LongToken.class) {
        long[][] val=new long[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=LongToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((LongToken)tok).longValue();
        }
        _ptToken=new LongMatrixToken(val);
      }
 else       if (mtype == DoubleToken.class) {
        double[][] val=new double[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=DoubleToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((DoubleToken)tok).doubleValue();
        }
        _ptToken=new DoubleMatrixToken(val);
      }
 else       if (mtype == ComplexToken.class) {
        Complex[][] val=new Complex[_nRows][_nColumns];
        for (i=0; i < nChildren; ++i) {
          tok=ComplexToken.convert(childTokens[i]);
          val[i / _nColumns][i % _nColumns]=((ComplexToken)tok).complexValue();
        }
        _ptToken=new ComplexMatrixToken(val);
      }
 else {
        throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
      }
    }
 else     if (_form == 2) {
      if (mtype == IntToken.class) {
        _nColumns=_numIntColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numIntColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        int[][] val=new int[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createIntRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new IntMatrixToken(val);
      }
 else       if (mtype == LongToken.class) {
        _nColumns=_numLongColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numLongColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        long[][] val=new long[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createLongRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new LongMatrixToken(val);
      }
 else       if (mtype == DoubleToken.class) {
        _nColumns=_numDoubleColumns(childTokens[0],childTokens[1],childTokens[2]);
        for (i=1; i < _nRows; ++i) {
          if (_nColumns != _numDoubleColumns(childTokens[3 * i],childTokens[3 * i + 1],childTokens[3 * i + 2])) {
            throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          }
        }
        double[][] val=new double[_nRows][];
        for (i=0; i < _nRows; ++i) {
          val[i]=_createDoubleRow(childTokens[3 * i],childTokens[3 * i + 1]);
        }
        _ptToken=new DoubleMatrixToken(val);
      }
 else {
        throw new IllegalExpressionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ mtype);
      }
    }
  }
 catch (  IllegalActionException ex) {
    throw new InternalErrorException("String_Node_Str" + "String_Node_Str" + ex.getMessage());
  }
  return _ptToken;
}