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

ParseSwitchStatement() private method

private ParseSwitchStatement ( List attributes ) : SwitchStatementSyntax
attributes List
return SwitchStatementSyntax
        private SwitchStatementSyntax ParseSwitchStatement(List<AttributeSyntax> attributes)
        {
            var @switch = Match(SyntaxKind.SwitchKeyword);
            var openParen = Match(SyntaxKind.OpenParenToken);
            var expression = ParseExpression();
            var closeParen = Match(SyntaxKind.CloseParenToken);
            var openBrace = Match(SyntaxKind.OpenBraceToken);

            var sections = new List<SwitchSectionSyntax>();
            while (IsPossibleSwitchSection())
            {
                var swcase = ParseSwitchSection();
                sections.Add(swcase);
            }

            var closeBrace = Match(SyntaxKind.CloseBraceToken);
            return new SwitchStatementSyntax(attributes, @switch, openParen, expression, closeParen, openBrace, sections, closeBrace);
        }
HlslParser