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

ParsePatchType() private method

private ParsePatchType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
token SyntaxToken
return PredefinedObjectTypeSyntax
        private PredefinedObjectTypeSyntax ParsePatchType(SyntaxToken token)
        {
            var lessThan = Match(SyntaxKind.LessThanToken);
            var userDefinedType = ParseIdentifier();
            var comma = Match(SyntaxKind.CommaToken);

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

            var greaterThan = Match(SyntaxKind.GreaterThanToken);
            var typeArgumentList = new TemplateArgumentListSyntax(lessThan,
                new SeparatedSyntaxList<ExpressionSyntax>(new List<SyntaxNode> { userDefinedType, comma, controlPoints }),
                greaterThan);
            return new PredefinedObjectTypeSyntax(token, typeArgumentList);
        }
HlslParser