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

◆ CalculateTotalFollowposForRangeNodes()

BitSet[] System.Xml.Schema.ParticleContentValidator.CalculateTotalFollowposForRangeNodes ( BitSet firstpos,
BitSet[] followpos,
out BitSet posWithRangeTerminals )
inlineprivate

Definition at line 249 of file ParticleContentValidator.cs.

250 {
251 int count = _positions.Count;
252 posWithRangeTerminals = new BitSet(count);
253 BitSet[] array = new BitSet[_minMaxNodesCount];
254 int num = 0;
255 for (int num2 = count - 1; num2 >= 0; num2--)
256 {
257 Position position = _positions[num2];
258 if (position.symbol == -2)
259 {
260 LeafRangeNode leafRangeNode = position.particle as LeafRangeNode;
261 BitSet bitSet = new BitSet(count);
262 bitSet.Clear();
263 bitSet.Or(followpos[num2]);
264 if (leafRangeNode.Min != leafRangeNode.Max)
265 {
266 bitSet.Or(leafRangeNode.NextIteration);
267 }
268 for (int num3 = bitSet.NextSet(-1); num3 != -1; num3 = bitSet.NextSet(num3))
269 {
270 if (num3 > num2)
271 {
273 if (position2.symbol == -2)
274 {
275 LeafRangeNode leafRangeNode2 = position2.particle as LeafRangeNode;
276 bitSet.Or(array[leafRangeNode2.Pos]);
277 }
278 }
279 }
280 array[num] = bitSet;
281 leafRangeNode.Pos = num++;
283 }
284 }
285 return array;
286 }

References System.Xml.Schema.ParticleContentValidator._minMaxNodesCount, System.Xml.Schema.ParticleContentValidator._positions, System.array, System.Collections.Generic.Dictionary< TKey, TValue >.Clear(), System.count, System.Xml.Schema.Positions.Count, System.Xml.Dictionary, and System.Xml.Schema.Position.symbol.

Referenced by System.Xml.Schema.ParticleContentValidator.Finish().