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

◆ CompileInstructions() [3/4]

QilNode System.Xml.Xsl.Xslt.QilGenerator.CompileInstructions ( IList< XslNode > instructions,
int from,
QilList content )
inlineprivate

Definition at line 628 of file QilGenerator.cs.

629 {
630 for (int i = from; i < instructions.Count; i++)
631 {
632 XslNode xslNode = instructions[i];
633 XslNodeType nodeType = xslNode.NodeType;
634 if (nodeType == XslNodeType.Param)
635 {
636 continue;
637 }
638 QilList nsList = EnterScope(xslNode);
639 QilNode qilNode = nodeType switch
640 {
665 _ => null,
666 };
667 ExitScope();
668 if (qilNode.NodeType != QilNodeType.Sequence || qilNode.Count != 0)
669 {
670 if (nodeType != XslNodeType.LiteralAttribute && nodeType != XslNodeType.UseAttributeSet)
671 {
672 SetLineInfoCheck(qilNode, xslNode.SourceLine);
673 }
674 qilNode = SetDebugNs(qilNode, nsList);
675 if (nodeType == XslNodeType.Variable)
676 {
678 qilIterator.DebugName = xslNode.Name.ToString();
682 }
683 content.Add(qilNode);
684 }
685 }
686 if (!IsDebug && content.Count == 1)
687 {
688 return content[0];
689 }
690 return content;
691 }
virtual void Add(QilNode node)
Definition QilNode.cs:121
QilNode Loop(QilIterator variable, QilNode body)
QilIterator Let(QilNode binding)
void AddVariable(QilName varName, V value)
QilNode CompileVariable(XslNode node)
QilNode CompileCallTemplate(XslNodeEx node)
QilNode CompileElement(NodeCtor node)
readonly CompilerScopeManager< QilIterator > _scope
QilNode CompilePI(XslNode node)
QilNode CompileComment(XslNode node)
readonly XsltQilFactory _f
QilNode CompileNop(XslNode node)
QilNode CompileCopyOf(XslNode node)
QilNode CompileCopy(XslNode copy)
QilNode CompileForEach(XslNodeEx node)
QilNode CompileApplyImports(XslNode node)
QilNode CompileChoose(XslNode node)
QilNode CompileNumber(Number num)
QilNode CompileUseAttributeSet(XslNode node)
QilNode CompileInstructions(IList< XslNode > instructions)
QilNode CompileError(XslNode node)
QilNode CompileList(XslNode node)
QilNode CompileValueOf(XslNode valueOf)
QilNode CompileValueOfDoe(XslNode valueOf)
QilNode CompileLiteralAttribute(XslNode node)
QilNode CompileAttribute(NodeCtor node)
QilNode CompileIf(XslNode ifNode)
QilList EnterScope(XslNode node)
QilNode CompileLiteralElement(XslNode node)
QilNode CompileMessage(XslNode node)
QilNode CompileApplyTemplates(XslNodeEx node)
void SetLineInfoCheck(QilNode n, ISourceLineInfo lineInfo)
QilNode SetDebugNs(QilNode n, QilList nsList)

References System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._scope, System.Xml.Xsl.Qil.QilNode.Add(), System.Xml.Xsl.Xslt.CompilerScopeManager< V >.AddVariable(), System.Xml.Xsl.Xslt.QilGenerator.CompileApplyImports(), System.Xml.Xsl.Xslt.QilGenerator.CompileApplyTemplates(), System.Xml.Xsl.Xslt.QilGenerator.CompileAttribute(), System.Xml.Xsl.Xslt.QilGenerator.CompileCallTemplate(), System.Xml.Xsl.Xslt.QilGenerator.CompileChoose(), System.Xml.Xsl.Xslt.QilGenerator.CompileComment(), System.Xml.Xsl.Xslt.QilGenerator.CompileCopy(), System.Xml.Xsl.Xslt.QilGenerator.CompileCopyOf(), System.Xml.Xsl.Xslt.QilGenerator.CompileElement(), System.Xml.Xsl.Xslt.QilGenerator.CompileError(), System.Xml.Xsl.Xslt.QilGenerator.CompileForEach(), System.Xml.Xsl.Xslt.QilGenerator.CompileIf(), System.Xml.Xsl.Xslt.QilGenerator.CompileInstructions(), System.Xml.Xsl.Xslt.QilGenerator.CompileList(), System.Xml.Xsl.Xslt.QilGenerator.CompileLiteralAttribute(), System.Xml.Xsl.Xslt.QilGenerator.CompileLiteralElement(), System.Xml.Xsl.Xslt.QilGenerator.CompileMessage(), System.Xml.Xsl.Xslt.QilGenerator.CompileNop(), System.Xml.Xsl.Xslt.QilGenerator.CompileNumber(), System.Xml.Xsl.Xslt.QilGenerator.CompilePI(), System.Xml.Xsl.Xslt.QilGenerator.CompileText(), System.Xml.Xsl.Xslt.QilGenerator.CompileUseAttributeSet(), System.Xml.Xsl.Xslt.QilGenerator.CompileValueOf(), System.Xml.Xsl.Xslt.QilGenerator.CompileValueOfDoe(), System.Xml.Xsl.Xslt.QilGenerator.CompileVariable(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Xsl.Qil.QilList.Count, System.Xml.Dictionary, System.Xml.Xsl.Xslt.QilGenerator.EnterScope(), System.Xml.Xsl.Xslt.QilGenerator.ExitScope(), System.Xml.Xsl.Xslt.QilGenerator.IsDebug, System.Xml.Xsl.Qil.QilPatternFactory.Let(), System.Xml.Xsl.Qil.QilPatternFactory.Loop(), System.Xml.Xsl.Xslt.QilGenerator.SetDebugNs(), and System.Xml.Xsl.Xslt.QilGenerator.SetLineInfoCheck().