265 return base.Replace((
int)pattern,
original, replacement);
2881 if (
nd.XmlType.IsNode)
2883 switch (
nd.NodeType)
2922 return !((
QilInvoke)
nd).Function.XmlType.IsAtomicValue;
2931 if ((uint)(nodeType - 18) <= 7
u)
3177 decimal
num3 = left;
3178 decimal
num4 = right;
3197 double num2 = right;
void Add(TKey key, TValue value)
static OptimizerPatterns Write(QilNode nd)
static void Inherit(QilNode ndSrc, QilNode ndDst, OptimizerPatternName pattern)
static OptimizerPatterns Read(QilNode nd)
static void Analyze(QilExpression qil)
static XmlILConstructInfo Read(QilNode nd)
static XmlILConstructInfo Write(QilNode nd)
override QilNode Analyze(QilNode ndElem, QilNode ndContent)
void Analyze(QilNode nd, bool defaultNmspInScope)
bool Scan(QilNode expr, QilNode ctxt, QilNode key)
override QilNode VisitRoot(QilUnary root)
override QilNode VisitReference(QilNode expr)
override QilNode Visit(QilNode n)
int Count(QilNode expr, QilNode target)
override QilNode VisitReference(QilNode n)
override QilNode Visit(QilNode expr)
bool Find(QilNode expr, QilNode target)
override QilNode VisitReference(QilNode expr)
virtual bool OnFound(QilNode expr)
override bool OnFound(QilNode expr)
override QilNode VisitWarning(QilUnary local0)
override QilNode VisitTypeAssert(QilTargetType local0)
override QilNode VisitLe(QilBinary local0)
override QilNode VisitXPathPreceding(QilUnary local0)
override QilNode VisitQilExpression(QilExpression local0)
override QilNode VisitDeref(QilBinary local0)
override QilNode VisitIsEmpty(QilUnary local0)
override QilNode VisitMultiply(QilBinary local0)
override QilNode VisitFollowingSibling(QilUnary local0)
QilNode FoldComparison(QilNodeType opType, QilNode left, QilNode right)
override QilNode VisitError(QilUnary local0)
override QilNode VisitDocumentCtor(QilUnary local0)
readonly XmlILNamespaceAnalyzer _nmspAnalyzer
bool HasNestedSequence(QilNode nd)
bool IsLiteral(QilNode nd)
override QilNode VisitXsltGenerateId(QilUnary local0)
readonly NodeCounter _nodeCounter
override QilNode VisitNodeRange(QilBinary local0)
override QilNode VisitDescendant(QilUnary local0)
void AddStepPattern(QilNode nd, QilNode input)
bool CanFoldXsltConvert(QilNode ndLiteral, XmlQueryType typTarget)
override QilNode VisitUnion(QilBinary local0)
override QilNode VisitConditional(QilTernary local0)
override QilNode VisitIsType(QilTargetType local0)
bool IsGlobalValue(QilNode nd)
override QilNode VisitPrecedingSibling(QilUnary local0)
override QilNode VisitFunction(QilFunction local0)
bool IsPrimitiveNumeric(XmlQueryType typ)
override QilNode VisitPrefixOf(QilUnary local0)
override QilNode VisitNot(QilUnary local0)
override QilNode VisitXPathNamespace(QilUnary local0)
override QilNode VisitGe(QilBinary local0)
static void EliminateUnusedGlobals(IList< QilNode > globals)
override QilNode VisitRawTextCtor(QilUnary local0)
override QilNode VisitLength(QilUnary local0)
override QilNode VisitStrLength(QilUnary local0)
bool AllowReplace(XmlILOptimization pattern, QilNode original)
override QilNode VisitXsltCopy(QilBinary local0)
override QilNode VisitNameOf(QilUnary local0)
override QilNode VisitDivide(QilBinary local0)
override QilNode NoReplace(QilNode node)
object ExtractLiteralValue(QilNode nd)
override QilNode VisitAfter(QilBinary local0)
override QilNode VisitRtfCtor(QilBinary local0)
override QilNode VisitLoop(QilLoop local0)
override QilNode VisitRoot(QilUnary local0)
override QilNode VisitDataSource(QilDataSource local0)
bool CanFoldXsltConvertNonLossy(QilNode ndLiteral, XmlQueryType typTarget)
override QilNode VisitOptimizeBarrier(QilUnary local0)
override QilNode VisitDescendantOrSelf(QilUnary local0)
override QilNode VisitSortKey(QilSortKey local0)
QilNode Subs(QilNode expr, QilNode refOld, QilNode refNew)
QilNode Replace(XmlILOptimization pattern, QilNode original, QilNode replacement)
static readonly QilPatterns s_patternsOpt
bool DependsOn(QilNode expr, QilNode target)
override QilNode VisitNegate(QilUnary local0)
XmlILOptimizerVisitor(QilExpression qil, bool optimize)
override QilNode VisitLet(QilIterator local0)
override QilNode VisitCommentCtor(QilUnary local0)
readonly SubstitutionList _subs
override QilNode VisitGt(QilBinary local0)
override QilNode VisitNe(QilBinary local0)
override QilNode VisitSubtract(QilBinary local0)
bool IsConstructedExpression(QilNode nd)
override QilNode VisitIs(QilBinary local0)
override QilNode VisitInvoke(QilInvoke local0)
readonly QilExpression _qil
override QilNode VisitTextCtor(QilUnary local0)
override QilNode Visit(QilNode nd)
bool IsStepPattern(OptimizerPatterns patt, QilNodeType stepType)
override QilNode VisitIntersection(QilBinary local0)
override QilNode VisitSort(QilLoop local0)
bool IsGlobalVariable(QilIterator iter)
readonly XmlILStateAnalyzer _contentAnalyzer
override QilNode VisitElementCtor(QilBinary local0)
override QilNode VisitPICtor(QilBinary local0)
override QilNode VisitOr(QilBinary local0)
override QilNode VisitSum(QilUnary local0)
override QilNode VisitNamespaceDecl(QilBinary local0)
static QilPatterns CreatePatternsNoOpt()
override QilNode VisitContent(QilUnary local0)
override QilNode VisitAncestorOrSelf(QilUnary local0)
override void RecalculateType(QilNode node, XmlQueryType oldType)
bool MatchesContentTest(XmlQueryType typ)
readonly XmlILElementAnalyzer _elemAnalyzer
override QilNode VisitModulo(QilBinary local0)
override QilNode VisitAverage(QilUnary local0)
bool IsStepPattern(QilNode nd, QilNodeType stepType)
override QilNode VisitMinimum(QilUnary local0)
override QilNode VisitXPathNodeValue(QilUnary local0)
override QilNode VisitPositionOf(QilUnary local0)
override QilNode VisitFilter(QilLoop local0)
override QilNode VisitXsltCopyOf(QilUnary local0)
QilNode FoldXsltConvert(QilNode ndLiteral, XmlQueryType typTarget)
override QilNode VisitNop(QilUnary local0)
override QilNode VisitReference(QilNode oldNode)
override QilNode VisitEq(QilBinary local0)
override QilNode VisitNamespaceUriOf(QilUnary local0)
bool AllowDodReverse(QilNode nd)
override QilNode VisitDocOrderDistinct(QilUnary local0)
override QilNode VisitAttribute(QilBinary local0)
override QilNode VisitParent(QilUnary local0)
override QilNode VisitBefore(QilBinary local0)
override QilNode VisitLocalNameOf(QilUnary local0)
bool NonPositional(QilNode expr, QilNode iter)
override QilNode VisitPreceding(QilUnary local0)
bool AllowJoinAndDod(QilNode nd)
QilNode FoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right)
override QilNode VisitXsltConvert(QilTargetType local0)
override QilNode VisitMaximum(QilUnary local0)
override QilNode VisitStrConcat(QilStrConcat local0)
override QilNode VisitChoice(QilChoice local0)
override QilNode VisitStrParseQName(QilBinary local0)
override QilNode VisitDifference(QilBinary local0)
override QilNode VisitLt(QilBinary local0)
bool AreLiteralArgs(QilNode nd)
override QilNode VisitSequence(QilList local0)
static readonly QilPatterns s_patternsNoOpt
override QilNode VisitXPathFollowing(QilUnary local0)
bool CanFoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right)
override QilNode VisitAdd(QilBinary local0)
override QilNode VisitAnd(QilBinary local0)
bool IsDocOrderDistinct(QilNode nd)
override QilNode VisitAncestor(QilUnary local0)
override QilNode VisitAttributeCtor(QilBinary local0)
virtual QilNode Analyze(QilNode ndConstr, QilNode ndContent)
QilList GlobalParameterList
QilList GlobalVariableList
QilLiteral LiteralDecimal(decimal value)
QilBinary Union(QilNode left, QilNode right)
QilBinary Gt(QilNode left, QilNode right)
QilIterator Let(QilNode binding)
QilBinary Attribute(QilNode left, QilNode right)
QilBinary Ne(QilNode left, QilNode right)
QilList Sequence(IList< QilNode > values)
QilUnary IsEmpty(QilNode child)
QilBinary Subtract(QilNode left, QilNode right)
QilBinary Intersection(QilNode left, QilNode right)
QilUnary Length(QilNode child)
QilLiteral LiteralString(string value)
QilBinary Divide(QilNode left, QilNode right)
QilTernary Conditional(QilNode left, QilNode center, QilNode right)
QilUnary Descendant(QilNode child)
QilLiteral LiteralInt32(int value)
QilBinary Difference(QilNode left, QilNode right)
QilUnary TextCtor(QilNode child)
QilBinary Add(QilNode left, QilNode right)
QilBinary Ge(QilNode left, QilNode right)
QilLiteral LiteralDouble(double value)
QilUnary Nop(QilNode child)
QilBinary Le(QilNode left, QilNode right)
QilUnary DocOrderDistinct(QilNode child)
QilUnary Not(QilNode child)
QilBinary Modulo(QilNode left, QilNode right)
QilLiteral LiteralInt64(long value)
QilBinary Is(QilNode left, QilNode right)
QilLoop Filter(QilNode variable, QilNode body)
QilLoop Loop(QilNode variable, QilNode body)
QilIterator For(QilNode binding)
QilBinary Eq(QilNode left, QilNode right)
QilUnary Error(QilNode child)
QilBinary Multiply(QilNode left, QilNode right)
QilBinary Lt(QilNode left, QilNode right)
QilTargetType XsltConvert(QilNode expr, XmlQueryType xmlType)
QilSortKey SortKey(QilNode key, QilNode collation)
virtual bool Contains(QilNode node)
virtual void Add(QilNode node)
override QilNode VisitLiteralInt64(QilLiteral n)
override QilNode VisitLiteralDouble(QilLiteral n)
override QilNode VisitLiteralDecimal(QilLiteral n)
override QilNode VisitFalse(QilNode n)
override QilNode VisitFor(QilIterator n)
override QilNode VisitLiteralInt32(QilLiteral n)
override QilNode VisitTrue(QilNode n)
override QilNode VisitLiteralString(QilLiteral n)
virtual QilNode VisitAssumeReference(QilNode expr)
virtual QilNode VisitChildren(QilNode parent)
virtual QilNode Visit(QilNode n)
void AddSubstitutionPair(QilNode find, QilNode replace)
QilNode FindReplacement(QilNode n)
void RemoveLastSubstitutionPair()
static XmlAtomicValue ConvertToType(XmlAtomicValue value, XmlQueryType destinationType)
static readonly Type DecimalType
static readonly XmlQueryType DecimalX
static readonly XmlQueryType DoubleX
static readonly XmlQueryType Text
static readonly XmlQueryType StringX
static readonly XmlQueryType IntX
static readonly XmlQueryType Attribute
static readonly XmlQueryType Node
static readonly XmlQueryType Element
static readonly XmlQueryType NodeS
static readonly XmlQueryType Comment
static readonly XmlQueryType None
static readonly XmlQueryType NodeNotRtfS
static readonly XmlQueryType FloatX
static readonly XmlQueryType PI
static readonly XmlQueryType IntegerX
static readonly XmlQueryType BooleanX
static readonly XmlQueryType Content
static XmlQueryCardinality Zero