private IfNDefDirectiveTriviaSyntax ParseIfNDefDirective(SyntaxToken hash, SyntaxToken keyword, bool isActive) { var name = Match(SyntaxKind.IdentifierToken); var eod = ParseEndOfDirective(false); var isTrue = _directiveStack.IsDefined(name.Text) != DefineState.Defined; var branchTaken = isActive && isTrue; return new IfNDefDirectiveTriviaSyntax( hash, keyword, name, eod, isActive, branchTaken, isTrue); }