Exemplo n.º 1
0
 public void Visit(StreamEndDecorator decorator, byte data)
 {
     if (CurrentText == "[]")
     {
         var run = (TableStreamRun)Model.GetNextRun(memoryLocation);
         var newDesiredElementCount = (memoryLocation - run.Start) / run.ElementLength;
         var newRun = run.Append(CurrentChange, newDesiredElementCount - run.ElementCount);
         Model.ObserveRunWritten(CurrentChange, newRun);
         for (int i = newRun.Length; i < run.Length; i++)
         {
             CurrentChange.ChangeData(Model, newRun.Start + i, 0xFF);
         }
         var endTokenLength = run.Length - run.ElementLength * run.ElementCount;
         NewDataIndex = memoryLocation + endTokenLength;
         Result       = true;
     }
     else
     {
         decorator.OriginalFormat.Visit(this, data);
     }
 }
 public void Visit(StreamEndDecorator decorator, byte data) => decorator.OriginalFormat.Visit(this, data);