1 instantiation of ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (1)
ArrayBuilder.cs (1)
540
pool = new ObjectPool<ArrayBuilder<T>>(() => new
ArrayBuilder
<T>(pool!), size);
44 references to ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (44)
ArrayBuilder.cs (38)
17
[DebuggerTypeProxy(typeof(
ArrayBuilder
<>.DebuggerProxy))]
32
private readonly
ArrayBuilder
<T> _builder;
34
public DebuggerProxy(
ArrayBuilder
<T> builder)
59
private readonly ObjectPool<
ArrayBuilder
<T>>? _pool;
70
private ArrayBuilder(ObjectPool<
ArrayBuilder
<T>> pool)
458
public void FreeAll(Func<T,
ArrayBuilder
<T>?> getNested)
504
private static readonly ObjectPool<
ArrayBuilder
<T>> s_poolInstance = CreatePool();
505
public static
ArrayBuilder
<T> GetInstance()
507
var
builder = s_poolInstance.Allocate();
512
public static
ArrayBuilder
<T> GetInstance(int capacity)
514
var
builder = GetInstance();
519
public static
ArrayBuilder
<T> GetInstance(int capacity, T fillWithValue)
521
var
builder = GetInstance();
532
public static ObjectPool<
ArrayBuilder
<T>> CreatePool()
537
public static ObjectPool<
ArrayBuilder
<T>> CreatePool(int size)
539
ObjectPool<
ArrayBuilder
<T>>? pool = null;
540
pool = new ObjectPool<
ArrayBuilder
<T>>(() => new ArrayBuilder<T>(pool!), size);
579
var accumulator = new Dictionary<K,
ArrayBuilder
<T>>(Count, comparer);
584
if (!accumulator.TryGetValue(key, out
var
bucket))
586
bucket =
ArrayBuilder
<T>.GetInstance();
604
public void AddRange(
ArrayBuilder
<T> items)
609
public void AddRange<U>(
ArrayBuilder
<U> items, Func<U, T> selector)
617
public void AddRange<U>(
ArrayBuilder
<U> items) where U : T
622
public void AddRange<U>(
ArrayBuilder
<U> items, int start, int length) where U : T
756
var
result =
ArrayBuilder
<S>.GetInstance(Count);
956
private static readonly ObjectPool<
ArrayBuilder
<T>> s_keepLargeInstancesPool = CreatePool();
958
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(out
ArrayBuilder
<T> instance)
961
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, out
ArrayBuilder
<T> instance)
964
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
967
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, T fillWithValue, out
ArrayBuilder
<T> instance)
970
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
973
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(bool discardLargeInstances, out
ArrayBuilder
<T> instance)
978
return new PooledDisposer<
ArrayBuilder
<T>>(instance, discardLargeInstances);
ArrayBuilder.Enumerator.cs (2)
16
private readonly
ArrayBuilder
<T> _builder;
19
public Enumerator(
ArrayBuilder
<T> builder)
ArrayBuilderExtensions.cs (4)
12
/// <see cref="
ArrayBuilder
{T}"/> methods that can't be defined on the type itself.
16
public static ImmutableArray<T> ToImmutableOrEmptyAndFree<T>(this
ArrayBuilder
<T>? builder)
19
public static void AddIfNotNull<T>(this
ArrayBuilder
<T> builder, T? value)
28
public static void AddIfNotNull<T>(this
ArrayBuilder
<T> builder, T? value)