44 references to Variable
System.Private.Xml (44)
System\Xml\Xsl\IlGen\TailCallAnalyzer.cs (2)
53if (ndLoop.Variable.NodeType == QilNodeType.Let || !ndLoop.Variable.Binding!.XmlType!.MaybeMany)
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (13)
1873StartBinding(ndLoop.Variable); 1878EndBinding(ndLoop.Variable); 1894StartBinding(ndFilter.Variable); 1905EndBinding(ndFilter.Variable); 2265Debug.Assert(ndSort.Variable.NodeType == QilNodeType.For); 2285StartBinding(ndSort.Variable); 2290_iterCurr.EnsureItemStorageType(ndSort.Variable.XmlType!, GetItemStorageType(ndSort.Variable)); 2317EndBinding(ndSort.Variable); 2318EndNestedIterator(ndSort.Variable); 4000StartBinding(ndLoop.Variable); 4001EndBinding(ndLoop.Variable); 4002EndNestedIterator(ndLoop.Variable);
System\Xml\Xsl\QIL\QilScopedVisitor.cs (2)
58BeginScope(((QilLoop)node).Variable); 89EndScope(((QilLoop)node).Variable);
System\Xml\Xsl\QIL\QilTypeChecker.cs (10)
596Check(node.Variable.NodeType == QilNodeType.For || node.Variable.NodeType == QilNodeType.Let, node, "Loop variable must be a For or Let iterator"); 599XmlQueryCardinality variableCard = node.Variable.NodeType == QilNodeType.Let ? XmlQueryCardinality.One : node.Variable.Binding!.XmlType!.Cardinality; 608Check(node.Variable.NodeType == QilNodeType.For || node.Variable.NodeType == QilNodeType.Let, node, "Filter variable must be a For or Let iterator"); 612XmlQueryType? filterType = FindFilterType(node.Variable, node.Body); 616return XmlQueryTypeFactory.AtMost(node.Variable.Binding!.XmlType!, node.Variable.Binding.XmlType!.Cardinality); 627XmlQueryType varType = node.Variable.Binding!.XmlType!;
System\Xml\Xsl\Xslt\KeyMatchBuilder.cs (7)
101if (n.Variable.Binding!.NodeType == QilNodeType.Root || n.Variable.Binding.NodeType == QilNodeType.Deref) 106if (n.Variable.Binding.NodeType == QilNodeType.Content) 109QilUnary content = (QilUnary)n.Variable.Binding; 113n.Variable.Binding = f.Loop(it, content); 116n.Variable.Binding = Visit(n.Variable.Binding);
System\Xml\Xsl\Xslt\MatcherBuilder.cs (1)
129_iterator = filter.Variable;
System\Xml\Xsl\Xslt\QilGenerator.cs (1)
1832_refReplacer.Replace(filter.Body, filter.Variable, testNode),
System\Xml\Xsl\Xslt\XPathPatternBuilder.cs (8)
53Debug.Assert(filter.Variable.XmlType!.IsSubtypeOf(T.NodeNotRtf)); 54Debug.Assert(filter.Variable.Binding!.NodeType == QilNodeType.Unknown); // fixupNode 61filter.Variable.Binding = newBinding; 217FixupFilterBinding(parentFilter, ancestor ? _f.Ancestor(lastParent.Variable) : _f.Parent(lastParent.Variable)); 244QilIterator current = nodeFilter.Variable; 265siblingFilter.Variable.Binding = sibling; 377Debug.Assert(context.Variable.NodeType == QilNodeType.For, "It shouldn't be Let, becaus predicates in PatternBuilder don't produce cached tuples.");