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

◆ EliminateUnusedGlobals()

static void System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.EliminateUnusedGlobals ( IList< QilNode > globals)
inlinestaticprivate

Definition at line 3260 of file XmlILOptimizerVisitor.cs.

3261 {
3262 int num = 0;
3263 for (int i = 0; i < globals.Count; i++)
3264 {
3266 bool flag;
3267 if (qilNode.NodeType == QilNodeType.Function)
3268 {
3269 flag = XmlILConstructInfo.Read(qilNode).CallersInfo.Count != 0;
3270 }
3271 else
3272 {
3273 OptimizerPatterns optimizerPatterns = OptimizerPatterns.Read(qilNode);
3274 flag = optimizerPatterns.MatchesPattern(OptimizerPatternName.IsReferenced) || optimizerPatterns.MatchesPattern(OptimizerPatternName.MaybeSideEffects);
3275 }
3276 if (flag)
3277 {
3278 if (num < i)
3279 {
3280 globals[num] = globals[i];
3281 }
3282 num++;
3283 }
3284 }
3285 for (int num2 = globals.Count - 1; num2 >= num; num2--)
3286 {
3287 globals.RemoveAt(num2);
3288 }
3289 }

References System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Xsl.IlGen.OptimizerPatterns.Read(), and System.Xml.Xsl.IlGen.XmlILConstructInfo.Read().