Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Xml.Xsl.IlGen.XmlILOptimizerVisitor Class Referencesealed

Classes

class  EqualityIndexVisitor
 
class  NodeCounter
 
class  NodeFinder
 
class  PositionOfFinder
 

Public Member Functions

 XmlILOptimizerVisitor (QilExpression qil, bool optimize)
 
QilExpression Optimize ()
 

Protected Member Functions

override QilNode Visit (QilNode nd)
 
override QilNode VisitReference (QilNode oldNode)
 
override QilNode NoReplace (QilNode node)
 
override void RecalculateType (QilNode node, XmlQueryType oldType)
 
override QilNode VisitQilExpression (QilExpression local0)
 
override QilNode VisitOptimizeBarrier (QilUnary local0)
 
override QilNode VisitDataSource (QilDataSource local0)
 
override QilNode VisitNop (QilUnary local0)
 
override QilNode VisitError (QilUnary local0)
 
override QilNode VisitWarning (QilUnary local0)
 
override QilNode VisitLet (QilIterator local0)
 
override QilNode VisitPositionOf (QilUnary local0)
 
override QilNode VisitAnd (QilBinary local0)
 
override QilNode VisitOr (QilBinary local0)
 
override QilNode VisitNot (QilUnary local0)
 
override QilNode VisitConditional (QilTernary local0)
 
override QilNode VisitChoice (QilChoice local0)
 
override QilNode VisitLength (QilUnary local0)
 
override QilNode VisitSequence (QilList local0)
 
override QilNode VisitUnion (QilBinary local0)
 
override QilNode VisitIntersection (QilBinary local0)
 
override QilNode VisitDifference (QilBinary local0)
 
override QilNode VisitAverage (QilUnary local0)
 
override QilNode VisitSum (QilUnary local0)
 
override QilNode VisitMinimum (QilUnary local0)
 
override QilNode VisitMaximum (QilUnary local0)
 
override QilNode VisitNegate (QilUnary local0)
 
override QilNode VisitAdd (QilBinary local0)
 
override QilNode VisitSubtract (QilBinary local0)
 
override QilNode VisitMultiply (QilBinary local0)
 
override QilNode VisitDivide (QilBinary local0)
 
override QilNode VisitModulo (QilBinary local0)
 
override QilNode VisitStrLength (QilUnary local0)
 
override QilNode VisitStrConcat (QilStrConcat local0)
 
override QilNode VisitStrParseQName (QilBinary local0)
 
override QilNode VisitNe (QilBinary local0)
 
override QilNode VisitEq (QilBinary local0)
 
override QilNode VisitGt (QilBinary local0)
 
override QilNode VisitGe (QilBinary local0)
 
override QilNode VisitLt (QilBinary local0)
 
override QilNode VisitLe (QilBinary local0)
 
override QilNode VisitIs (QilBinary local0)
 
override QilNode VisitAfter (QilBinary local0)
 
override QilNode VisitBefore (QilBinary local0)
 
override QilNode VisitLoop (QilLoop local0)
 
override QilNode VisitFilter (QilLoop local0)
 
override QilNode VisitSort (QilLoop local0)
 
override QilNode VisitSortKey (QilSortKey local0)
 
override QilNode VisitDocOrderDistinct (QilUnary local0)
 
override QilNode VisitFunction (QilFunction local0)
 
override QilNode VisitInvoke (QilInvoke local0)
 
override QilNode VisitContent (QilUnary local0)
 
override QilNode VisitAttribute (QilBinary local0)
 
override QilNode VisitParent (QilUnary local0)
 
override QilNode VisitRoot (QilUnary local0)
 
override QilNode VisitDescendant (QilUnary local0)
 
override QilNode VisitDescendantOrSelf (QilUnary local0)
 
override QilNode VisitAncestor (QilUnary local0)
 
override QilNode VisitAncestorOrSelf (QilUnary local0)
 
override QilNode VisitPreceding (QilUnary local0)
 
override QilNode VisitFollowingSibling (QilUnary local0)
 
override QilNode VisitPrecedingSibling (QilUnary local0)
 
override QilNode VisitNodeRange (QilBinary local0)
 
override QilNode VisitDeref (QilBinary local0)
 
override QilNode VisitElementCtor (QilBinary local0)
 
override QilNode VisitAttributeCtor (QilBinary local0)
 
override QilNode VisitCommentCtor (QilUnary local0)
 
override QilNode VisitPICtor (QilBinary local0)
 
override QilNode VisitTextCtor (QilUnary local0)
 
override QilNode VisitRawTextCtor (QilUnary local0)
 
override QilNode VisitDocumentCtor (QilUnary local0)
 
override QilNode VisitNamespaceDecl (QilBinary local0)
 
override QilNode VisitRtfCtor (QilBinary local0)
 
override QilNode VisitNameOf (QilUnary local0)
 
override QilNode VisitLocalNameOf (QilUnary local0)
 
override QilNode VisitNamespaceUriOf (QilUnary local0)
 
override QilNode VisitPrefixOf (QilUnary local0)
 
override QilNode VisitTypeAssert (QilTargetType local0)
 
override QilNode VisitIsType (QilTargetType local0)
 
override QilNode VisitIsEmpty (QilUnary local0)
 
override QilNode VisitXPathNodeValue (QilUnary local0)
 
override QilNode VisitXPathFollowing (QilUnary local0)
 
override QilNode VisitXPathPreceding (QilUnary local0)
 
override QilNode VisitXPathNamespace (QilUnary local0)
 
override QilNode VisitXsltGenerateId (QilUnary local0)
 
override QilNode VisitXsltCopy (QilBinary local0)
 
override QilNode VisitXsltCopyOf (QilUnary local0)
 
override QilNode VisitXsltConvert (QilTargetType local0)
 
virtual bool AllowReplace (int pattern, QilNode original)
 
virtual QilNode Replace (int pattern, QilNode original, QilNode replacement)
 
override QilNode VisitFunctionList (QilList n)
 
override QilNode VisitGlobalVariableList (QilList n)
 
override QilNode VisitGlobalParameterList (QilList n)
 
override QilNode VisitActualParameterList (QilList n)
 
override QilNode VisitFormalParameterList (QilList n)
 
override QilNode VisitSortKeyList (QilList n)
 
override QilNode VisitBranchList (QilList n)
 
override QilNode VisitUnknown (QilNode n)
 
override QilNode VisitFor (QilIterator n)
 
override QilNode VisitForReference (QilIterator n)
 
override QilNode VisitLetReference (QilIterator n)
 
override QilNode VisitParameter (QilParameter n)
 
override QilNode VisitParameterReference (QilParameter n)
 
override QilNode VisitTrue (QilNode n)
 
override QilNode VisitFalse (QilNode n)
 
override QilNode VisitLiteralString (QilLiteral n)
 
override QilNode VisitLiteralInt32 (QilLiteral n)
 
override QilNode VisitLiteralInt64 (QilLiteral n)
 
override QilNode VisitLiteralDouble (QilLiteral n)
 
override QilNode VisitLiteralDecimal (QilLiteral n)
 
override QilNode VisitLiteralQName (QilName n)
 
override QilNode VisitLiteralType (QilLiteral n)
 
override QilNode VisitLiteralObject (QilLiteral n)
 
override QilNode VisitFunctionReference (QilFunction n)
 
override QilNode VisitXmlContext (QilNode n)
 
override QilNode VisitXsltInvokeLateBound (QilInvokeLateBound n)
 
override QilNode VisitXsltInvokeEarlyBound (QilInvokeEarlyBound n)
 
override QilNode VisitChildren (QilNode parent)
 
virtual QilNode VisitAssumeReference (QilNode expr)
 
virtual bool IsReference (QilNode parent, int childNum)
 
virtual QilNode VisitNull ()
 

Protected Attributes

QilFactory f
 

Properties

bool this[XmlILOptimization ann] [get]
 
QilPatterns Patterns [get, set]
 
int Threshold = int.MaxValue [get]
 
int ReplacementCount [get, private set]
 
int LastReplacement [set]
 
bool Matching [get]
 

Private Member Functions

bool AllowReplace (XmlILOptimization pattern, QilNode original)
 
QilNode Replace (XmlILOptimization pattern, QilNode original, QilNode replacement)
 
bool DependsOn (QilNode expr, QilNode target)
 
bool NonPositional (QilNode expr, QilNode iter)
 
QilNode Subs (QilNode expr, QilNode refOld, QilNode refNew)
 
bool IsGlobalVariable (QilIterator iter)
 
bool IsGlobalValue (QilNode nd)
 
bool IsPrimitiveNumeric (XmlQueryType typ)
 
bool MatchesContentTest (XmlQueryType typ)
 
bool IsConstructedExpression (QilNode nd)
 
bool IsLiteral (QilNode nd)
 
bool AreLiteralArgs (QilNode nd)
 
object ExtractLiteralValue (QilNode nd)
 
bool HasNestedSequence (QilNode nd)
 
bool AllowJoinAndDod (QilNode nd)
 
bool AllowDodReverse (QilNode nd)
 
bool CanFoldXsltConvert (QilNode ndLiteral, XmlQueryType typTarget)
 
bool CanFoldXsltConvertNonLossy (QilNode ndLiteral, XmlQueryType typTarget)
 
QilNode FoldXsltConvert (QilNode ndLiteral, XmlQueryType typTarget)
 
QilNode FoldComparison (QilNodeType opType, QilNode left, QilNode right)
 
bool CanFoldArithmetic (QilNodeType opType, QilLiteral left, QilLiteral right)
 
QilNode FoldArithmetic (QilNodeType opType, QilLiteral left, QilLiteral right)
 
void AddStepPattern (QilNode nd, QilNode input)
 
bool IsDocOrderDistinct (QilNode nd)
 
bool IsStepPattern (QilNode nd, QilNodeType stepType)
 
bool IsStepPattern (OptimizerPatterns patt, QilNodeType stepType)
 

Static Private Member Functions

static QilPatterns CreatePatternsNoOpt ()
 
static void EliminateUnusedGlobals (IList< QilNode > globals)
 

Private Attributes

readonly QilExpression _qil
 
readonly XmlILElementAnalyzer _elemAnalyzer
 
readonly XmlILStateAnalyzer _contentAnalyzer
 
readonly XmlILNamespaceAnalyzer _nmspAnalyzer
 
readonly NodeCounter _nodeCounter = new NodeCounter()
 
readonly SubstitutionList _subs = new SubstitutionList()
 
int _003CLastReplacement_003Ek__BackingField
 

Static Private Attributes

static readonly QilPatterns s_patternsNoOpt = CreatePatternsNoOpt()
 
static readonly QilPatterns s_patternsOpt = new QilPatterns(141, allSet: true)
 

Detailed Description

Definition at line 9 of file XmlILOptimizerVisitor.cs.


The documentation for this class was generated from the following file: