Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ BuildMatcher()

QilNode System.Xml.Xsl.Xslt.MatcherBuilder.BuildMatcher ( QilIterator it,
IList< XslNode > actualArgs,
QilNode otherwise )
inline

Definition at line 192 of file MatcherBuilder.cs.

193 {
195 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.PI, _piPatterns, otherwise2);
196 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.Comment, _commentPatterns, otherwise2);
197 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.Document, _documentPatterns, otherwise2);
198 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.Text, _textPatterns, otherwise2);
199 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.Attribute, _attributePatterns, otherwise2);
200 otherwise2 = MatchPatterns(it, XmlQueryTypeFactory.Element, _elementPatterns, otherwise2);
203 {
204 return otherwise;
205 }
206 QilNode[] array = new QilNode[_priority + 2];
207 int num = -1;
209 {
210 foreach (TemplateMatch item in allMatch)
211 {
212 array[++num] = _invkGen.GenerateInvoke(item.TemplateFunction, actualArgs);
213 }
214 }
215 array[++num] = otherwise;
217 }
QilList BranchList(params QilNode[] args)
QilNode Choice(QilNode expr, QilList branches)
QilNode GenerateInvoke(QilFunction func, IList< XslNode > actualArgs)
readonly List< Pattern > _documentPatterns
readonly PatternBag _attributePatterns
readonly List< List< TemplateMatch > > _allMatches
readonly XPathQilFactory _f
readonly List< Pattern > _heterogenousPatterns
readonly List< Pattern > _textPatterns
QilNode MatchPatterns(QilIterator it, List< Pattern > patternList)
readonly List< Pattern > _commentPatterns
readonly InvokeGenerator _invkGen
QilNode MatchPatternsWhosePriorityGreater(QilIterator it, List< Pattern > patternList, QilNode matcher)

References System.Xml.Xsl.Xslt.MatcherBuilder._allMatches, System.Xml.Xsl.Xslt.MatcherBuilder._attributePatterns, System.Xml.Xsl.Xslt.MatcherBuilder._commentPatterns, System.Xml.Xsl.Xslt.MatcherBuilder._documentPatterns, System.Xml.Xsl.Xslt.MatcherBuilder._elementPatterns, System.Xml.Xsl.Xslt.MatcherBuilder._f, System.Xml.Xsl.Xslt.MatcherBuilder._heterogenousPatterns, System.Xml.Xsl.Xslt.MatcherBuilder._invkGen, System.Xml.Xsl.Xslt.MatcherBuilder._piPatterns, System.Xml.Xsl.Xslt.MatcherBuilder._priority, System.Xml.Xsl.Xslt.MatcherBuilder._textPatterns, System.array, System.Xml.Xsl.XmlQueryTypeFactory.Attribute, System.Xml.Xsl.Qil.QilPatternFactory.BranchList(), System.Xml.Xsl.Qil.QilPatternFactory.Choice(), System.Xml.Xsl.XmlQueryTypeFactory.Comment, System.Xml.Dictionary, System.Xml.Xsl.XmlQueryTypeFactory.Document, System.Xml.Xsl.XmlQueryTypeFactory.Element, System.Xml.Xsl.Xslt.InvokeGenerator.GenerateInvoke(), System.Xml.Xsl.Qil.QilPatternFactory.Int32(), System.Xml.Xsl.Xslt.MatcherBuilder.IsNoMatch(), System.item, System.Xml.Xsl.Xslt.MatcherBuilder.MatchPatterns(), System.Xml.Xsl.Xslt.MatcherBuilder.MatchPatternsWhosePriorityGreater(), System.Xml.Xsl.XmlQueryTypeFactory.PI, and System.Xml.Xsl.XmlQueryTypeFactory.Text.

Referenced by System.Xml.Xsl.Xslt.QilGenerator.InvokeApplyFunction().