//
// This software is now distributed according to
// the Lesser Gnu Public License.  Please see
// http://www.gnu.org/copyleft/lesser.txt for
// the details.
//    -- Happy Computing!
//
package com.stevesoft.pat;

/**
 * This class is used to implement the Transformer
 * 
 * @see com.stevesoft.pat.Transform
 */
class TransPat extends Pattern
{
  Regex[] ra = new Regex[10];

  int ra_len = 0;

  int pn = -1;

  public String toString()
  {
    return "(?#TransPat)";
  }

  TransPat()
  {
  }

  int lastMatchedTo = -1;

  public int matchInternal(int pos, Pthings pt)
  {
    for (int i = 0; i < ra_len; i++)
    {
      pt.ignoreCase = ra[i].ignoreCase;
      pt.mFlag = ra[i].mFlag;
      pt.dotDoesntMatchCR = Regex.dotDoesntMatchCR;
      int r = ra[i].thePattern.matchInternal(pos, pt);
      if (r >= 0)
      {
        pn = i;
        return r;
      }
    }
    pn = -1;
    return -1;
  }
}
