FindSymbols\FindReferences\FindReferencesSearchEngine.SymbolSet.cs (8)
150using var _ = ArrayBuilder<ISymbol>.GetInstance(out var workQueue);
170using var _ = ArrayBuilder<ISymbol>.GetInstance(out var workQueue);
185FindReferencesSearchEngine engine, ImmutableArray<ISymbol> symbols, MetadataUnifyingSymbolHashSet seenSymbols, ArrayBuilder<ISymbol> workQueue, CancellationToken cancellationToken)
192FindReferencesSearchEngine engine, ISymbol symbol, MetadataUnifyingSymbolHashSet seenSymbols, ArrayBuilder<ISymbol> workQueue, CancellationToken cancellationToken)
238MetadataUnifyingSymbolHashSet seenSymbols, ArrayBuilder<ISymbol> workQueue,
273ArrayBuilder<ISymbol> workQueue,
LanguageServices\DeclaredSymbolFactoryService\AbstractDeclaredSymbolInfoFactoryService.cs (10)
72SyntaxNode container, TMemberDeclarationSyntax memberDeclaration, StringTable stringTable, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, string containerDisplayName, string fullyQualifiedContainerName);
74TMemberDeclarationSyntax memberDeclaration, StringTable stringTable, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, string containerDisplayName, string fullyQualifiedContainerName, CancellationToken cancellationToken);
76SyntaxNode container, TMemberDeclarationSyntax memberDeclaration, StringTable stringTable, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, string containerDisplayName, string fullyQualifiedContainerName, CancellationToken cancellationToken);
144protected static void Intern(StringTable stringTable, ArrayBuilder<string> builder)
155ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos,
156Dictionary<string, ArrayBuilder<int>> extensionMethodInfo,
179ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos,
181Dictionary<string, ArrayBuilder<int>> extensionMethodInfo,
351if (!extensionMethodInfo.TryGetValue(receiverTypeName, out var arrayBuilder))
353arrayBuilder = ArrayBuilder<int>.GetInstance();
src\Compilers\Core\Portable\Collections\ArrayBuilderExtensions.cs (24)
15public static bool Any<T>(this ArrayBuilder<T> builder, Func<T, bool> predicate)
27public static bool Any<T, A>(this ArrayBuilder<T> builder, Func<T, A, bool> predicate, A arg)
39public static bool All<T>(this ArrayBuilder<T> builder, Func<T, bool> predicate)
51public static bool All<T, A>(this ArrayBuilder<T> builder, Func<T, A, bool> predicate, A arg)
71public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TResult> map)
91var builder = ArrayBuilder<TResult>.GetInstance(items.Count);
111public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TArg, TResult> map, TArg arg)
131var builder = ArrayBuilder<TResult>.GetInstance(items.Count);
151public static ImmutableArray<TResult> SelectAsArrayWithIndex<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, int, TArg, TResult> map, TArg arg)
171var builder = ArrayBuilder<TResult>.GetInstance(items.Count);
181public static void AddOptional<T>(this ArrayBuilder<T> builder, T? item)
193public static void Push<T>(this ArrayBuilder<T> builder, T e)
198public static T Pop<T>(this ArrayBuilder<T> builder)
205public static bool TryPop<T>(this ArrayBuilder<T> builder, [MaybeNullWhen(false)] out T result)
217public static T Peek<T>(this ArrayBuilder<T> builder)
222public static ImmutableArray<T> ToImmutableOrEmptyAndFree<T>(this ArrayBuilder<T>? builder)
227public static void AddIfNotNull<T>(this ArrayBuilder<T> builder, T? value)
236public static void AddIfNotNull<T>(this ArrayBuilder<T> builder, T? value)
245public static void FreeAll<T>(this ArrayBuilder<T> builder, Func<T, ArrayBuilder<T>?> getNested)
275public static void RemoveWhere<TItem, TArg>(this ArrayBuilder<TItem> builder, Func<TItem, int, TArg, bool> filter, TArg arg)
src\Dependencies\PooledObjects\ArrayBuilder.cs (39)
17[DebuggerTypeProxy(typeof(ArrayBuilder<>.DebuggerProxy))]
32private readonly ArrayBuilder<T> _builder;
34public DebuggerProxy(ArrayBuilder<T> builder)
59private readonly ObjectPool<ArrayBuilder<T>>? _pool;
70private ArrayBuilder(ObjectPool<ArrayBuilder<T>> pool)
377var tmp = ArrayBuilder<U>.GetInstance(Count);
462private static readonly ObjectPool<ArrayBuilder<T>> s_poolInstance = CreatePool();
463public static ArrayBuilder<T> GetInstance()
465var builder = s_poolInstance.Allocate();
470public static ArrayBuilder<T> GetInstance(int capacity)
472var builder = GetInstance();
477public static ArrayBuilder<T> GetInstance(int capacity, T fillWithValue)
479var builder = GetInstance();
490public static ObjectPool<ArrayBuilder<T>> CreatePool()
495public static ObjectPool<ArrayBuilder<T>> CreatePool(int size)
497ObjectPool<ArrayBuilder<T>>? pool = null;
498pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
537var accumulator = new Dictionary<K, ArrayBuilder<T>>(Count, comparer);
542if (!accumulator.TryGetValue(key, out var bucket))
544bucket = ArrayBuilder<T>.GetInstance();
562public void AddRange(ArrayBuilder<T> items)
567public void AddRange<U>(ArrayBuilder<U> items, Func<U, T> selector)
575public void AddRange<U>(ArrayBuilder<U> items) where U : T
580public void AddRange<U>(ArrayBuilder<U> items, int start, int length) where U : T
711var result = ArrayBuilder<S>.GetInstance(Count);
729private static readonly ObjectPool<ArrayBuilder<T>> s_keepLargeInstancesPool = CreatePool();
731public static PooledDisposer<ArrayBuilder<T>> GetInstance(out ArrayBuilder<T> instance)
734public static PooledDisposer<ArrayBuilder<T>> GetInstance(int capacity, out ArrayBuilder<T> instance)
737return new PooledDisposer<ArrayBuilder<T>>(instance);
740public static PooledDisposer<ArrayBuilder<T>> GetInstance(int capacity, T fillWithValue, out ArrayBuilder<T> instance)
743return new PooledDisposer<ArrayBuilder<T>>(instance);
746public static PooledDisposer<ArrayBuilder<T>> GetInstance(bool discardLargeInstances, out ArrayBuilder<T> instance)
751return new PooledDisposer<ArrayBuilder<T>>(instance, discardLargeInstances);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (21)
40private delegate LineColumnDelta Formatter<T>(LineColumn lineColumn, SyntaxTrivia trivia, ArrayBuilder<T> changes, CancellationToken cancellationToken);
45private delegate void WhitespaceAppender<T>(LineColumn lineColumn, LineColumnDelta delta, TextSpan span, ArrayBuilder<T> changes);
184protected abstract LineColumnDelta Format(LineColumn lineColumn, SyntaxTrivia trivia, ArrayBuilder<SyntaxTrivia> changes, CancellationToken cancellationToken);
189protected abstract LineColumnDelta Format(LineColumn lineColumn, SyntaxTrivia trivia, ArrayBuilder<TextChange> changes, CancellationToken cancellationToken);
239using var _ = ArrayBuilder<SyntaxTrivia>.GetInstance(out var triviaList);
259private static void AddRange(ArrayBuilder<SyntaxTrivia> result, SyntaxTriviaList triviaList)
267using var _ = ArrayBuilder<TextChange>.GetInstance(out var changes);
283private LineColumn FormatTrivia<T>(Formatter<T> formatter, WhitespaceAppender<T> whitespaceAdder, ArrayBuilder<T> changes, CancellationToken cancellationToken)
377ArrayBuilder<T> changes,
624private void AddExtraLines(int linesBetweenTokens, ArrayBuilder<SyntaxTrivia> changes)
628using var _ = ArrayBuilder<SyntaxTrivia>.GetInstance(out var lineBreaks);
641private int GetInsertionIndex(ArrayBuilder<SyntaxTrivia> changes)
674private void AddExtraLines(int linesBetweenTokens, ArrayBuilder<TextChange> changes)
712private bool TryGetMatchingChangeIndex(ArrayBuilder<TextChange> changes, out int index)
730private TextSpan GetInsertionSpan(ArrayBuilder<TextChange> changes)
757ArrayBuilder<SyntaxTrivia> changes)
766ArrayBuilder<SyntaxTrivia> changes)
825private void AddWhitespaceTextChange(LineColumn lineColumn, LineColumnDelta delta, TextSpan span, ArrayBuilder<TextChange> changes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (6)
76public static void MultiAdd<TKey, TValue>(this IDictionary<TKey, ArrayBuilder<TValue>> dictionary, TKey key, TValue value)
79if (!dictionary.TryGetValue(key, out var builder))
81builder = ArrayBuilder<TValue>.GetInstance();
88public static void MultiAddRange<TKey, TValue>(this IDictionary<TKey, ArrayBuilder<TValue>> dictionary, TKey key, IEnumerable<TValue> values)
91if (!dictionary.TryGetValue(key, out var builder))
93builder = ArrayBuilder<TValue>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\PooledBuilderExtensions.cs (10)
29public static Dictionary<K, ImmutableArray<V>> ToMultiDictionaryAndFree<K, V>(this PooledDictionary<K, ArrayBuilder<V>> builders)
43public static ImmutableDictionary<K, ImmutableArray<V>> ToImmutableMultiDictionaryAndFree<K, V>(this PooledDictionary<K, ArrayBuilder<V>> builders)
57public static void FreeValues<K, V>(this IReadOnlyDictionary<K, ArrayBuilder<V>> builders)
66public static ImmutableArray<T> ToFlattenedImmutableArrayAndFree<T>(this ArrayBuilder<ArrayBuilder<T>> builders)
80var result = ArrayBuilder<T>.GetInstance(builders.Sum(b => b.Count));
82foreach (var builder in builders)
96public static bool HasDuplicates<T>(this ArrayBuilder<T> builder)
99public static bool HasDuplicates<T, U>(this ArrayBuilder<T> builder, Func<T, U> selector)
Workspace\Solution\SolutionCompilationState.cs (28)
320/// <inheritdoc cref="SolutionState.AddProjects(ArrayBuilder{ProjectInfo})"/>
321public SolutionCompilationState AddProjects(ArrayBuilder<ProjectInfo> projectInfos)
360public SolutionCompilationState RemoveProjects(ArrayBuilder<ProjectId> projectIds)
605using var _1 = ArrayBuilder<DocumentInfo>.GetInstance(out var addedDocumentInfos);
606using var _2 = ArrayBuilder<DocumentId>.GetInstance(out var removedDocumentInfos);
620using var _3 = ArrayBuilder<TDocumentState>.GetInstance(out var updatedDocuments);
805using var _1 = ArrayBuilder<(DocumentId, SourceText)>.GetInstance(capacity: texts.Length, out var ordinaryDocuments);
806using var _2 = ArrayBuilder<(SourceGeneratedDocumentIdentity, DateTime, SourceText, SyntaxNode?)>.GetInstance(out var sourceGeneratedDocuments);
846using var _ = ArrayBuilder<TDocumentState>.GetInstance(out var newDocumentStates);
1010using var _1 = ArrayBuilder<(DocumentId, SyntaxNode)>.GetInstance(capacity: syntaxRoots.Length, out var ordinaryDocuments);
1011using var _2 = ArrayBuilder<(SourceGeneratedDocumentIdentity, DateTime, SourceText, SyntaxNode?)>.GetInstance(out var sourceGeneratedDocuments);
1575using var _ = ArrayBuilder<ProjectState>.GetInstance(this.SolutionState.SortedProjectStates.Length, out var newSortedProjectStatesBuilder);
1694using var _ = ArrayBuilder<DocumentState>.GetInstance(allDocumentIds.Length, out var documentStates);
1719ArrayBuilder<DocumentState> documentStates,
1724using var _ = PooledDictionary<ProjectId, ArrayBuilder<DocumentState>>.GetInstance(out var missingDocumentStates);
1806using var _ = ArrayBuilder<T>.GetInstance(out var removedDocumentStates);
1884using var _ = ArrayBuilder<(DocumentId, SourceText)>.GetInstance(out var changedDocuments);