Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ VisitOr()

override QilNode System.Xml.Xsl.IlGen.XmlILVisitor.VisitOr ( QilBinary ndOr)
inlineprotectedvirtual

Reimplemented from System.Xml.Xsl.Qil.QilVisitor.

Definition at line 414 of file XmlILVisitor.cs.

415 {
416 Label label = default(Label);
418 {
419 case BranchingContext.OnFalse:
421 NestedVisitWithBranch(ndOr.Left, BranchingContext.OnTrue, label);
422 break;
423 case BranchingContext.OnTrue:
424 NestedVisitWithBranch(ndOr.Left, BranchingContext.OnTrue, _iterCurr.LabelBranch);
425 break;
426 default:
428 NestedVisitWithBranch(ndOr.Left, BranchingContext.OnTrue, label);
429 break;
430 }
432 {
433 case BranchingContext.OnFalse:
434 NestedVisitWithBranch(ndOr.Right, BranchingContext.OnFalse, _iterCurr.LabelBranch);
435 break;
436 case BranchingContext.OnTrue:
437 NestedVisitWithBranch(ndOr.Right, BranchingContext.OnTrue, _iterCurr.LabelBranch);
438 break;
439 default:
440 NestedVisitWithBranch(ndOr.Right, BranchingContext.OnTrue, label);
441 break;
442 }
444 {
445 case BranchingContext.OnFalse:
447 goto case BranchingContext.OnTrue;
448 case BranchingContext.OnTrue:
449 _iterCurr.Storage = StorageDescriptor.None();
450 break;
451 case BranchingContext.None:
453 _iterCurr.Storage = StorageDescriptor.Stack(typeof(bool), isCached: false);
454 break;
455 }
456 return ndOr;
457 }
void ConvBranchToBool(Label lblBranch, bool isTrueBranch)
void NestedVisitWithBranch(QilNode nd, BranchingContext brctxt, Label lblBranch)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Xml.Xsl.IlGen.GenerateHelper.ConvBranchToBool(), System.Xml.Xsl.IlGen.IteratorDescriptor.CurrentBranchingContext, System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.IteratorDescriptor.LabelBranch, System.Xml.Xsl.IlGen.GenerateHelper.MarkLabel(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitWithBranch(), System.Xml.Xsl.IlGen.StorageDescriptor.None(), and System.Xml.Xsl.IlGen.StorageDescriptor.Stack().