public void Visit(IncrementTag incrementTag) { _result += incrementTag.ToString(); }
/// <summary> /// Post-increment the counter i.e. i++ /// </summary> /// <param name="incrementTag"></param> public void Visit(IncrementTag incrementTag) { int currentIndex; var key = incrementTag.VarName; while (true) { currentIndex = _counters.GetOrAdd(key, 0); var newindex = (currentIndex + 1); if (_counters.TryUpdate(key, newindex, currentIndex)) { break; } } AppendTextToCurrentAccumulator(currentIndex.ToString()); }