C# (CSharp) System.Xml.Xsl.IlGen Namespace

Classes

Name Description
GenerateHelper Contains helper methods used during the code generation phase.
IteratorDescriptor Iterators are joined together, are nested within each other, and reference each other. This internal class contains detailed information about iteration next labels, caching, iterator item location, etc.
OptimizerPatterns As the Qil graph is traversed, patterns are identified. Subtrees that match these patterns are annotated with this class, which identifies the matching patterns and their arguments.
StorageDescriptor Describes the Clr type and location of items returned by an iterator. This struct is meant to be immutable.
TailCallAnalyzer This analyzer walks each function in the graph and annotates Invoke nodes which can be compiled using the IL .tailcall instruction. This instruction will discard the current stack frame before calling the new function.
XmlILConstructInfo Every node is annotated with information about how it will be constructed by ILGen.
XmlILConstructors List of all XmlIL runtime constructors.
XmlILElementAnalyzer Scans the content of an ElementCtor and tries to minimize the number of well-formed checks that will have to be made at runtime when constructing content.
XmlILMethods List of all XmlIL runtime methods.
XmlILModule
XmlILNamespaceAnalyzer Scans constructed content, looking for redundant namespace declarations. If any are found, then they are marked and removed later.
XmlILOptimizerVisitor
XmlILOptimizerVisitor.EqualityIndexVisitor
XmlILOptimizerVisitor.NodeCounter
XmlILOptimizerVisitor.NodeFinder
XmlILOptimizerVisitor.PositionOfFinder
XmlILStateAnalyzer Scans the content of an constructor and tries to minimize the number of well-formed checks that will have to be made at runtime when constructing content.
XmlILStorageMethods List of all XmlIL runtime constructors.
XmlILTypeHelper Static QilExpression type helper methods.
XmlILVisitor Creates Msil code for an entire QilExpression graph. Code is generated in one of two modes: push or pull. In push mode, code is generated to push the values in an iterator to the XmlWriter interface. In pull mode, the values in an iterator are stored in a physical location such as the stack or a local variable by an iterator. The iterator is passive, and will just wait for a caller to pull the data and/or instruct the iterator to enumerate the next value.