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

ParseIfNDefDirective() private method

private ParseIfNDefDirective ( SyntaxToken hash, SyntaxToken keyword, bool isActive ) : IfNDefDirectiveTriviaSyntax
hash SyntaxToken
keyword SyntaxToken
isActive bool
return IfNDefDirectiveTriviaSyntax
        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);
        }