private static InfixPrecidence GetPrecedenceLevel()

in src/Kusto.Language/Parser/QueryParser.cs [5355:5426]


        private static InfixPrecidence GetPrecedenceLevel(SyntaxKind opTokenKind)
        {
            switch (opTokenKind)
            {
                case SyntaxKind.EqualTildeToken:
                case SyntaxKind.BangTildeToken:
                case SyntaxKind.HasKeyword:
                case SyntaxKind.ColonToken:
                case SyntaxKind.NotHasKeyword:
                case SyntaxKind.HasCsKeyword:
                case SyntaxKind.NotHasCsKeyword:
                case SyntaxKind.HasPrefixKeyword:
                case SyntaxKind.NotHasPrefixKeyword:
                case SyntaxKind.HasPrefixCsKeyword:
                case SyntaxKind.NotHasPrefixCsKeyword:
                case SyntaxKind.HasSuffixKeyword:
                case SyntaxKind.NotHasSuffixKeyword:
                case SyntaxKind.HasSuffixCsKeyword:
                case SyntaxKind.NotHasSuffixCsKeyword:
                case SyntaxKind.LikeKeyword:
                case SyntaxKind.NotLikeKeyword:
                case SyntaxKind.LikeCsKeyword:
                case SyntaxKind.NotLikeCsKeyword:
                case SyntaxKind.ContainsKeyword:
                case SyntaxKind.NotContainsKeyword:
                case SyntaxKind.NotBangContainsKeyword:
                case SyntaxKind.ContainsCsKeyword:
                case SyntaxKind.Contains_CsKeyword:
                case SyntaxKind.NotContainsCsKeyword:
                case SyntaxKind.NotBangContainsCsKeyword:
                case SyntaxKind.StartsWithKeyword:
                case SyntaxKind.NotStartsWithKeyword:
                case SyntaxKind.StartsWithCsKeyword:
                case SyntaxKind.NotStartsWithCsKeyword:
                case SyntaxKind.EndsWithKeyword:
                case SyntaxKind.NotEndsWithKeyword:
                case SyntaxKind.EndsWithCsKeyword:
                case SyntaxKind.NotEndsWithCsKeyword:
                case SyntaxKind.MatchesRegexKeyword:
                    return InfixPrecidence.String;
                case SyntaxKind.AsteriskToken:
                case SyntaxKind.SlashToken:
                case SyntaxKind.PercentToken:
                    return InfixPrecidence.Multiplicative;
                case SyntaxKind.PlusToken:
                case SyntaxKind.MinusToken:
                    return InfixPrecidence.Additive;
                case SyntaxKind.LessThanToken:
                case SyntaxKind.LessThanOrEqualToken:
                case SyntaxKind.GreaterThanToken:
                case SyntaxKind.GreaterThanOrEqualToken:
                    return InfixPrecidence.Relational;
                case SyntaxKind.EqualEqualToken:
                case SyntaxKind.BangEqualToken:
                case SyntaxKind.LessThanGreaterThanToken:
                case SyntaxKind.InKeyword:
                case SyntaxKind.InCsKeyword:
                case SyntaxKind.NotInKeyword:
                case SyntaxKind.NotInCsKeyword:
                case SyntaxKind.HasAnyKeyword:
                case SyntaxKind.HasAllKeyword:
                case SyntaxKind.BetweenKeyword:
                case SyntaxKind.NotBetweenKeyword:
                    return InfixPrecidence.Equality;
                case SyntaxKind.AndKeyword:
                    return InfixPrecidence.And;
                case SyntaxKind.OrKeyword:
                    return InfixPrecidence.Or;
                default:
                    return InfixPrecidence.None;
            }
        }