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

◆ CreateAggregator()

QilNode System.Xml.Xsl.IlGen.XmlILVisitor.CreateAggregator ( QilUnary ndAgg,
string aggName,
XmlILStorageMethods methods,
MethodInfo methAgg,
MethodInfo methResult )
inlineprivate

Definition at line 788 of file XmlILVisitor.cs.

789 {
791 Type declaringType = methAgg.DeclaringType;
794 _helper.Call(methods.AggCreate);
797 Visit(ndAgg.Child);
804 if (ndAgg.XmlType.MaybeEmpty)
805 {
806 _helper.Call(methods.AggIsEmpty);
809 }
811 _iterCurr.Storage = StorageDescriptor.Stack(GetItemStorageType(ndAgg), isCached: false);
812 return ndAgg;
813 }
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Brtrue
Definition OpCodes.cs:119
LocalBuilder DeclareLocal(string name, Type type)
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.Brtrue, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.GenerateHelper.DeclareLocal(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.XmlILVisitor.EndNestedIterator(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureStackNoCache(), System.Xml.Xsl.IlGen.XmlILVisitor.GetItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.GetLabelNext(), System.Reflection.Emit.OpCodes.Ldloca, System.Xml.Xsl.IlGen.IteratorDescriptor.LoopToEnd(), System.Xml.Xsl.IlGen.StorageDescriptor.Stack(), System.Xml.Xsl.IlGen.XmlILVisitor.StartNestedIterator(), and System.Xml.Xsl.IlGen.XmlILVisitor.Visit().

Referenced by System.Xml.Xsl.IlGen.XmlILVisitor.VisitAverage(), System.Xml.Xsl.IlGen.XmlILVisitor.VisitMaximum(), System.Xml.Xsl.IlGen.XmlILVisitor.VisitMinimum(), and System.Xml.Xsl.IlGen.XmlILVisitor.VisitSum().