Esempio n. 1
0
        internal SyntaxListBuilder Allocate()
        {
            SyntaxListBuilder item;

            if (_freeIndex > 0)
            {
                _freeIndex--;
                item = _freeList[_freeIndex].Value;
                _freeList[_freeIndex].Value = null;
            }
            else
            {
                item = new SyntaxListBuilder(10);
            }

#if DEBUG
            Debug.Assert(!_allocated.Contains(item));
            _allocated.Add(item);
#endif
            return(item);
        }
Esempio n. 2
0
        internal PooledResult <TNode> Allocate <TNode>() where TNode : GreenNode
        {
            var builder = new SyntaxListBuilder <TNode>(this.Allocate());

            return(new PooledResult <TNode>(this, builder));
        }