protected override QilNode VisitRtfCtor(QilBinary local0) {
QilNode local1 = local0[0];
QilNode local2 = local0[1];
if (this[XmlILOptimization.FoldNone]) {
if ( (object) ( (local1).XmlType ) == (object) XmlQueryTypeFactory.None ) {
if (AllowReplace(XmlILOptimization.FoldNone, local0)) {
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop(local1)));
}
}
}
if (this[XmlILOptimization.AnnotateConstruction]) {
if (AllowReplace(XmlILOptimization.AnnotateConstruction, local0)) {
local0.Left = this.contentAnalyzer.Analyze(local0, local1);
}
}
if (this[XmlILOptimization.AnnotateSingleTextRtf]) {
if (local1.NodeType == QilNodeType.TextCtor) {
QilNode local3 = local1[0];
if (AllowReplace(XmlILOptimization.AnnotateSingleTextRtf, local0)) {
OptimizerPatterns.Write((QilNode) (local0)).AddPattern(OptimizerPatternName.SingleTextRtf); OptimizerPatterns.Write((QilNode) (local0)).AddArgument(OptimizerPatternArgument.RtfText, local3);
// In this case, Rtf will be pushed onto the stack rather than pushed to the writer
XmlILConstructInfo.Write(local0).PullFromIteratorFirst = true;
}
}
}
return NoReplace(local0);
}