本文整理汇总了C#中System.Xml.Xsl.Qil.QilList类的典型用法代码示例。如果您正苦于以下问题:C# QilList类的具体用法?C# QilList怎么用?C# QilList使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
QilList类属于System.Xml.Xsl.Qil命名空间,在下文中一共展示了QilList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrepareGlobalValues
/// <summary>
/// Create IteratorDescriptor for each global value. This pre-visit is necessary because a global early
/// in the list may reference a global later in the list and therefore expect its IteratorDescriptor to already
/// be initialized.
/// </summary>
private void PrepareGlobalValues(QilList globalIterators) {
MethodInfo methGlobal;
IteratorDescriptor iterInfo;
foreach (QilIterator iter in globalIterators) {
Debug.Assert(iter.NodeType == QilNodeType.Let || iter.NodeType == QilNodeType.Parameter);
// Get metadata for method which computes this global's value
methGlobal = XmlILAnnotation.Write(iter).FunctionBinding;
Debug.Assert(methGlobal != null, "Metadata for global value should have already been computed");
// Create an IteratorDescriptor for this global value
iterInfo = new IteratorDescriptor(this.helper);
// Iterator items will be stored in a global location
iterInfo.Storage = StorageDescriptor.Global(methGlobal, GetItemStorageType(iter), !iter.XmlType.IsSingleton);
// Associate IteratorDescriptor with parameter
XmlILAnnotation.Write(iter).CachedIteratorDescriptor = iterInfo;
}
}
示例2: VisitSequence
protected override QilNode VisitSequence(QilList n) { return NoReplace(n); }
示例3: Function
public QilFunction Function(QilList args, QilNode defn, QilNode sideEffects) {
Debug.Assert(args.NodeType == QilNodeType.FormalParameterList);
return f.Function(args, defn, sideEffects, defn.XmlType);
}
示例4: Choice
public QilNode Choice(QilNode expr, QilList branches) {
if (! debug) {
switch (branches.Count) {
case 1:
// If expr has no side effects, it will be eliminated by optimizer
return f.Loop(f.Let(expr), branches[0]);
case 2:
return f.Conditional(f.Eq(expr, f.LiteralInt32(0)), branches[0], branches[1]);
}
}
return f.Choice(expr, branches);
}
示例5: CheckBranchList
public XmlQueryType CheckBranchList(QilList node) {
return node.XmlType;
}
示例6: CheckFormalParameterList
public XmlQueryType CheckFormalParameterList(QilList node) {
foreach (QilNode child in node)
CheckClassAndNodeType(child, typeof(QilParameter), QilNodeType.Parameter);
return node.XmlType;
}
示例7: CheckGlobalParameterList
public XmlQueryType CheckGlobalParameterList(QilList node) {
foreach (QilNode child in node) {
CheckClassAndNodeType(child, typeof(QilParameter), QilNodeType.Parameter);
Check(((QilParameter)child).Name != null, child, "Global parameter's name is null");
}
return node.XmlType;
}
示例8: CheckFunctionList
public XmlQueryType CheckFunctionList(QilList node) {
foreach (QilNode child in node)
CheckClassAndNodeType(child, typeof(QilFunction), QilNodeType.Function);
return node.XmlType;
}
示例9: VisitBranchList
protected override QilNode VisitBranchList(QilList n) { return NoReplace(n); }
示例10: VisitSortKeyList
protected override QilNode VisitSortKeyList(QilList n) { return NoReplace(n); }
示例11: VisitFormalParameterList
protected override QilNode VisitFormalParameterList(QilList n) { return NoReplace(n); }
示例12: VisitGlobalVariableList
protected override QilNode VisitGlobalVariableList(QilList n) { return NoReplace(n); }
示例13: VisitFunctionList
protected override QilNode VisitFunctionList(QilList n) { return NoReplace(n); }
示例14: CheckGlobalVariableList
public XmlQueryType CheckGlobalVariableList(QilList node) {
foreach (QilNode child in node)
CheckClassAndNodeType(child, typeof(QilIterator), QilNodeType.Let);
return node.XmlType;
}
示例15: VisitFunctionList
protected virtual QilNode VisitFunctionList(QilList n) { return VisitChildren(n); }