1 instantiation of ArrayBuilder
Microsoft.CodeAnalysis.PooledObjects.Package (1)
ArrayBuilder.cs (1)
539
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)
409
var
tmp =
ArrayBuilder
<U>.GetInstance(Count);
457
public void FreeAll(Func<T,
ArrayBuilder
<T>?> getNested)
503
private static readonly ObjectPool<
ArrayBuilder
<T>> s_poolInstance = CreatePool();
504
public static
ArrayBuilder
<T> GetInstance()
506
var
builder = s_poolInstance.Allocate();
511
public static
ArrayBuilder
<T> GetInstance(int capacity)
513
var
builder = GetInstance();
518
public static
ArrayBuilder
<T> GetInstance(int capacity, T fillWithValue)
520
var
builder = GetInstance();
531
public static ObjectPool<
ArrayBuilder
<T>> CreatePool()
536
public static ObjectPool<
ArrayBuilder
<T>> CreatePool(int size)
538
ObjectPool<
ArrayBuilder
<T>>? pool = null;
539
pool = new ObjectPool<
ArrayBuilder
<T>>(() => new ArrayBuilder<T>(pool!), size);
578
var accumulator = new Dictionary<K,
ArrayBuilder
<T>>(Count, comparer);
583
if (!accumulator.TryGetValue(key, out
var
bucket))
585
bucket =
ArrayBuilder
<T>.GetInstance();
603
public void AddRange(
ArrayBuilder
<T> items)
608
public void AddRange<U>(
ArrayBuilder
<U> items, Func<U, T> selector)
616
public void AddRange<U>(
ArrayBuilder
<U> items) where U : T
621
public void AddRange<U>(
ArrayBuilder
<U> items, int start, int length) where U : T
747
var
result =
ArrayBuilder
<S>.GetInstance(Count);
837
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
875
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
913
var
builder =
ArrayBuilder
<TResult>.GetInstance(Count);
953
private static readonly ObjectPool<
ArrayBuilder
<T>> s_keepLargeInstancesPool = CreatePool();
955
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(out
ArrayBuilder
<T> instance)
958
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, out
ArrayBuilder
<T> instance)
961
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
964
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(int capacity, T fillWithValue, out
ArrayBuilder
<T> instance)
967
return new PooledDisposer<
ArrayBuilder
<T>>(instance);
970
public static PooledDisposer<
ArrayBuilder
<T>> GetInstance(bool discardLargeInstances, out
ArrayBuilder
<T> instance)
975
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)