1 instantiation of ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (1)
ArrayBuilder.cs (1)
525
pool = 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))]
31
private readonly
ArrayBuilder
<T> _builder;
33
public DebuggerProxy(
ArrayBuilder
<T> builder)
58
private readonly ObjectPool<
ArrayBuilder
<T>>? _pool;
69
private ArrayBuilder(ObjectPool<
ArrayBuilder
<T>> pool)
395
var
tmp =
ArrayBuilder
<U>.GetInstance(Count);
443
public void FreeAll(Func<T,
ArrayBuilder
<T>?> getNested)
489
private static readonly ObjectPool<
ArrayBuilder
<T>> s_poolInstance = CreatePool();
490
public static
ArrayBuilder
<T> GetInstance()
492
var
builder = s_poolInstance.Allocate();
497
public static
ArrayBuilder
<T> GetInstance(int capacity)
499
var
builder = GetInstance();
504
public static
ArrayBuilder
<T> GetInstance(int capacity, T fillWithValue)
506
var
builder = GetInstance();
517
public static ObjectPool<
ArrayBuilder
<T>> CreatePool()
522
public static ObjectPool<
ArrayBuilder
<T>> CreatePool(int size)
524
ObjectPool<
ArrayBuilder
<T>>? pool = null;
525
pool = new ObjectPool<
ArrayBuilder
<T>>(() => new ArrayBuilder<T>(pool!), size);
564
var accumulator = new Dictionary<K,
ArrayBuilder
<T>>(Count, comparer);
569
if (!accumulator.TryGetValue(key, out
var
bucket))
571
bucket =
ArrayBuilder
<T>.GetInstance();
589
public void AddRange(
ArrayBuilder
<T> items)
594
public void AddRange<U>(
ArrayBuilder
<U> items, Func<U, T> selector)
602
public void AddRange<U>(
ArrayBuilder
<U> items) where U : T
607
public void AddRange<U>(
ArrayBuilder
<U> items, int start, int length) where U : T
733
var
result =
ArrayBuilder
<S>.GetInstance(Count);
823
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
861
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
899
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
939
private static readonly ObjectPool<
ArrayBuilder
<T>> s_keepLargeInstancesPool = CreatePool();
941
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(out
ArrayBuilder
<T> instance)
944
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, out
ArrayBuilder
<T> instance)
947
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
950
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, T fillWithValue, out
ArrayBuilder
<T> instance)
953
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
956
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(bool discardLargeInstances, out
ArrayBuilder
<T> instance)
961
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)