System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitInvoke C# (CSharp) Method

VisitInvoke() protected method

protected VisitInvoke ( QilInvoke local0 ) : QilNode
local0 System.Xml.Xsl.Qil.QilInvoke
return QilNode
        protected override QilNode VisitInvoke(QilInvoke local0) {
            QilNode local1 = local0[0];
            QilNode local2 = local0[1];
            if (this[XmlILOptimization.NormalizeInvokeEmpty]) {
                if (local1.NodeType == QilNodeType.Function) {
                    QilNode local4 = local1[1];
                    if (local4.NodeType == QilNodeType.Sequence) {
                        if ( (local4).Count == (0) ) {
                            if (AllowReplace(XmlILOptimization.NormalizeInvokeEmpty, local0)) {
                                return Replace(XmlILOptimization.NormalizeInvokeEmpty, local0, VisitSequence(f.Sequence()));
                            }
                        }
                    }
                }
            }
            if (this[XmlILOptimization.AnnotateTrackCallers]) {
                if (AllowReplace(XmlILOptimization.AnnotateTrackCallers, local0)) {
                     XmlILConstructInfo.Write(local1).CallersInfo.Add(XmlILConstructInfo.Write(local0));  }
            }
            if (this[XmlILOptimization.AnnotateInvoke]) {
                if (local1.NodeType == QilNodeType.Function) {
                    QilNode local4 = local1[1];
                    if (AllowReplace(XmlILOptimization.AnnotateInvoke, local0)) {
                         OptimizerPatterns.Inherit((QilNode) (local4), (QilNode) (local0), OptimizerPatternName.IsDocOrderDistinct);  OptimizerPatterns.Inherit((QilNode) (local4), (QilNode) (local0), OptimizerPatternName.SameDepth);  }
                }
            }
            return NoReplace(local0);
        }
        
XmlILOptimizerVisitor