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);
}