public void Push() { CheckDisposed(); version++; scopes.Add(new Scope(GetDict())); }
public void Pop() { CheckDisposed(); version++; Debug.Assert(scopes.Count > 0); var idx = scopes.Count - 1; var dict = scopes [idx].Symbols; scopes.RemoveAt(idx); dict.Clear(); pooledDicts.Add(dict); }