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

◆ VisitStrConcat()

override QilNode System.Xml.Xsl.IlGen.XmlILVisitor.VisitStrConcat ( QilStrConcat ndStrConcat)
inlineprotectedvirtual

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

Definition at line 864 of file XmlILVisitor.cs.

865 {
866 QilNode qilNode = ndStrConcat.Delimiter;
867 if (qilNode.NodeType == QilNodeType.LiteralString && ((string)(QilLiteral)qilNode).Length == 0)
868 {
869 qilNode = null;
870 }
872 bool flag;
873 if (values.NodeType == QilNodeType.Sequence && values.Count < 5)
874 {
875 flag = true;
876 foreach (QilNode item in values)
877 {
878 if (!item.XmlType.IsSingleton)
879 {
880 flag = false;
881 }
882 }
883 }
884 else
885 {
886 flag = false;
887 }
888 if (flag)
889 {
890 foreach (QilNode item2 in values)
891 {
893 }
895 }
896 else
897 {
900 _helper.Call(XmlILMethods.StrCatClear);
901 if (qilNode != null)
902 {
905 _helper.Call(XmlILMethods.StrCatDelim);
906 }
908 if (values.NodeType == QilNodeType.Sequence)
909 {
910 foreach (QilNode item3 in values)
911 {
913 }
914 }
915 else
916 {
918 }
919 _helper.Call(XmlILMethods.StrCatResult);
920 }
921 _iterCurr.Storage = StorageDescriptor.Stack(typeof(string), isCached: false);
922 return ndStrConcat;
923 }
static readonly OpCode Ldloca
Definition OpCodes.cs:427
LocalBuilder DeclareLocal(string name, Type type)
void GenerateConcat(QilNode ndStr, LocalBuilder locStringConcat)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.GenerateHelper.CallConcatStrings(), System.Xml.Xsl.IlGen.GenerateHelper.DeclareLocal(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.XmlILVisitor.GenerateConcat(), System.item, System.Reflection.Emit.OpCodes.Ldloca, System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitEnsureStack(), System.Xml.Xsl.IlGen.StorageDescriptor.Stack(), System.Xml.Xsl.IlGen.XmlILMethods.StrCatClear, System.Xml.Xsl.IlGen.XmlILMethods.StrCatDelim, System.Xml.Xsl.IlGen.XmlILMethods.StrCatResult, System.Collections.Generic.Dictionary< TKey, TValue >.Values, and System.values.