public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }