예제 #1
0
    public void Push()
    {
        CheckDisposed();

        version++;

        scopes.Add(new Scope(GetDict()));
    }
예제 #2
0
    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);
    }