private static bool ProcessDateTimeSuffix(ref DateTimeResult result, ref DateTimeRawInfo raw, ref DateTimeToken dtok)
{
switch (dtok.suffix)
{
case TokenType.SEP_YearSuff:
if ((result.flags & ParseFlags.HaveYear) != 0) {
return false;
}
result.flags |= ParseFlags.HaveYear;
result.Year = raw.year = dtok.num;
break;
case TokenType.SEP_MonthSuff:
if ((result.flags & ParseFlags.HaveMonth) != 0) {
return false;
}
result.flags |= ParseFlags.HaveMonth;
result.Month= raw.month = dtok.num;
break;
case TokenType.SEP_DaySuff:
if ((result.flags & ParseFlags.HaveDay) != 0) {
return false;
}
result.flags |= ParseFlags.HaveDay;
result.Day = dtok.num;
break;
case TokenType.SEP_HourSuff:
if ((result.flags & ParseFlags.HaveHour) != 0) {
return false;
}
result.flags |= ParseFlags.HaveHour;
result.Hour = dtok.num;
break;
case TokenType.SEP_MinuteSuff:
if ((result.flags & ParseFlags.HaveMinute) != 0) {
return false;
}
result.flags |= ParseFlags.HaveMinute;
result.Minute = dtok.num;
break;
case TokenType.SEP_SecondSuff:
if ((result.flags & ParseFlags.HaveSecond) != 0) {
return false;
}
result.flags |= ParseFlags.HaveSecond;
result.Second = dtok.num;
break;
}
return true;
}