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

◆ VisitXsltGenerateId()

override QilNode System.Xml.Xsl.IlGen.XmlILVisitor.VisitXsltGenerateId ( QilUnary ndGenId)
inlineprotectedvirtual

Reimplemented from System.Xml.Xsl.Qil.QilVisitor.

Definition at line 2158 of file XmlILVisitor.cs.

2159 {
2161 if (ndGenId.Child.XmlType.IsSingleton)
2162 {
2164 _helper.Call(XmlILMethods.GenId);
2165 }
2166 else
2167 {
2170 Visit(ndGenId.Child);
2173 _helper.Call(XmlILMethods.GenId);
2181 }
2182 _iterCurr.Storage = StorageDescriptor.Stack(typeof(string), isCached: false);
2183 return ndGenId;
2184 }
static readonly OpCode Br
Definition OpCodes.cs:115
static readonly OpCode Ldstr
Definition OpCodes.cs:231
static readonly OpCode Pop
Definition OpCodes.cs:79
void EmitUnconditionalBranch(OpCode opcode, Label lblTarget)
void EnsureItemStorageType(XmlQueryType xmlType, Type storageTypeDest)
void Visit(QilExpression qil, GenerateHelper helper, MethodInfo methRoot)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Reflection.Emit.OpCodes.Br, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.GenerateHelper.EmitUnconditionalBranch(), System.Xml.Xsl.IlGen.XmlILVisitor.EndNestedIterator(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureStackNoCache(), System.Xml.Xsl.IlGen.XmlILMethods.GenId, System.Reflection.Emit.OpCodes.Ldstr, System.Xml.Xsl.IlGen.GenerateHelper.LoadQueryRuntime(), System.Xml.Xsl.IlGen.GenerateHelper.MarkLabel(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitEnsureStack(), System.Reflection.Emit.OpCodes.Pop, System.Xml.Xsl.IlGen.StorageDescriptor.Stack(), System.Xml.Xsl.IlGen.XmlILVisitor.StartNestedIterator(), and System.Xml.Xsl.IlGen.XmlILVisitor.Visit().