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

EndConjunctiveTests() private method

Anchor any remaining labels.
private EndConjunctiveTests ( BranchingContext brctxt, Label lblBranch, Label lblOnFalse ) : void
brctxt BranchingContext
lblBranch System.Reflection.Emit.Label
lblOnFalse System.Reflection.Emit.Label
return void
        private void EndConjunctiveTests(BranchingContext brctxt, Label lblBranch, Label lblOnFalse) {
            switch (brctxt) {
                case BranchingContext.OnTrue:
                    // Anchor false label
                    this.helper.MarkLabel(lblOnFalse);
                    goto case BranchingContext.OnFalse;

                case BranchingContext.OnFalse:
                    this.iterCurr.Storage = StorageDescriptor.None();
                    break;

                case BranchingContext.None:
                    // Convert branch targets into push of true/false
                    this.helper.ConvBranchToBool(lblOnFalse, false);
                    this.iterCurr.Storage = StorageDescriptor.Stack(typeof(bool), false);
                    break;
            }
        }
XmlILVisitor