ShaderTools.Hlsl.Parser.DirectiveParser.ParseDefineDirective C# (CSharp) Method

ParseDefineDirective() private method

private ParseDefineDirective ( SyntaxToken hash, SyntaxToken keyword, bool isActive ) : DefineDirectiveTriviaSyntax
hash SyntaxToken
keyword SyntaxToken
isActive bool
return DefineDirectiveTriviaSyntax
        private DefineDirectiveTriviaSyntax ParseDefineDirective(SyntaxToken hash, SyntaxToken keyword, bool isActive)
        {
            var name = (Current.Kind.IsIdentifierOrKeyword())
                ? NextToken()
                : Match(SyntaxKind.IdentifierToken);

            // Left paren must immediately follow name, with no whitespace.
            if (Current.Kind == SyntaxKind.OpenParenToken && Current.SourceRange.Start == name.SourceRange.End)
                return ParseFunctionLikeDefineDirective(hash, keyword, name, isActive);

            return ParseObjectLikeDefineDirective(hash, keyword, name, isActive);
        }