107 object[]
args =
new string[2]
516 if (
ndCond.XmlType.IsSingleton)
534 if (!
ndCond.XmlType.IsSingleton)
577 for (i = 0; i < num; i++)
585 for (i = 0; i < num; i++)
660 if (
ndSeq.XmlType.IsSingleton)
664 if (
item.XmlType.IsSingleton)
745 if (
ndSet.XmlType.IsSingleton)
754 _iterCurr.GetLabelNext(),
804 if (
ndAgg.XmlType.MaybeEmpty)
878 if (!
item.XmlType.IsSingleton)
1398 if (
ndKey.XmlType.IsSingleton)
1420 if (
ndDod.XmlType.IsSingleton)
2092 switch (
iterCurr.CurrentBranchingContext)
2117 if (
ndVal.Child.XmlType.IsSingleton)
2161 if (
ndGenId.Child.XmlType.IsSingleton)
2212 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2072:RequiresUnreferencedCode", Justification =
"Supressing warning about not having the RequiresUnreferencedCode attribute since we added the attribute to this subclass' constructor. This allows us to not have to annotate the whole QilNode hirerarchy.")]
2226 if (name.NamespaceUri.Length == 0)
2240 if (name.NamespaceUri.Length == 0)
2290 else if (name.NamespaceUri.Length != 0 && !
clrReturnType.IsValueType)
2460 return meth !=
null;
2540 if (
nd.XmlType.IsSingleton)
2559 _helper.LoadQueryOutput();
2567 string localName =
qilName.LocalName;
2568 string namespaceUri =
qilName.NamespaceUri;
2569 if (
qilName.NamespaceUri.Length == 0)
2607 NestedVisitEnsureStack(
ndName);
2650 _helper.LoadQueryRuntime();
2655 _helper.LoadInteger(_helper.StaticData.DeclareName(
qilName.LocalName));
2656 _helper.LoadInteger(_helper.StaticData.DeclareName(
qilName.NamespaceUri));
2674 switch (_iterCurr.CurrentBranchingContext)
2696 _helper.Emit(opcode, _iterCurr.LabelBranch);
2700 opcode =
relOp switch
2710 _helper.Emit(opcode, _iterCurr.LabelBranch);
2741 label = _helper.DefineLabel();
2742 _helper.Emit(opcode,
label);
2751 switch (_iterCurr.CurrentBranchingContext)
2803 return info?.MightHaveNamespacesAfterAttributes ??
true;
2808 if (!
info.MightHaveDuplicateAttributes)
2810 return info.MightHaveNamespacesAfterAttributes;
2820 _helper.CallStartTree(QilConstructorToNodeType(
ndCtor.NodeType));
2825 if (nodeType ==
QilNodeType.ElementCtor || (uint)(nodeType - 83) <= 3
u)
2827 _helper.CallStartElementContent();
2838 _helper.CallEndTree();
2894 _helper.CallGetNameFilter(_helper.StaticData.DeclareNameFilter(
ndName.LocalName,
ndName.NamespaceUri));
2896 else if (IsNodeTypeUnion(
xmlTypes))
2909 _helper.CallGetTypeFilter(QilXmlToXPathNodeType(
xmlTypes));
2935 StartNestedIterator(
nd);
2941 if (_iterCurr.IsBranching && _iterCurr.Storage.Location != 0)
2943 _iterCurr.EnsureItemStorageType(
nd.XmlType,
typeof(
bool));
2944 _iterCurr.EnsureStackNoCache();
2955 _iterNested = _iterCurr;
2956 _iterCurr = _iterCurr.ParentIterator;
2963 StartNestedIterator(
nd);
2965 EndNestedIterator(
nd);
2968 else if (!
isCached &&
nd.XmlType.IsSingleton)
2970 StartNestedIterator(
nd);
2972 _iterCurr.EnsureNoCache();
2974 EndNestedIterator(
nd);
2985 NestedVisit(
nd, GetItemStorageType(
nd), !
nd.XmlType.IsSingleton);
2992 _iterCurr.EnsureNoCache();
2993 _iterCurr.EnsureItemStorageType(
nd.XmlType, GetItemStorageType(
nd));
2994 EndNestedIterator(
nd);
3001 _iterCurr.EnsureStack();
3006 NestedVisitEnsureStack(
ndLeft);
3007 NestedVisitEnsureStack(
ndRight);
3013 _iterCurr.EnsureStack();
3019 _iterCurr.EnsureLocal(
loc);
3024 StartNestedIterator(
nd);
3027 EndNestedIterator(
nd);
3033 bool flag = CachesResult(
nd);
3037 StartNestedIterator(
nd);
3039 EndNestedIterator(
nd);
3050 _iterCurr.EnsureNoStack(
"$$$cacheResult");
3056 if (
nd.XmlType.IsSingleton)
3076 _iterCurr.EnsureItemStorageType(
nd.XmlType,
type);
3077 _iterCurr.EnsureStackNoCache();
3081 EndNestedIterator(
nd);
3089 switch (
nd.NodeType)
3096 return !
nd.XmlType.IsSingleton;
3104 if (
nd.XmlType.IsSingleton)
static readonly OpCode Ldloca
static readonly OpCode Ldarg_2
static readonly OpCode Brfalse
static readonly OpCode Bge_S
static readonly OpCode Blt_Un
static readonly OpCode Ldc_I8
static readonly OpCode Blt
static readonly OpCode Bge_Un
static readonly OpCode Brtrue
static readonly OpCode Clt
static readonly OpCode Br_S
static readonly OpCode Ble_Un
static readonly OpCode Stloc
static readonly OpCode Bgt_Un
static readonly OpCode Bne_Un_S
static readonly OpCode Bgt
static readonly OpCode Cgt
static readonly OpCode Add
static readonly OpCode Ble
static readonly OpCode Beq
static readonly OpCode And
static readonly OpCode Br
static readonly OpCode Shl
static readonly OpCode Bne_Un
static readonly OpCode Ceq
static readonly OpCode Bge
static readonly OpCode Ldc_I4_1
static readonly OpCode Ldc_I4_0
static readonly OpCode Ldstr
static readonly OpCode Pop
static readonly OpCode Ldelema
static readonly OpCode Stobj
static readonly OpCode Ldarg_1
static readonly OpCode Ldsfld
static readonly OpCode Switch
static readonly OpCode Nop
static readonly OpCode Ldloc
static readonly OpCode Ldnull
static readonly OpCode Brfalse_S
static readonly OpCode Ldc_R8
static readonly OpCode Dup
static readonly OpCode Ble_S
static readonly OpCode Newarr
static string Format(string resourceFormat, object p1)
static string Xslt_ItemNull
static string XmlIl_UnknownParam
static bool ExactlyOne(uint num)
static bool ValidateName(string prefix, string localName, string ns, XPathNodeType nodeKind, Flags flags)
void TestAndBranch(int i4, Label lblBranch, OpCode opcodeBranch)
void TreatAs(Type clrTypeSrc, Type clrTypeDst)
void AddSortKey(XmlQueryType keyType)
void CallWriteString(bool disableOutputEscaping, bool callChk)
void ConstructLiteralQName(string localName, string namespaceName)
void CallGetParameter(string localName, string namespaceUri)
void MarkLabel(Label lbl)
void CallWriteStartRoot()
void CallStartSequenceConstruction()
void DebugSequencePoint(ISourceLineInfo sourceInfo)
void Construct(ConstructorInfo constr)
void CallCompare(XmlTypeCode code)
void CallArithmeticOp(QilNodeType opType, XmlTypeCode code)
void ConstructLiteralDecimal(decimal dec)
void CallSyncToNavigator()
void CallWriteStartAttribute(GenerateNameType nameType, bool callChk)
LocalBuilder DeclareLocal(string name, Type type)
void CallStartRtfConstruction(string baseUri)
void CallWriteStartComment()
void CallGetEarlyBoundObject(int idxObj, Type clrType)
void CallGetCollation(int idxName)
void TailCall(MethodInfo meth)
void CallGetAtomizedName(int idxName)
void CallStartElementContent()
void CallWriteNamespaceDecl(bool callChk)
void CallCompareEquals(XmlTypeCode code)
void EmitUnconditionalBranch(OpCode opcode, Label lblTarget)
void ConvBranchToBool(Label lblBranch, bool isTrueBranch)
void CallWriteStartElement(GenerateNameType nameType, bool callChk)
void CallParseTagName(GenerateNameType nameType)
void CallCacheCount(Type itemStorageType)
void MethodBegin(MethodBase methInfo, ISourceLineInfo sourceInfo, bool initWriters)
void LoadBoolean(bool boolVal)
void CallWriteEndAttribute(bool callChk)
void LoadInteger(int intVal)
void SetParameter(object paramId)
void LoadType(Type clrTyp)
void CallWriteEndElement(GenerateNameType nameType, bool callChk)
void CallEndRtfConstruction()
StaticDataManager StaticData
void CallWriteEndComment()
void CallSetGlobalValue(Type clrType)
void Call(MethodInfo meth)
void CallGetGlobalValue(int idxValue, Type clrType)
void CallEndSequenceConstruction()
void CallConcatStrings(int cStrings)
void LoadParameter(int paramPos)
void LoopToEnd(Label lblOnEnd)
void EnsureItemStorageType(XmlQueryType xmlType, Type storageTypeDest)
void EnsureStackNoCache()
StorageDescriptor Storage
IteratorDescriptor ParentIterator
void SetBranching(BranchingContext brctxt, Label lblBranch)
void EnsureLocal(string locName)
void EnsureNoStack(string locName)
void EnsureNoStackNoCache(string locName)
void SetIterator(Label lblNext, StorageDescriptor storage)
BranchingContext CurrentBranchingContext
void EnsureLocalNoCache(string locName)
static OptimizerPatterns Read(QilNode nd)
int DeclarePrefixMappings(IList< QilNode > list)
int DeclareName(string name)
int DeclareXmlType(XmlQueryType type)
int DeclareGlobalValue(string name)
int DeclareEarlyBound(string namespaceUri, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type ebType)
int DeclareCollation(string collation)
static XmlILAnnotation Write(QilNode nd)
static XmlILConstructInfo Read(QilNode nd)
static readonly ConstructorInfo QName
static readonly MethodInfo PreSibDOCreate
static readonly Dictionary< Type, XmlILStorageMethods > StorageMethods
static readonly MethodInfo EndCopy
static readonly MethodInfo StrCatDelim
static readonly MethodInfo XPFollMergeCurrent
static readonly MethodInfo XPPrecMergeCreate
static readonly MethodInfo XPPrecCreate
static readonly MethodInfo DodMergeSeq
static readonly MethodInfo ParentCurrent
static readonly MethodInfo ItemsToNode
static readonly MethodInfo ContentCurrent
static readonly MethodInfo Value
static readonly MethodInfo KindContentNext
static readonly MethodInfo PrecCurrent
static readonly MethodInfo NodeRangeCreate
static readonly MethodInfo ContentMergeNext
static readonly MethodInfo ChangeTypeXsltArg
static readonly MethodInfo PrecCreate
static readonly MethodInfo NavMoveRoot
static readonly MethodInfo ParentNext
static readonly MethodInfo XPPrecMergeCurrent
static readonly MethodInfo AncDOCreate
static readonly MethodInfo AddNewIndex
static readonly MethodInfo StrToDbl
static readonly MethodInfo FollSibMergeCreate
static readonly MethodInfo DblToStr
static readonly MethodInfo DiffNext
static readonly MethodInfo DblToDec
static readonly MethodInfo GlobalComputed
static readonly MethodInfo PreSibCreate
static readonly MethodInfo DescMergeCurrent
static readonly MethodInfo FindIndex
static readonly MethodInfo DescCurrent
static readonly MethodInfo IdCurrent
static readonly MethodInfo DescNext
static readonly MethodInfo GenId
static readonly MethodInfo ItemToBool
static readonly MethodInfo FollSibCreate
static readonly MethodInfo InvokeXsltLate
static readonly MethodInfo AncDONext
static readonly MethodInfo AncCreate
static readonly MethodInfo NodeRangeCurrent
static readonly MethodInfo ItemToNode
static readonly MethodInfo StrCatResult
static readonly MethodInfo PreSibCurrent
static readonly MethodInfo AttrCreate
static readonly MethodInfo AncNext
static readonly MethodInfo NodeRangeNext
static readonly MethodInfo XPFollCreate
static readonly MethodInfo GetDataSource
static readonly MethodInfo XPPrecNext
static readonly MethodInfo XPPrecMergeNext
static readonly MethodInfo DecToDbl
static readonly MethodInfo CreateCollation
static readonly MethodInfo ItemsToDbl
static readonly MethodInfo StrCatCat
static readonly MethodInfo DescMergeCreate
static readonly MethodInfo StrLen
static readonly MethodInfo PIText
static readonly MethodInfo PreSibDONext
static readonly MethodInfo StartCopy
static readonly MethodInfo NmspNext
static readonly MethodInfo AttrCurrent
static readonly MethodInfo SortKeyKeys
static readonly MethodInfo PrecNext
static readonly MethodInfo GetDefaultDataSource
static readonly MethodInfo NavNmsp
static readonly MethodInfo ItemIsNode
static readonly MethodInfo IdCreate
static readonly MethodInfo DescMergeNext
static readonly MethodInfo DescCreate
static readonly MethodInfo ItemMatchesCode
static readonly MethodInfo KindContentCreate
static readonly MethodInfo ThrowException
static readonly MethodInfo NavSamePos
static readonly MethodInfo FollSibCurrent
static readonly MethodInfo LngToDbl
static readonly MethodInfo UnionCreate
static readonly MethodInfo ChangeTypeXsltResult
static readonly MethodInfo RtfConstr
static readonly MethodInfo InterCurrent
static readonly MethodInfo DodMergeAdd
static readonly MethodInfo NmspCurrent
static readonly MethodInfo XPPrecCurrent
static readonly MethodInfo QNameEqualNav
static readonly MethodInfo ItemToDbl
static readonly MethodInfo NavMoveParent
static readonly MethodInfo XPFollCurrent
static readonly MethodInfo DiffCurrent
static readonly MethodInfo UnionCurrent
static readonly MethodInfo IndexLookup
static readonly MethodInfo ItemToNodes
static readonly MethodInfo CompPos
static readonly MethodInfo FollSibNext
static readonly MethodInfo SortKeyCreate
static readonly MethodInfo ItemsToNodes
static readonly MethodInfo AttrNext
static readonly MethodInfo XPFollMergeNext
static readonly MethodInfo FollSibMergeCurrent
static readonly MethodInfo SeqMatchesType
static readonly MethodInfo CopyOf
static readonly MethodInfo InterNext
static readonly MethodInfo SortKeyFinish
static readonly MethodInfo XPPrecDONext
static readonly MethodInfo AttrContentCurrent
static readonly MethodInfo ItemsToStr
static readonly MethodInfo IntToDbl
static readonly MethodInfo AttrContentNext
static readonly MethodInfo AncDOCurrent
static readonly MethodInfo AncCurrent
static readonly MethodInfo ItemsToBool
static readonly MethodInfo ItemToStr
static readonly MethodInfo KindContentCurrent
static readonly MethodInfo ElemContentNext
static readonly MethodInfo XPFollNext
static readonly MethodInfo QNameEqualLit
static readonly MethodInfo InterCreate
static readonly MethodInfo NavMoveAttr
static readonly MethodInfo ParentCreate
static readonly MethodInfo ContentNext
static readonly MethodInfo CommentText
static readonly MethodInfo AttrContentCreate
static readonly MethodInfo ElemContentCreate
static readonly MethodInfo DblToInt
static readonly MethodInfo WriteItem
static readonly MethodInfo UnionNext
static readonly MethodInfo NavLocalName
static readonly MethodInfo NavType
static readonly MethodInfo DTToStr
static readonly MethodInfo ContentMergeCurrent
static readonly MethodInfo ContentMergeCreate
static readonly MethodInfo FollSibMergeNext
static readonly MethodInfo PreSibDOCurrent
static readonly MethodInfo XPPrecDOCreate
static readonly MethodInfo DblToLng
static readonly MethodInfo NmspCreate
static readonly MethodInfo DiffCreate
static readonly MethodInfo XPFollMergeCreate
static readonly MethodInfo ItemMatchesType
static readonly MethodInfo NavPrefix
static readonly MethodInfo SeqMatchesCode
static readonly MethodInfo IdNext
static readonly MethodInfo IndexAdd
static readonly MethodInfo SendMessage
static readonly MethodInfo StrCatClear
static readonly MethodInfo XPPrecDOCurrent
static readonly MethodInfo ContentCreate
static readonly MethodInfo PreSibNext
static readonly MethodInfo DodMergeCreate
static readonly MethodInfo StrToDT
static readonly MethodInfo DocOrder
static readonly MethodInfo ElemContentCurrent
static Type GetStorageType(XmlQueryType qyTyp)
override QilNode VisitDataSource(QilDataSource ndSrc)
override QilNode VisitOr(QilBinary ndOr)
override QilNode VisitLength(QilUnary ndSetLen)
override QilNode VisitTypeAssert(QilTargetType ndTypeAssert)
override QilNode VisitGe(QilBinary ndGe)
override QilNode VisitXsltCopyOf(QilUnary ndCopyOf)
override QilNode VisitLiteralDecimal(QilLiteral ndDec)
override QilNode VisitDivide(QilBinary ndDiv)
void EndBinding(QilIterator ndIter)
override QilNode VisitXPathFollowing(QilUnary ndFoll)
override QilNode VisitIsEmpty(QilUnary ndIsEmpty)
override QilNode VisitConditional(QilTernary ndCond)
QilNode ArithmeticOp(QilBinary ndOp)
override QilNode VisitAncestor(QilUnary ndAnc)
void LoadSelectFilter(XmlNodeKindFlags xmlTypes, QilName ndName)
override QilNode VisitLiteralDouble(QilLiteral ndDbl)
bool HandleFilterPatterns(QilLoop ndFilter)
XPathNodeType QilXmlToXPathNodeType(XmlNodeKindFlags xmlTypes)
override QilNode VisitNameOf(QilUnary ndName)
override QilNode VisitMaximum(QilUnary ndMax)
override QilNode VisitXsltCopy(QilBinary ndCopy)
override QilNode VisitLt(QilBinary ndLt)
bool MatchesNodeKinds(QilTargetType ndIsType, XmlQueryType typDerived, XmlQueryType typBase)
void CopySequence(QilNode nd)
void GenerateConcat(QilNode ndStr, LocalBuilder locStringConcat)
override QilNode VisitFor(QilIterator ndFor)
override QilNode VisitError(QilUnary ndErr)
void VisitGlobalValues(QilList globalIterators)
override QilNode VisitXsltInvokeLateBound(QilInvokeLateBound ndInvoke)
override QilNode VisitAfter(QilBinary ndAfter)
void BeforeStartChecks(QilNode ndCtor)
override QilNode VisitGt(QilBinary ndGt)
override QilNode VisitAverage(QilUnary ndAvg)
override QilNode VisitDocOrderDistinct(QilUnary ndDod)
void StartLetBinding(QilIterator ndLet)
override QilNode VisitInvoke(QilInvoke ndInvoke)
override QilNode VisitPICtor(QilBinary ndPI)
override QilNode VisitNamespaceDecl(QilBinary ndNmsp)
Type GetStorageType(XmlQueryType typ)
override QilNode VisitChoice(QilChoice ndChoice)
void NestedVisit(QilNode nd, Label lblOnEnd)
override QilNode VisitMinimum(QilUnary ndMin)
void StartNestedIterator(QilNode nd)
void StartBinding(QilIterator ndIter)
override QilNode VisitElementCtor(QilBinary ndElem)
override QilNode VisitFilter(QilLoop ndFilter)
override QilNode VisitLoop(QilLoop ndLoop)
override QilNode VisitUnion(QilBinary ndUnion)
override QilNode VisitParameter(QilParameter ndParameter)
bool CheckWithinContent(XmlILConstructInfo info)
override QilNode VisitTextCtor(QilUnary ndText)
Type GetItemStorageType(QilNode nd)
void NestedConstruction(QilNode nd)
GenerateNameType LoadNameAndType(XPathNodeType nodeType, QilNode ndName, bool isStart, bool callChk)
bool MightHaveNamespacesAfterAttributes(XmlILConstructInfo info)
override QilNode VisitRoot(QilUnary ndRoot)
override QilNode VisitContent(QilUnary ndContent)
void Sequence(QilList ndSeq)
void CreateContainerIterator(QilUnary ndDod, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent, XmlNodeKindFlags kinds, QilName ndName, TriState orSelf)
override QilNode VisitXsltGenerateId(QilUnary ndGenId)
override QilNode VisitLet(QilIterator ndLet)
void NestedVisitWithBranch(QilNode nd, BranchingContext brctxt, Label lblBranch)
void SyncToNavigator(LocalBuilder locNav, QilNode ndCtxt)
void EndWriterLoop(QilNode nd, bool hasOnEnd, Label lblOnEnd)
void Function(QilFunction ndFunc)
override QilNode VisitStrLength(QilUnary ndLen)
Type GetItemStorageType(XmlQueryType typ)
bool CheckEnumAttrs(XmlILConstructInfo info)
override QilNode VisitPrefixOf(QilUnary ndName)
QilNode CreateSetIterator(QilBinary ndSet, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent)
void ZeroCompare(QilNodeType relOp, bool isBoolVal)
QilNode CreateAggregator(QilUnary ndAgg, string aggName, XmlILStorageMethods methods, MethodInfo methAgg, MethodInfo methResult)
bool ElementCachesAttributes(XmlILConstructInfo info)
override QilNode VisitDescendant(QilUnary ndDesc)
bool TryZeroCompare(QilNodeType relOp, QilNode ndFirst, QilNode ndSecond)
override QilNode VisitChildren(QilNode parent)
override QilNode VisitFollowingSibling(QilUnary ndFollSib)
override QilNode VisitIs(QilBinary ndIs)
override QilNode VisitDescendantOrSelf(QilUnary ndDesc)
override QilNode VisitLocalNameOf(QilUnary ndName)
override QilNode VisitAttribute(QilBinary ndAttr)
void AfterEndChecks(QilNode ndCtor)
void StartWriterLoop(QilNode nd, out bool hasOnEnd, out Label lblOnEnd)
void ComparePosition(QilBinary ndComp)
void CreateFilteredIterator(QilNode ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent, XmlNodeKindFlags kinds, QilName ndName, TriState orSelf, QilNode ndEnd)
override QilNode VisitOptimizeBarrier(QilUnary ndBarrier)
override QilNode VisitIsType(QilTargetType ndIsType)
override QilNode VisitTrue(QilNode ndTrue)
override QilNode VisitPrecedingSibling(QilUnary ndPreSib)
override QilNode VisitEq(QilBinary ndEq)
bool HandleDodPatterns(QilUnary ndDod)
IteratorDescriptor _iterCurr
override QilNode VisitModulo(QilBinary ndMod)
bool TryNameCompare(QilNodeType relOp, QilNode ndFirst, QilNode ndSecond)
override QilNode VisitNe(QilBinary ndNe)
void NestedVisitEnsureStack(QilNode nd, Type itemStorageType, bool isCached)
void EndNestedIterator(QilNode nd)
override QilNode VisitNamespaceUriOf(QilUnary ndName)
override QilNode Visit(QilNode nd)
void NestedVisit(QilNode nd)
Label StartConjunctiveTests(BranchingContext brctxt, Label lblBranch)
void GenerateContainerIterator(QilNode nd, LocalBuilder locIter, Label lblOnEndNested, MethodInfo methNext, MethodInfo methCurrent, Type itemStorageType)
override QilNode VisitWarning(QilUnary ndWarning)
override QilNode VisitNot(QilUnary ndNot)
override QilNode VisitCommentCtor(QilUnary ndComment)
override QilNode VisitLiteralInt32(QilLiteral ndInt)
override QilNode VisitRtfCtor(QilBinary ndRtf)
override QilNode VisitParent(QilUnary ndParent)
override QilNode VisitRawTextCtor(QilUnary ndText)
QilNode VisitNodeProperty(QilUnary ndProp)
bool CachesResult(QilNode nd)
override QilNode VisitFalse(QilNode ndFalse)
override QilNode VisitXPathPreceding(QilUnary ndPrec)
override QilNode VisitXPathNodeValue(QilUnary ndVal)
void Compare(QilBinary ndComp)
override QilNode VisitLiteralString(QilLiteral ndStr)
Type GetStorageType(QilNode nd)
void CreateSimpleIterator(QilNode ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent)
override QilNode VisitDifference(QilBinary ndDiff)
void EndConjunctiveTests(BranchingContext brctxt, Label lblBranch, Label lblOnFalse)
bool GetXsltConvertMethod(XmlQueryType typSrc, XmlQueryType typDst, out MethodInfo meth)
override QilNode VisitDeref(QilBinary ndDeref)
void NestedVisitEnsureLocal(QilNode nd, LocalBuilder loc)
override QilNode VisitLiteralInt64(QilLiteral ndLong)
override QilNode VisitSequence(QilList ndSeq)
override QilNode VisitNodeRange(QilBinary ndRange)
override QilNode VisitMultiply(QilBinary ndMul)
XPathNodeType QilConstructorToNodeType(QilNodeType typ)
void StartLastConjunctiveTest(BranchingContext brctxt, Label lblBranch, Label lblOnFalse)
void VisitSortKey(QilSortKey ndKey, LocalBuilder locKeys)
void StartNestedIterator(QilNode nd, Label lblOnEnd)
QilNode VisitTextCtor(QilUnary ndText, bool disableOutputEscaping)
void VisitStrParseQName(QilBinary ndParsedTagName, bool preservePrefix)
void VisitEmpty(QilNode nd)
override QilNode VisitIntersection(QilBinary ndInter)
override QilNode VisitAncestorOrSelf(QilUnary ndAnc)
override QilNode VisitBefore(QilBinary ndBefore)
override QilNode VisitStrParseQName(QilBinary ndParsedTagName)
override QilNode VisitPreceding(QilUnary ndPrec)
static bool IsNodeTypeUnion(XmlNodeKindFlags xmlTypes)
override QilNode VisitXsltConvert(QilTargetType ndConv)
override QilNode VisitNegate(QilUnary ndNeg)
void StartForBinding(QilIterator ndFor, OptimizerPatterns patt)
override QilNode VisitSubtract(QilBinary ndMinus)
void NestedVisitEnsureCache(QilNode nd, Type itemStorageType)
void ConditionalBranch(QilNode ndBranch, Type itemStorageType, LocalBuilder locResult)
override QilNode VisitAdd(QilBinary ndPlus)
override QilNode VisitAnd(QilBinary ndAnd)
override QilNode VisitDocumentCtor(QilUnary ndDoc)
IteratorDescriptor _iterNested
override QilNode VisitPositionOf(QilUnary ndPos)
void NestedVisitEnsureStack(QilNode ndLeft, QilNode ndRight)
override QilNode VisitLe(QilBinary ndLe)
void Visit(QilExpression qil, GenerateHelper helper, MethodInfo methRoot)
void PrepareGlobalValues(QilList globalIterators)
override QilNode VisitNop(QilUnary ndNop)
override QilNode VisitXsltInvokeEarlyBound(QilInvokeEarlyBound ndInvoke)
override QilNode VisitSum(QilUnary ndSum)
override QilNode VisitXmlContext(QilNode ndCtxt)
void ClrCompare(QilNodeType relOp, XmlTypeCode code)
override QilNode VisitXPathNamespace(QilUnary ndNmsp)
override QilNode VisitAttributeCtor(QilBinary ndAttr)
void NestedVisitEnsureStack(QilNode nd)
void GenerateSimpleIterator(Type itemStorageType, LocalBuilder locIter, MethodInfo methNext, MethodInfo methCurrent)
override QilNode VisitSort(QilLoop ndSort)
override QilNode VisitStrConcat(QilStrConcat ndStrConcat)
void NestedVisit(QilNode nd, Type itemStorageType, bool isCached)
override QilNode VisitLiteralQName(QilName ndQName)
static readonly XmlQueryType NodeSDod
static readonly XmlQueryType Namespace
static readonly XmlQueryType String
static readonly XmlQueryType DecimalX
static readonly XmlQueryType DoubleX
static readonly XmlQueryType Text
static readonly XmlQueryType StringX
static readonly XmlQueryType IntX
static readonly XmlQueryType LongX
static readonly XmlQueryType Attribute
static readonly XmlQueryType Node
static readonly XmlQueryType Element
static readonly XmlQueryType Comment
static readonly XmlQueryType NodeNotRtfS
static readonly XmlQueryType Double
static readonly XmlQueryType PI
static readonly XmlQueryType ItemS
static readonly XmlQueryType BooleanX
static readonly XmlQueryType DateTimeX
static readonly XmlQueryType Document
static readonly XmlQueryType Item
static readonly XmlQueryType NodeNotRtf
static readonly XmlQueryType Boolean
static StorageDescriptor Global(MethodInfo methGlobal, Type itemStorageType, bool isCached)
static StorageDescriptor Parameter(int paramIndex, Type itemStorageType, bool isCached)
static StorageDescriptor Stack(Type itemStorageType, bool isCached)
static StorageDescriptor None()
static StorageDescriptor Current(LocalBuilder locIter, MethodInfo currentMethod, Type itemStorageType)
static StorageDescriptor Local(LocalBuilder loc, Type itemStorageType, bool isCached)