Tup.Cobar4Net.Parser.Recognizer.Mysql.Syntax.MySqlExprParser.IntervalPrimaryUnit C# (CSharp) Method

IntervalPrimaryUnit() private method

private IntervalPrimaryUnit ( ) : Unit
return Unit
        private Unit IntervalPrimaryUnit()
        {
            switch (lexer.Token())
            {
                case MySqlToken.KwSecondMicrosecond:
                {
                    lexer.NextToken();
                    return Unit.SecondMicrosecond;
                }

                case MySqlToken.KwMinuteMicrosecond:
                {
                    lexer.NextToken();
                    return Unit.MinuteMicrosecond;
                }

                case MySqlToken.KwMinuteSecond:
                {
                    lexer.NextToken();
                    return Unit.MinuteSecond;
                }

                case MySqlToken.KwHourMicrosecond:
                {
                    lexer.NextToken();
                    return Unit.HourMicrosecond;
                }

                case MySqlToken.KwHourSecond:
                {
                    lexer.NextToken();
                    return Unit.HourSecond;
                }

                case MySqlToken.KwHourMinute:
                {
                    lexer.NextToken();
                    return Unit.HourMinute;
                }

                case MySqlToken.KwDayMicrosecond:
                {
                    lexer.NextToken();
                    return Unit.DayMicrosecond;
                }

                case MySqlToken.KwDaySecond:
                {
                    lexer.NextToken();
                    return Unit.DaySecond;
                }

                case MySqlToken.KwDayMinute:
                {
                    lexer.NextToken();
                    return Unit.DayMinute;
                }

                case MySqlToken.KwDayHour:
                {
                    lexer.NextToken();
                    return Unit.DayHour;
                }

                case MySqlToken.KwYearMonth:
                {
                    lexer.NextToken();
                    return Unit.YearMonth;
                }

                case MySqlToken.Identifier:
                {
                    var unitText = lexer.GetStringValueUppercase();
                    var unit = IntervalPrimary.GetIntervalUnit(unitText);
                    if (unit != Unit.None)
                    {
                        lexer.NextToken();
                        return unit;
                    }
                    goto default;
                }

                default:
                {
                    throw Err("literal INTERVAL should end with an UNIT");
                }
            }
        }