protected override QilNode VisitSequence(QilList local0) {
if (( (local0).Count == (1) ) && (this[XmlILOptimization.EliminateSequence])) {
if (AllowReplace(XmlILOptimization.EliminateSequence, local0)) {
return Replace(XmlILOptimization.EliminateSequence, local0, (QilNode) (local0)[0] );
}
}
if (( HasNestedSequence(local0) ) && (this[XmlILOptimization.NormalizeNestedSequences])) {
if (AllowReplace(XmlILOptimization.NormalizeNestedSequences, local0)) {
QilNode local1 = VisitSequence(f.Sequence());
foreach (QilNode nd in local0) {
if (nd.NodeType == QilNodeType.Sequence)
local1.Add((IList<QilNode>) nd);
else
local1.Add(nd);
}
// Match patterns on new sequence
local1 = VisitSequence((QilList) local1);
return Replace(XmlILOptimization.NormalizeNestedSequences, local0, local1);
}
}
return NoReplace(local0);
}