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

ParseMultisampledTextureType() private method

private ParseMultisampledTextureType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
token SyntaxToken
return PredefinedObjectTypeSyntax
        private PredefinedObjectTypeSyntax ParseMultisampledTextureType(SyntaxToken token)
        {
            var lessThan = Match(SyntaxKind.LessThanToken);
            var type = ParseScalarOrVectorType();

            var arguments = new List<SyntaxNode> { type };
            if (Current.Kind == SyntaxKind.CommaToken)
            {
                var comma = Match(SyntaxKind.CommaToken);

                ExpressionSyntax samples;
                try
                {
                    CommaIsSeparatorStack.Push(true);
                    _greaterThanTokenIsNotOperator = true;
                    samples = ParseExpression();
                }
                finally
                {
                    _greaterThanTokenIsNotOperator = false;
                    CommaIsSeparatorStack.Pop();
                }

                arguments.Add(comma);
                arguments.Add(samples);
            }

            var greaterThan = Match(SyntaxKind.GreaterThanToken);
            var typeArgumentList = new TemplateArgumentListSyntax(lessThan,
                new SeparatedSyntaxList<ExpressionSyntax>(arguments),
                greaterThan);
            return new PredefinedObjectTypeSyntax(token, typeArgumentList);
        }
HlslParser