Example #1
0
        internal void Expand(OptimizationContext context)
        {
            if (!Optimized)
            {
                return;
            }

            Starts.ExpandData(context);
            Lengths.ExpandData(context);
            SharedIndices.ExpandData(context);

            if (!StartsExpanded)
            {
                ExpandStarts();
            }

            ExpandLists(context);

            if (FullLength == 0)
            {
                var end = Starts[Starts.Count - 1] + Lengths[Lengths.Count - 1];
                FullLength = end - Starts.MinValue + 1;
            }

            Optimized = false;
        }