1 instantiation of ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (1)
ArrayBuilder.cs (1)
525pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
52 references to ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (52)
ArrayBuilder.cs (46)
16[DebuggerTypeProxy(typeof(ArrayBuilder<>.DebuggerProxy))] 31private readonly ArrayBuilder<T> _builder; 33public DebuggerProxy(ArrayBuilder<T> builder) 58private readonly ObjectPool<ArrayBuilder<T>>? _pool; 69private ArrayBuilder(ObjectPool<ArrayBuilder<T>> pool) 395var tmp = ArrayBuilder<U>.GetInstance(Count); 443public void FreeAll(Func<T, ArrayBuilder<T>?> getNested) 489private static readonly ObjectPool<ArrayBuilder<T>> s_poolInstance = CreatePool(); 490public static ArrayBuilder<T> GetInstance() 492var builder = s_poolInstance.Allocate(); 497public static ArrayBuilder<T> GetInstance(int capacity) 499var builder = GetInstance(); 504public static ArrayBuilder<T> GetInstance(int capacity, T fillWithValue) 506var builder = GetInstance(); 517public static ObjectPool<ArrayBuilder<T>> CreatePool() 522public static ObjectPool<ArrayBuilder<T>> CreatePool(int size) 524ObjectPool<ArrayBuilder<T>>? pool = null; 525pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size); 564var accumulator = new Dictionary<K, ArrayBuilder<T>>(Count, comparer); 569if (!accumulator.TryGetValue(key, out var bucket)) 571bucket = ArrayBuilder<T>.GetInstance(); 589public void AddRange(ArrayBuilder<T> items) 594public void AddRange<U>(ArrayBuilder<U> items, Func<U, T> selector) 602public void AddRange<U>(ArrayBuilder<U> items) where U : T 607public void AddRange<U>(ArrayBuilder<U> items, int start, int length) where U : T 733var result = ArrayBuilder<S>.GetInstance(Count); 823var builder = ArrayBuilder<TResult>.GetInstance(Count); 861var builder = ArrayBuilder<TResult>.GetInstance(Count); 899var builder = ArrayBuilder<TResult>.GetInstance(Count); 939private static readonly ObjectPool<ArrayBuilder<T>> s_keepLargeInstancesPool = CreatePool(); 941public static PooledDisposer<ArrayBuilder<T>> GetInstance(out ArrayBuilder<T> instance) 944public static PooledDisposer<ArrayBuilder<T>> GetInstance(int capacity, out ArrayBuilder<T> instance) 947return new PooledDisposer<ArrayBuilder<T>>(instance); 950public static PooledDisposer<ArrayBuilder<T>> GetInstance(int capacity, T fillWithValue, out ArrayBuilder<T> instance) 953return new PooledDisposer<ArrayBuilder<T>>(instance); 956public static PooledDisposer<ArrayBuilder<T>> GetInstance(bool discardLargeInstances, out ArrayBuilder<T> instance) 961return new PooledDisposer<ArrayBuilder<T>>(instance, discardLargeInstances);
ArrayBuilder.Enumerator.cs (2)
16private readonly ArrayBuilder<T> _builder; 19public Enumerator(ArrayBuilder<T> builder)
ArrayBuilderExtensions.cs (4)
12/// <see cref="ArrayBuilder{T}"/> methods that can't be defined on the type itself. 16public static ImmutableArray<T> ToImmutableOrEmptyAndFree<T>(this ArrayBuilder<T>? builder) 19public static void AddIfNotNull<T>(this ArrayBuilder<T> builder, T? value) 28public static void AddIfNotNull<T>(this ArrayBuilder<T> builder, T? value)