System.Xml.Xsl.IlGen.XmlILVisitor.VisitFalse C# (CSharp) Method

VisitFalse() protected method

Generate code for QilNodeType.False.
BranchingContext.OnFalse context: goto LabelParent; BranchingContext.OnTrue context: [nothing] BranchingContext.None context: push false();
protected VisitFalse ( QilNode ndFalse ) : QilNode
ndFalse QilNode
return QilNode
        protected override QilNode VisitFalse(QilNode ndFalse) {
            if (this.iterCurr.CurrentBranchingContext != BranchingContext.None) {
                // Make sure there's an IL code path to both the true and false branches in order to avoid dead
                // code which can cause IL verification errors.
                this.helper.EmitUnconditionalBranch(this.iterCurr.CurrentBranchingContext == BranchingContext.OnFalse ?
                        OpCodes.Brtrue : OpCodes.Brfalse, this.iterCurr.LabelBranch);

                this.iterCurr.Storage = StorageDescriptor.None();
            }
            else {
                // Push boolean result onto the stack
                this.helper.LoadBoolean(false);
                this.iterCurr.Storage = StorageDescriptor.Stack(typeof(bool), false);
            }

            return ndFalse;
        }
XmlILVisitor