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

ParseIfStatement() private method

private ParseIfStatement ( List attributes ) : IfStatementSyntax
attributes List
return IfStatementSyntax
        private IfStatementSyntax ParseIfStatement(List<AttributeSyntax> attributes)
        {
            var @if = Match(SyntaxKind.IfKeyword);
            var openParen = Match(SyntaxKind.OpenParenToken);
            var condition = ParseExpression();
            var closeParen = Match(SyntaxKind.CloseParenToken);
            var statement = ParseEmbeddedStatement();
            ElseClauseSyntax @else = null;
            if (Current.Kind == SyntaxKind.ElseKeyword)
            {
                var elseToken = Match(SyntaxKind.ElseKeyword);
                var elseStatement = ParseEmbeddedStatement();
                @else = new ElseClauseSyntax(elseToken, elseStatement);
            }

            return new IfStatementSyntax(attributes, @if, openParen, condition, closeParen, statement, @else);
        }
HlslParser