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

◆ CompileCallTemplate()

QilNode System.Xml.Xsl.Xslt.QilGenerator.CompileCallTemplate ( XslNodeEx node)
inlineprivate

Definition at line 1053 of file QilGenerator.cs.

1054 {
1056 IList<XslNode> content = node.Content;
1057 foreach (VarPar item in content)
1058 {
1060 if (IsDebug)
1061 {
1062 QilNode value = item.Value;
1064 qilIterator.DebugName = _f.QName("with-param " + item.Name.QualifiedName, "urn:schemas-microsoft-com:xslt-debug").ToString();
1067 }
1068 }
1071 {
1073 }
1074 else
1075 {
1076 if (!_compiler.IsPhantomName(node.Name))
1077 {
1078 _compiler.ReportError(node.SourceLine, System.SR.Xslt_InvalidCallTemplate, node.Name.QualifiedName);
1079 }
1080 qilNode = _f.Sequence();
1081 }
1082 if (content.Count > 0)
1083 {
1084 qilNode = SetLineInfo(qilNode, node.ElemNameLi);
1085 }
1087 if (IsDebug)
1088 {
1089 return _f.Nop(qilNode);
1090 }
1091 return qilNode;
1092 }
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
static string Xslt_InvalidCallTemplate
Definition SR.cs:1924
Definition SR.cs:7
override string ToString()
Definition QilName.cs:114
QilIterator Let(QilNode binding)
QilName QName(string local, string uri, string prefix)
Dictionary< QilName, Template > NamedTemplates
Definition Compiler.cs:97
bool IsPhantomName(QilName qname)
Definition Compiler.cs:300
void ReportError(ISourceLineInfo lineInfo, string res, params string[] args)
Definition Compiler.cs:331
QilNode GenerateInvoke(QilFunction func, IList< XslNode > actualArgs)
QilNode FinishVariables(QilNode node, int varScope)
void CompileWithParam(VarPar withParam)
readonly XsltQilFactory _f
readonly VariableHelper _varHelper
readonly InvokeGenerator _invkGen
static QilNode SetLineInfo(QilNode n, ISourceLineInfo lineInfo)
IList< XslNode > AddRemoveImplicitArgs(IList< XslNode > args, XslFlags flags)

References System.Xml.Xsl.Xslt.QilGenerator._compiler, System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._invkGen, System.Xml.Xsl.Xslt.QilGenerator._varHelper, System.Xml.Xsl.Xslt.QilGenerator.AddRemoveImplicitArgs(), System.Xml.Xsl.Xslt.QilGenerator.VariableHelper.AddVariable(), System.Xml.Xsl.Xslt.QilGenerator.CompileWithParam(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Dictionary, System.Xml.Xsl.Xslt.QilGenerator.VariableHelper.FinishVariables(), System.Xml.Xsl.Xslt.InvokeGenerator.GenerateInvoke(), System.Xml.Xsl.Xslt.QilGenerator.IsDebug, System.Xml.Xsl.Xslt.Compiler.IsPhantomName(), System.item, System.Xml.Xsl.Qil.QilPatternFactory.Let(), System.Xml.Xsl.Xslt.Compiler.NamedTemplates, System.Xml.Xsl.Qil.QilPatternFactory.Nop(), System.Xml.Xsl.Qil.QilPatternFactory.QName(), System.Xml.Xsl.Xslt.Compiler.ReportError(), System.Xml.Xsl.Qil.QilPatternFactory.Sequence(), System.Xml.Xsl.Xslt.QilGenerator.SetLineInfo(), System.Xml.Xsl.Xslt.QilGenerator.VariableHelper.StartVariables(), System.Xml.Xsl.Qil.QilName.ToString(), System.Collections.Generic.Dictionary< TKey, TValue >.TryGetValue(), System.value, and System.SR.Xslt_InvalidCallTemplate.

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