ShaderTools.Hlsl.Parser.HlslParser.ParseStatementNoDeclaration C# (CSharp) Method

ParseStatementNoDeclaration() private method

Parses any statement but a declaration statement. Returns null if the lookahead looks like a declaration.
Variable declarations in global code are parsed as field declarations so we need to fallback if we encounter a declaration statement.
private ParseStatementNoDeclaration ( ) : StatementSyntax
return ShaderTools.Hlsl.Syntax.StatementSyntax
        private StatementSyntax ParseStatementNoDeclaration()
        {
            if (IsPossibleDeclarationStatement())
                return null;

            var attributes = ParseAttributes();

            switch (Current.Kind)
            {
                case SyntaxKind.BreakKeyword:
                    return ParseBreakStatement(attributes);
                case SyntaxKind.ContinueKeyword:
                    return ParseContinueStatement(attributes);
                case SyntaxKind.ConstKeyword:
                    return null;
                case SyntaxKind.DiscardKeyword:
                    return ParseDiscardStatement(attributes);
                case SyntaxKind.DoKeyword:
                    return ParseDoStatement(attributes);
                case SyntaxKind.ForKeyword:
                    return ParseForStatement(attributes);
                case SyntaxKind.IfKeyword:
                    return ParseIfStatement(attributes);
                case SyntaxKind.ReturnKeyword:
                    return ParseReturnStatement(attributes);
                case SyntaxKind.SwitchKeyword:
                    return ParseSwitchStatement(attributes);
                case SyntaxKind.WhileKeyword:
                    return ParseWhileStatement(attributes);
                case SyntaxKind.OpenBraceToken:
                    return ParseBlock(attributes);
                case SyntaxKind.SemiToken:
                    return new EmptyStatementSyntax(attributes, NextToken());
                default:
                    return ParseExpressionStatement(attributes);
            }
        }
HlslParser