CommandLine\AnalyzerConfigSet.cs (21)
128var sortedAnalyzerConfigs = ArrayBuilder<AnalyzerConfig>.GetInstance(analyzerConfigs.Count);
141var allMatchers = ArrayBuilder<ImmutableArray<SectionNameMatcher?>>.GetInstance(_analyzerConfigs.Length);
147var builder = ArrayBuilder<SectionNameMatcher?>.GetInstance(config.NamedSections.Length);
245var diagnosticBuilder = ArrayBuilder<Diagnostic>.GetInstance();
373var diagnosticBuilder = ArrayBuilder<Diagnostic>.GetInstance();
395private static void ParseSectionOptions(Section section, TreeOptions.Builder treeBuilder, AnalyzerOptions.Builder analyzerBuilder, ArrayBuilder<Diagnostic> diagnosticBuilder, string analyzerConfigPath, ConcurrentDictionary<ReadOnlyMemory<char>, string> diagIdCache)
450/// <param name="analyzerConfigs">An <see cref="ArrayBuilder{T}"/> of <see cref="AnalyzerConfig"/> containing a mix of regular and unmerged partial global configs</param>
453internal static GlobalAnalyzerConfig MergeGlobalConfigs(ArrayBuilder<AnalyzerConfig> analyzerConfigs, out ImmutableArray<Diagnostic> diagnostics)
478private ImmutableDictionary<string, ImmutableDictionary<string, (int globalLevel, ArrayBuilder<string> configPaths)>.Builder>.Builder? _duplicates;
488_duplicates = ImmutableDictionary.CreateBuilder<string, ImmutableDictionary<string, (int, ArrayBuilder<string>)>.Builder>(Section.NameEqualityComparer);
524foreach ((var keyName, (_, var configPaths)) in keys)
540ArrayBuilder<Section> namedSectionBuilder = new ArrayBuilder<Section>(_values.Count);
582(int globalLevel, ArrayBuilder<string> configPaths) duplicateValue = default;
608duplicateDict = ImmutableDictionary.CreateBuilder<string, (int, ArrayBuilder<string>)>(Section.PropertiesKeyComparer);
613ArrayBuilder<string> configList = duplicateValue.configPaths ?? ArrayBuilder<string>.GetInstance();
CommandLine\CommandLineParser.cs (19)
223var parts = ArrayBuilder<ReadOnlyMemory<char>>.GetInstance();
356var pathMapBuilder = ArrayBuilder<KeyValuePair<string, string>>.GetInstance();
402var result = ArrayBuilder<string>.GetInstance();
503ArrayBuilder<string> processedArgs,
835var parts = ArrayBuilder<ReadOnlyMemory<char>>.GetInstance();
1062var builder = ArrayBuilder<ReadOnlyMemory<char>>.GetInstance();
1067internal static void ParseSeparatedPathsEx(ReadOnlyMemory<char>? str, ArrayBuilder<ReadOnlyMemory<char>> builder)
1079internal static void ParseSeparatedStrings(ReadOnlyMemory<char>? strMemory, char[] separators, bool removeEmptyEntries, ArrayBuilder<ReadOnlyMemory<char>> builder)
1150internal void ParseFileArgument(ReadOnlyMemory<char> arg, string? baseDirectory, ArrayBuilder<string> filePathBuilder, IList<Diagnostic> errors)
1182private protected void ParseSeparatedFileArgument(ReadOnlyMemory<char> value, string? baseDirectory, ArrayBuilder<string> filePathBuilder, IList<Diagnostic> errors)
1184var pathBuilder = ArrayBuilder<ReadOnlyMemory<char>>.GetInstance();
1200var builder = ArrayBuilder<string>.GetInstance();
DiagnosticAnalyzer\AnalyzerDriver.cs (40)
41private static readonly ObjectPool<ArrayBuilder<DiagnosticAnalyzer>> s_diagnosticAnalyzerPool = new ObjectPool<ArrayBuilder<DiagnosticAnalyzer>>(() => new ArrayBuilder<DiagnosticAnalyzer>());
911var builder = ArrayBuilder<(DiagnosticDescriptor Descriptor, DiagnosticDescriptorErrorLoggerInfo Info)>.GetInstance();
1075var builder = ArrayBuilder<Diagnostic>.GetInstance(reportedDiagnostics.Length);
1109var tasks = ArrayBuilder<Task>.GetInstance();
1164var programmaticSuppressionsBuilder = PooledDictionary<Diagnostic, ArrayBuilder<Suppression>>.GetInstance();
1168if (!programmaticSuppressionsBuilder.TryGetValue(programmaticSuppression.SuppressedDiagnostic, out var array))
1170array = ArrayBuilder<Suppression>.GetInstance();
1338var declarationInfoBuilder = ArrayBuilder<DeclarationInfo>.GetInstance();
1470var builder = ArrayBuilder<(DiagnosticAnalyzer, ImmutableArray<ImmutableArray<SymbolAnalyzerAction>>)>.GetInstance();
1472var actionsByKindBuilder = ArrayBuilder<ArrayBuilder<SymbolAnalyzerAction>>.GetInstance();
1484actionsByKindBuilder.Add(ArrayBuilder<SymbolAnalyzerAction>.GetInstance());
1502var builder = ArrayBuilder<(DiagnosticAnalyzer, ImmutableArray<TAnalyzerAction>)>.GetInstance();
1843ArrayBuilder<DiagnosticAnalyzer> completedAnalyzers = s_diagnosticAnalyzerPool.Allocate();
2564var builder = ArrayBuilder<DeclarationInfo>.GetInstance();
2576private static void ComputeDeclarationsInNode(SemanticModel semanticModel, ISymbol declaredSymbol, SyntaxNode declaringReferenceSyntax, SyntaxNode topmostNodeForAnalysis, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken)
2626var nodesToAnalyze = declarationAnalysisData.DescendantNodesToAnalyze;
2632void executeNodeActionsByKind(ArrayBuilder<SyntaxNode> nodesToAnalyze, GroupedAnalyzerActions groupedActions, bool arePerSymbolActions)
2665var filteredNodesToAnalyze = ArrayBuilder<SyntaxNode>.GetInstance(nodesToAnalyze.Count);
2686ArrayBuilder<SyntaxNode> filteredNodesToAnalyze)
2705var executableCodeBlockActionsBuilder = ArrayBuilder<ExecutableCodeBlockAnalyzerActions>.GetInstance();
2805void executeOperationsBlockActions(ImmutableArray<IOperation> operationBlocksToAnalyze, ImmutableArray<IOperation> operationsToAnalyze, ArrayBuilder<ExecutableCodeBlockAnalyzerActions> codeBlockActions)
2833void executeCodeBlockActions(ImmutableArray<SyntaxNode> executableCodeBlocks, ArrayBuilder<ExecutableCodeBlockAnalyzerActions> codeBlockActions)
2864ArrayBuilder<ExecutableCodeBlockAnalyzerActions> builder)
2882ArrayBuilder<SyntaxNode> nodesToAnalyze,
2958ArrayBuilder<IOperation> operationBlocksToAnalyze = ArrayBuilder<IOperation>.GetInstance();
2974ArrayBuilder<IOperation> operationsToAnalyze = ArrayBuilder<IOperation>.GetInstance();
Emit\EditAndContinue\DeltaMetadataWriter.cs (30)
36private readonly IReadOnlyDictionary<ITypeDefinition, ArrayBuilder<ITypeDefinitionMember>> _deletedMemberDefs;
54private readonly ArrayBuilder<int> _customAttributeRowIds;
114_customAttributeRowIds = ArrayBuilder<int>.GetInstance();
288public void GetUpdatedMethodTokens(ArrayBuilder<MethodDefinitionHandle> methods)
303public void GetChangedTypeTokens(ArrayBuilder<TypeDefinitionHandle> types)
506internal static IReadOnlyDictionary<ITypeDefinition, ArrayBuilder<ITypeDefinitionMember>> CreateDeletedMemberDefs(EmitContext context, SymbolChanges changes)
508var result = new Dictionary<ITypeDefinition, ArrayBuilder<ITypeDefinitionMember>>(ReferenceEqualityComparer.Instance);
522var deletedMemberDefs = getDeletedMemberDefs(typeDef);
534ArrayBuilder<ITypeDefinitionMember>? getDeletedMemberDefs(ITypeDefinition typeDef)
542var newMemberDefs = ArrayBuilder<ITypeDefinitionMember>.GetInstance();
690if (_deletedMemberDefs.TryGetValue(typeDef, out var newMemberDefs))
729var implementingMethods = ArrayBuilder<int>.GetInstance();
906var encInfos = ArrayBuilder<EncLocalInfo>.GetInstance();
1124var paramEncMapRows = ArrayBuilder<int>.GetInstance();
1133private void PopulateEncLogTableRows(ImmutableArray<int> rowCounts, ArrayBuilder<int> paramEncMapRows)
1229private void PopulateEncLogTableParameters(ArrayBuilder<int> paramEncMapRows)
1288private void PopulateEncMapTableRows(ImmutableArray<int> rowCounts, ArrayBuilder<int> paramEncMapRows)
1294var tokens = ArrayBuilder<EntityHandle>.GetInstance();
1371var debugTokens = ArrayBuilder<EntityHandle>.GetInstance();
1438ArrayBuilder<EntityHandle> builder,
1446private static void AddReferencedTokens(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, int firstRowId, int nTokens)
1454private static void AddDefinitionTokens<T>(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, DefinitionIndex<T> index)
1463private static void AddRowNumberTokens(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, ArrayBuilder<int> rowNumbers)
Operations\ControlFlowGraphBuilder.cs (78)
33private readonly ArrayBuilder<BasicBlockBuilder> _blocks;
41private readonly ArrayBuilder<(EvalStackFrame? frameOpt, IOperation? operationOpt)> _evalStack;
63private ControlFlowGraphBuilder(Compilation compilation, CaptureIdDispenser? captureIdDispenser, ArrayBuilder<BasicBlockBuilder> blocks)
70_evalStack = ArrayBuilder<(EvalStackFrame? frameOpt, IOperation? operationOpt)>.GetInstance();
113var blocks = ArrayBuilder<BasicBlockBuilder>.GetInstance();
149var localFunctions = ArrayBuilder<IMethodSymbol>.GetInstance();
172private static ImmutableArray<BasicBlock> ToImmutableBlocks(ArrayBuilder<BasicBlockBuilder> blockBuilders)
174var builder = ArrayBuilder<BasicBlock>.GetInstance(blockBuilders.Count);
223private static void MarkReachableBlocks(ArrayBuilder<BasicBlockBuilder> blocks)
240ArrayBuilder<BasicBlockBuilder> blocks,
243ArrayBuilder<BasicBlockBuilder>? outOfRangeBlocksToVisit,
249var toVisit = ArrayBuilder<BasicBlockBuilder>.GetInstance();
494private static void Pack(ArrayBuilder<BasicBlockBuilder> blocks, RegionBuilder root, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap)
511private static bool PackRegions(RegionBuilder root, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap)
614private static void MergeSubRegionAndFree(RegionBuilder subRegion, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap, bool canHaveEmptyRegion = false)
670private static bool PackBlocks(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap)
672ArrayBuilder<RegionBuilder>? fromCurrent = null;
673ArrayBuilder<RegionBuilder>? fromDestination = null;
674ArrayBuilder<RegionBuilder>? fromPredecessor = null;
675ArrayBuilder<BasicBlockBuilder>? predecessorsBuilder = null;
893predecessorsBuilder = ArrayBuilder<BasicBlockBuilder>.GetInstance();
1101bool checkBranchesFromPredecessors(ArrayBuilder<BasicBlockBuilder> predecessors, RegionBuilder currentRegion, RegionBuilder? destinationRegionOpt)
1148void collectAncestorsAndSelf([DisallowNull] RegionBuilder? from, [NotNull] ref ArrayBuilder<RegionBuilder>? builder)
1152builder = ArrayBuilder<RegionBuilder>.GetInstance();
1170int getIndexOfLastLeftRegion(ArrayBuilder<RegionBuilder> from, ArrayBuilder<RegionBuilder> to)
1186private static void CheckUnresolvedBranches(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<ILabelSymbol, BasicBlockBuilder>? labeledBlocks)
2009var builder = ArrayBuilder<T>.GetInstance(numElements);
2049ArrayBuilder<IInterpolatedStringHandlerCreationOperation>? interpolatedStringBuilder = null;
2057interpolatedStringBuilder ??= ArrayBuilder<IInterpolatedStringHandlerCreationOperation>.GetInstance();
2206var stack = ArrayBuilder<(IBinaryOperation, EvalStackFrame)>.GetInstance();
2796var stack = ArrayBuilder<(IOperation? condition, BasicBlockBuilder dest, bool jumpIfTrue)>.GetInstance();
3371var operations = ArrayBuilder<IOperation>.GetInstance();
3743var predecessors = ArrayBuilder<BasicBlockBuilder>.GetInstance();
3971var resourceQueue = ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>.GetInstance(declarationGroup.Declarations.Length);
4010void processQueue(ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt)
4032void processResource(IOperation resource, ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt)
4795var builder = ArrayBuilder<IOperation>.GetInstance(--parametersCount, fillWithValue: null!);
4808var builder = ArrayBuilder<IArgumentOperation>.GetInstance(parametersCount, fillWithValue: null!);
6388var initializerBuilder = ArrayBuilder<IOperation>.GetInstance(operation.Initializers.Length);
6521var builder = ArrayBuilder<IOperation>.GetInstance(initializer.ElementValues.Length);
6721var elementBuilder = ArrayBuilder<IOperation>.GetInstance(numElements);
6873var appendCalls = ArrayBuilder<IInterpolatedStringAppendOperation>.GetInstance();
6916static void collectAppendCalls(IInterpolatedStringHandlerCreationOperation creation, ArrayBuilder<IInterpolatedStringAppendOperation> appendCalls)
6925var stack = ArrayBuilder<IInterpolatedStringAdditionOperation>.GetInstance();
6957static void appendStringCalls(IInterpolatedStringOperation interpolatedString, ArrayBuilder<IInterpolatedStringAppendOperation> appendCalls)
6965static void pushLeftNodes(IInterpolatedStringAdditionOperation addition, ArrayBuilder<IInterpolatedStringAdditionOperation> stack)
7072var partsBuilder = ArrayBuilder<IInterpolatedStringContentOperation>.GetInstance(operation.Parts.Length);
7274var builder = ArrayBuilder<IArgumentOperation>.GetInstance(propertySymbol.Parameters.Length);
7478var children = ArrayBuilder<IOperation>.GetInstance();
7607var stack = ArrayBuilder<IBinaryPatternOperation>.GetInstance();
7851ArrayBuilder<IOperation> statementsBuilder = ArrayBuilder<IOperation>.GetInstance(statements.Length);
7852ArrayBuilder<IOperation>? localFunctionsBuilder = null;
7858(localFunctionsBuilder ??= ArrayBuilder<IOperation>.GetInstance()).Add(statement);
8009var initializerBuilder = ArrayBuilder<IOperation>.GetInstance(initializers.Length);
SourceGeneration\ISyntaxHelper.cs (6)
20void AddAttributeTargets(SyntaxNode node, ArrayBuilder<SyntaxNode> targets);
44void AddAliases(GreenNode node, ArrayBuilder<(string aliasName, string symbolName)> aliases, bool global);
45void AddAliases(CompilationOptions options, ArrayBuilder<(string aliasName, string symbolName)> aliases);
68public abstract void AddAttributeTargets(SyntaxNode node, ArrayBuilder<SyntaxNode> targets);
72public abstract void AddAliases(GreenNode node, ArrayBuilder<(string aliasName, string symbolName)> aliases, bool global);
73public abstract void AddAliases(CompilationOptions options, ArrayBuilder<(string aliasName, string symbolName)> aliases);
src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (7)
17internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks, CancellationToken cancellationToken)
23internal static DeclarationInfo GetDeclarationInfo(SyntaxNode node, ISymbol? declaredSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks)
38return GetDeclarationInfo(model, node, getSymbol, (ArrayBuilder<SyntaxNode>?)null, cancellationToken);
43var builder = ArrayBuilder<SyntaxNode>.GetInstance();
54var builder = ArrayBuilder<SyntaxNode>.GetInstance();
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (21)
347[NotNullWhen(true)] out ArrayBuilder<TResult>? builder)
366builder = ArrayBuilder<TResult>.GetInstance(count);
372builder = ArrayBuilder<TResult>.GetInstance();
378if (!TryGetBuilder<T, T>(values, useCountForBuilder: false, out var builder))
392if (!TryGetBuilder<T, T>(values, useCountForBuilder: false, out var result))
409if (!TryGetBuilder<TSource, TResult>(source, useCountForBuilder: true, out var builder))
419if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: false, out var builder))
433if (!TryGetBuilder<TSource, TResult>(source, useCountForBuilder: true, out var builder))
451var builder = ArrayBuilder<TResult>.GetInstance();
487if (!TryGetBuilder<TSource, TResult>(source, useCountForBuilder: false, out var builder))
498if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: false, out var builder))
513var builder = ArrayBuilder<TResult>.GetInstance(source.Count);
526var builder = ArrayBuilder<TResult>.GetInstance(source.Count);
535if (!TryGetBuilder<TSource, TResult>(source, useCountForBuilder: false, out var builder))
549if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: true, out var builder))
563if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: true, out var builder))
577if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: true, out var builder))
588if (!TryGetBuilder<TItem, TResult>(source, useCountForBuilder: false, out var builder))
src\Dependencies\PooledObjects\ArrayBuilder.cs (34)
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)
409var tmp = ArrayBuilder<U>.GetInstance(Count);
457public void FreeAll(Func<T, ArrayBuilder<T>?> getNested)
503private static readonly ObjectPool<ArrayBuilder<T>> s_poolInstance = CreatePool();
504public static ArrayBuilder<T> GetInstance()
506var builder = s_poolInstance.Allocate();
511public static ArrayBuilder<T> GetInstance(int capacity)
513var builder = GetInstance();
518public static ArrayBuilder<T> GetInstance(int capacity, T fillWithValue)
520var builder = GetInstance();
531public static ObjectPool<ArrayBuilder<T>> CreatePool()
536public static ObjectPool<ArrayBuilder<T>> CreatePool(int size)
538ObjectPool<ArrayBuilder<T>>? pool = null;
539pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
578var accumulator = new Dictionary<K, ArrayBuilder<T>>(Count, comparer);
583if (!accumulator.TryGetValue(key, out var bucket))
585bucket = ArrayBuilder<T>.GetInstance();
603public void AddRange(ArrayBuilder<T> items)
608public void AddRange<U>(ArrayBuilder<U> items, Func<U, T> selector)
616public void AddRange<U>(ArrayBuilder<U> items) where U : T
621public void AddRange<U>(ArrayBuilder<U> items, int start, int length) where U : T
755var result = ArrayBuilder<S>.GetInstance(Count);
845var builder = ArrayBuilder<TResult>.GetInstance(Count);
883var builder = ArrayBuilder<TResult>.GetInstance(Count);
921var builder = ArrayBuilder<TResult>.GetInstance(Count);
Binder\Binder.OperatorResolutionForReporting.cs (7)
89var results = ArrayBuilder<(MethodSymbol?, OperatorAnalysisResultKind)>.GetInstance();
100ArrayBuilder<(MethodSymbol? member, OperatorAnalysisResultKind resultKind)> results,
221static bool hadAmbiguousBestMethods(ArrayBuilder<(MethodSymbol?, OperatorAnalysisResultKind)> results, SyntaxNode node, Binder binder, BindingDiagnosticBag diagnostics)
245static void assertNone(ArrayBuilder<(MethodSymbol? member, OperatorAnalysisResultKind resultKind)> results, OperatorAnalysisResultKind kind)
250static bool tryGetTwoBest(ArrayBuilder<(MethodSymbol?, OperatorAnalysisResultKind)> results, [NotNullWhen(true)] out MethodSymbol? first, [NotNullWhen(true)] out MethodSymbol? second)
282static void populateResults(ArrayBuilder<(MethodSymbol?, OperatorAnalysisResultKind)> results, object? result)
Binder\Binder_Constraints.cs (21)
55var results = ArrayBuilder<TypeParameterConstraintClause?>.GetInstance(n, fillWithValue: null);
56var syntaxNodes = ArrayBuilder<ArrayBuilder<TypeConstraintSyntax>?>.GetInstance(n, fillWithValue: null);
69(TypeParameterConstraintClause constraintClause, ArrayBuilder<TypeConstraintSyntax>? typeConstraintNodes) = this.BindTypeParameterConstraints(typeParameterList.Parameters[ordinal], clause, isForOverride, diagnostics);
105foreach (var typeConstraintsSyntaxes in syntaxNodes)
118private (TypeParameterConstraintClause, ArrayBuilder<TypeConstraintSyntax>?) BindTypeParameterConstraints(
122ArrayBuilder<TypeWithAnnotations>? constraintTypes = null;
123ArrayBuilder<TypeConstraintSyntax>? syntaxBuilder = null;
250constraintTypes = ArrayBuilder<TypeWithAnnotations>.GetInstance();
251syntaxBuilder = ArrayBuilder<TypeConstraintSyntax>.GetInstance();
367var builder = ArrayBuilder<TypeParameterConstraintClause>.GetInstance(typeParameterList.Parameters.Count);
387ArrayBuilder<TypeParameterConstraintClause> constraintClauses,
388ArrayBuilder<ArrayBuilder<TypeConstraintSyntax>?> syntaxNodes,
404ArrayBuilder<TypeConstraintSyntax>? syntaxNodesOpt,
413var constraintTypeBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance();
488ArrayBuilder<TypeWithAnnotations> constraintTypes,
Binder\Binder_Deconstruct.cs (31)
116ArrayBuilder<DeconstructionVariable> checkedVariables,
209private BoundExpression FixTupleLiteral(ArrayBuilder<DeconstructionVariable> checkedVariables, BoundExpression boundRHS, CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
248ArrayBuilder<DeconstructionVariable> variables,
296var nestedConversions = ArrayBuilder<(BoundValuePlaceholder?, BoundExpression?)>.GetInstance(count);
351private void SetInferredTypes(ArrayBuilder<DeconstructionVariable> variables, ImmutableArray<TypeSymbol> foundTypes, BindingDiagnosticBag diagnostics)
393private void FailRemainingInferences(ArrayBuilder<DeconstructionVariable> variables, BindingDiagnosticBag diagnostics)
435internal readonly ArrayBuilder<DeconstructionVariable>? NestedVariables;
445internal DeconstructionVariable(ArrayBuilder<DeconstructionVariable> variables, SyntaxNode syntax)
452internal static void FreeDeconstructionVariables(ArrayBuilder<DeconstructionVariable> variables)
473private TypeSymbol? MakeMergedTupleType(ArrayBuilder<DeconstructionVariable> lhsVariables, BoundTupleLiteral rhsLiteral, CSharpSyntaxNode syntax, BindingDiagnosticBag? diagnostics)
478var typesWithAnnotationsBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(leftLength);
479var locationsBuilder = ArrayBuilder<Location?>.GetInstance(leftLength);
547private BoundTupleExpression DeconstructionVariablesAsTuple(CSharpSyntaxNode syntax, ArrayBuilder<DeconstructionVariable> variables,
551var valuesBuilder = ArrayBuilder<BoundExpression>.GetInstance(count);
552var typesWithAnnotationsBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(count);
553var locationsBuilder = ArrayBuilder<Location?>.GetInstance(count);
554var namesBuilder = ArrayBuilder<string?>.GetInstance(count);
620ArrayBuilder<DeconstructionVariable>? variablesOpt = null)
634var outVars = ArrayBuilder<OutDeconstructVarPendingInference>.GetInstance(numCheckedVariables);
779var builder = ArrayBuilder<DeconstructionVariable>.GetInstance(component.Arguments.Count);
842var builder = ArrayBuilder<DeconstructionVariable>.GetInstance();
Binder\Binder_Expressions.cs (109)
238ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance();
369var boundArgs = ArrayBuilder<BoundExpression>.GetInstance(sourceTuple.Arguments.Length);
997var builder = ArrayBuilder<BoundExpression>.GetInstance(count);
998var namesBuilder = ArrayBuilder<string>.GetInstance(count);
1053var boundArguments = ArrayBuilder<BoundExpression>.GetInstance(arguments.Count);
1054var elementTypesWithAnnotations = ArrayBuilder<TypeWithAnnotations>.GetInstance(arguments.Count);
1055var elementLocations = ArrayBuilder<Location>.GetInstance(arguments.Count);
1123ArrayBuilder<string> elementNames = null;
1124ArrayBuilder<string> inferredElementNames = null;
1162ArrayBuilder<string> elementNames, ArrayBuilder<string> inferredElementNames)
1183var builder = ArrayBuilder<bool>.GetInstance(elementNames.Count);
1204private static void RemoveDuplicateInferredTupleNamesAndFreeIfEmptied(ref ArrayBuilder<string> inferredElementNames, HashSet<string> uniqueFieldNames)
1700var members = ArrayBuilder<Symbol>.GetInstance();
1832private ParameterSymbol GetShadowedPrimaryConstructorParameter(SimpleNameSyntax node, Symbol symbol, bool invoked, ArrayBuilder<Symbol> membersOpt)
1945private BoundExpression SynthesizeMethodGroupReceiver(CSharpSyntaxNode syntax, ArrayBuilder<Symbol> members)
3511ArrayBuilder<BoundExpression>? paramsArgsBuilder = null;
3512var arguments = analyzedArguments.Arguments;
3562ArrayBuilder<BoundExpression>? argumentsForInterpolationConversion,
3615static ArrayBuilder<BoundExpression> collectParamsArgs(
3618ArrayBuilder<BoundExpression> arguments,
3623var paramsArgsBuilder = ArrayBuilder<BoundExpression>.GetInstance();
3653ArrayBuilder<BoundExpression> paramsArgsBuilder,
3683var arguments = analyzedArguments.Arguments;
3688ArrayBuilder<int>? argsToParamsBuilder = null;
3691argsToParamsBuilder = ArrayBuilder<int>.GetInstance(argsToParamsOpt.Length);
3742ArrayBuilder<BoundExpression>? arguments,
3822var handlerArgumentIndexesBuilder = ArrayBuilder<int>.GetInstance(handlerParameterIndexes.Length, fillWithValue: BoundInterpolatedStringArgumentPlaceholder.UnspecifiedParameter);
3850var argumentPlaceholdersBuilder = ArrayBuilder<BoundInterpolatedStringArgumentPlaceholder>.GetInstance(handlerArgumentIndexes.Length);
3851var argumentRefKindsBuilder = ArrayBuilder<RefKind>.GetInstance(handlerArgumentIndexes.Length);
4133ArrayBuilder<BoundExpression> sizes = ArrayBuilder<BoundExpression>.GetInstance();
4269var exprBuilder = ArrayBuilder<BoundExpression>.GetInstance();
4284private void BindArrayInitializerExpressions(InitializerExpressionSyntax initializer, ArrayBuilder<BoundExpression> exprBuilder, BindingDiagnosticBag diagnostics, int dimension, int rank)
4361ArrayBuilder<BoundExpression> initializers = ArrayBuilder<BoundExpression>.GetInstance();
4618var builder = ArrayBuilder<BoundExpression>.GetInstance();
5348var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count);
5458var arguments = analyzedArguments.Arguments;
5718ArrayBuilder<BoundExpression> arguments,
5719ArrayBuilder<RefKind> refKinds,
5763var children = ArrayBuilder<BoundExpression>.GetInstance();
5863var initializers = ArrayBuilder<BoundExpression>.GetInstance(initializerSyntax.Expressions.Count);
6427var initializerBuilder = ArrayBuilder<BoundExpression>.GetInstance();
6553var exprBuilder = ArrayBuilder<BoundExpression>.GetInstance();
6777ArrayBuilder<MethodSymbol> builder = null;
6787builder = ArrayBuilder<MethodSymbol>.GetInstance();
7064ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance();
7069var childNodes = ArrayBuilder<BoundExpression>.GetInstance();
8061ArrayBuilder<Symbol> symbols = lookupResult.Symbols;
8347var members = ArrayBuilder<Symbol>.GetInstance();
8527var builder = ArrayBuilder<MethodSymbol>.GetInstance();
8654var members = ArrayBuilder<Symbol>.GetInstance();
9045ArrayBuilder<PropertySymbol>? properties = null;
9050properties ??= ArrayBuilder<PropertySymbol>.GetInstance();
9492private Symbol GetSymbolOrMethodOrPropertyGroup(LookupResult result, SyntaxNode node, string plainName, int arity, ArrayBuilder<Symbol> methodOrPropertyGroup, BindingDiagnosticBag diagnostics, out bool wasError, NamespaceOrTypeSymbol qualifierOpt)
9574private static bool IsMethodOrPropertyGroup(ArrayBuilder<Symbol> members)
10193ArrayBuilder<BoundExpression> arguments = analyzedArguments.Arguments;
10266ArrayBuilder<PropertySymbol> indexerGroup = ArrayBuilder<PropertySymbol>.GetInstance();
10337var properties = ArrayBuilder<PropertySymbol>.GetInstance();
10392ArrayBuilder<PropertySymbol> propertyGroup,
10432ArrayBuilder<PropertySymbol> propertyGroup,
10698var properties = ArrayBuilder<PropertySymbol>.GetInstance();
11126var methods = ArrayBuilder<MethodSymbol>.GetInstance(capacity: node.Methods.Length);
11170var singleLookupResults = ArrayBuilder<SingleLookupResult>.GetInstance();
11319var methods = ArrayBuilder<MethodSymbol>.GetInstance(capacity: node.Methods.Length);
11384var singleLookupResults = ArrayBuilder<SingleLookupResult>.GetInstance();
11392var methods = ArrayBuilder<MethodSymbol>.GetInstance(capacity: singleLookupResults.Count);
11469var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
11470ArrayBuilder<TypeParameterDiagnosticInfo>? useSiteDiagnosticsBuilder = null;
11559var fieldsBuilder = ArrayBuilder<AnonymousTypeField>.GetInstance(parameterTypes.Length + 1);
11581var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
11584ArrayBuilder<TypeParameterDiagnosticInfo>? useSiteDiagnosticsBuilder = null;
Binder\Binder_InterpolatedString.cs (29)
40var builder = ArrayBuilder<BoundExpression>.GetInstance();
375var expressions = ArrayBuilder<BoundExpression>.GetInstance(n + 1);
465var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
469static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
610var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
613static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
713var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(constructorArgumentLength);
715var refKindsBuilder = ArrayBuilder<RefKind>.GetInstance(constructorArgumentLength);
817static void populateArguments(SyntaxNode syntax, ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments, int baseStringLength, int numFormatHoles, NamedTypeSymbol intType, ArrayBuilder<BoundExpression> argumentsBuilder)
852ArrayBuilder<BoundExpression>? partsBuilder = null;
874partsBuilder = ArrayBuilder<BoundExpression>.GetInstance(unconvertedInterpolatedString.Parts.Length);
907var builderAppendCallsArray = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance(partsArray.Length);
908var builderAppendCalls = ArrayBuilder<BoundExpression>.GetInstance(firstPartsLength);
909var positionInfoArray = ArrayBuilder<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>.GetInstance(partsArray.Length);
910var positionInfo = ArrayBuilder<(bool IsLiteral, bool HasAlignment, bool HasFormat)>.GetInstance(firstPartsLength);
911var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(3);
912var parameterNamesAndLocationsBuilder = ArrayBuilder<(string, Location)?>.GetInstance(3);
Binder\Binder_Invocation.cs (26)
55var builder = ArrayBuilder<MethodSymbol>.GetInstance();
204var invocations = ArrayBuilder<InvocationExpressionSyntax>.GetInstance();
534var builder = ArrayBuilder<BoundExpression>.GetInstance(arguments.Arguments.Count);
895private bool IsAmbiguousDynamicParamsArgument<TMethodOrPropertySymbol>(ArrayBuilder<BoundExpression> arguments, MemberResolutionResult<TMethodOrPropertySymbol> candidate, out SyntaxNode argumentSyntax)
1019var finalCandidates = ArrayBuilder<MemberResolutionResult<TMethodOrPropertySymbol>>.GetInstance();
1533ArrayBuilder<BoundExpression> argumentsBuilder,
1534ArrayBuilder<RefKind>? argumentRefKindsBuilder,
1535ArrayBuilder<(string Name, Location Location)?>? namesBuilder,
1580ArrayBuilder<int>? argsToParamsBuilder = null;
1583argsToParamsBuilder = ArrayBuilder<int>.GetInstance(argsToParamsOpt.Length);
1665BoundExpression? extensionReceiver, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt)
1778BoundExpression? extensionReceiver, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt,
2055var constructedMethods = ArrayBuilder<MethodSymbol>.GetInstance();
2120var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2140var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2162ArrayBuilder<BoundExpression> newArguments = ArrayBuilder<BoundExpression>.GetInstance(argumentCount);
2540var methodsBuilder = ArrayBuilder<FunctionPointerMethodSymbol>.GetInstance(1);
Binder\Binder_Operators.cs (45)
393ArrayBuilder<MethodSymbol>? methods = LookupUserDefinedInstanceOperators(
426ArrayBuilder<MethodSymbol> methods,
433var typeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
592var extensionCandidatesInSingleScope = ArrayBuilder<Symbol>.GetInstance();
653ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
664ArrayBuilder<MethodSymbol>? methods = LookupUserDefinedInstanceExtensionOperatorsInSingleScope(
892var syntaxNodes = ArrayBuilder<BinaryExpressionSyntax>.GetInstance();
1252var stack = ArrayBuilder<BoundBinaryOperator>.GetInstance();
1947var extensionCandidates = ArrayBuilder<Symbol>.GetInstance();
1980ArrayBuilder<Symbol> extensionCandidates,
2108var extensionCandidatesInSingleScope = ArrayBuilder<Symbol>.GetInstance();
2182var builder = ArrayBuilder<MethodSymbol>.GetInstance();
2336var builder = ArrayBuilder<MethodSymbol>.GetInstance();
2421var extensionCandidatesInSingleScope = ArrayBuilder<Symbol>.GetInstance();
3480ArrayBuilder<MethodSymbol>? methods = LookupUserDefinedInstanceOperators(
3512ArrayBuilder<MethodSymbol> methods,
3522var typeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
3678var extensionCandidatesInSingleScope = ArrayBuilder<Symbol>.GetInstance();
3741ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
3754ArrayBuilder<MethodSymbol>? methods = LookupUserDefinedInstanceExtensionOperatorsInSingleScope(
3770private ArrayBuilder<MethodSymbol>? LookupUserDefinedInstanceOperators(TypeSymbol lookupInType, string? checkedName, string ordinaryName, int parameterCount, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
3775ArrayBuilder<MethodSymbol>? methods = null;
3783methods = ArrayBuilder<MethodSymbol>.GetInstance(lookupResult.Symbols.Count);
3796methods = ArrayBuilder<MethodSymbol>.GetInstance(lookupResult.Symbols.Count);
3822static void appendViableMethods(LookupResult lookupResult, int parameterCount, ArrayBuilder<MethodSymbol> methods)
3841private ArrayBuilder<MethodSymbol>? LookupUserDefinedInstanceExtensionOperatorsInSingleScope(
3842ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
3848ArrayBuilder<MethodSymbol>? checkedMethods = null;
3856ArrayBuilder<MethodSymbol>? ordinaryMethods = null;
3883ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
3886ref ArrayBuilder<MethodSymbol>? methods)
3893var typeOperators = ArrayBuilder<MethodSymbol>.GetInstance();
3918methods ??= ArrayBuilder<MethodSymbol>.GetInstance();
Binder\Binder_Patterns.cs (19)
479var builder = ArrayBuilder<BoundPattern>.GetInstance(subpatterns.Count);
1353var patternsBuilder = ArrayBuilder<BoundPositionalSubpattern>.GetInstance(positionalClause.Subpatterns.Count);
1430ArrayBuilder<BoundPositionalSubpattern> patterns,
1491ArrayBuilder<BoundPositionalSubpattern> patterns,
1526ArrayBuilder<BoundPositionalSubpattern> patterns,
1774var subPatterns = ArrayBuilder<BoundPositionalSubpattern>.GetInstance(tupleDesignation.Variables.Count);
1857ArrayBuilder<BoundPositionalSubpattern> patterns,
1887var builder = ArrayBuilder<BoundPropertySubpattern>.GetInstance(node.Subpatterns.Count);
2194var binaryPatternStack = ArrayBuilder<(BinaryPatternSyntax pat, bool permitDesignations)>.GetInstance();
2209var narrowedTypeCandidates = ArrayBuilder<TypeSymbol>.GetInstance(2);
2241ArrayBuilder<TypeSymbol> narrowedTypeCandidates,
2283internal static TypeSymbol? LeastSpecificType(ArrayBuilder<TypeSymbol> candidates, Conversions conversions, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
2336internal static void CollectDisjunctionTypes(BoundPattern pat, ArrayBuilder<TypeSymbol> candidates, bool hasUnionMatching)
Binder\Binder_Symbols.cs (14)
693var types = ArrayBuilder<TypeWithAnnotations>.GetInstance(numElements);
694var locations = ArrayBuilder<Location>.GetInstance(numElements);
695ArrayBuilder<string> elementNames = null;
777private static void CollectTupleFieldMemberName(string name, int elementIndex, int tupleSize, ref ArrayBuilder<string> elementNames)
790elementNames = ArrayBuilder<string>.GetInstance(tupleSize);
1363var args = ArrayBuilder<TypeWithAnnotations>.GetInstance(typeArguments.Count);
1444ArrayBuilder<Symbol> members,
1488ImmutableArray<TypeWithAnnotations> typeArguments, bool invoked, ArrayBuilder<Symbol> members, BindingDiagnosticBag diagnostics)
1557ArrayBuilder<Symbol> members, TypeSymbol receiverType,
2030var symbols = result.Symbols;
2559private BestSymbolInfo GetBestSymbolInfo(ArrayBuilder<Symbol> symbols, out BestSymbolInfo secondBest)
Binder\DecisionDagBuilder.cs (117)
208var bindingsBuilder = ArrayBuilder<BoundPatternBinding>.GetInstance();
217ArrayBuilder<BoundPatternBinding> bindingsBuilder)
232var testsToSimplify = ArrayBuilder<Tests?>.GetInstance();
233var testsToAssemble = ArrayBuilder<Tests>.GetInstance();
234var testsSimplified = ArrayBuilder<Tests>.GetInstance();
284var newSequence = ArrayBuilder<Tests>.GetInstance(length);
325ArrayBuilder<BoundPatternBinding> bindings)
362ArrayBuilder<BoundPatternBinding> bindings)
412private BoundDagTemp PrepareForUnionValuePropertyMatching(ref TestInputOutputInfo input, ArrayBuilder<Tests> tests)
494ArrayBuilder<BoundPatternBinding> bindings)
503var tests = ArrayBuilder<Tests>.GetInstance(4 + patternLength * 2);
581ArrayBuilder<BoundPatternBinding> bindings)
584var tests = ArrayBuilder<Tests>.GetInstance(1);
612var tests = ArrayBuilder<Tests>.GetInstance(4);
621ArrayBuilder<Tests> tests)
782ArrayBuilder<Tests> tests)
868var builder = ArrayBuilder<Tests>.GetInstance(2);
884var tests = ArrayBuilder<Tests>.GetInstance(2);
892var tests = ArrayBuilder<Tests>.GetInstance(2);
925ArrayBuilder<BoundPatternBinding> bindings)
930var tests = ArrayBuilder<Tests>.GetInstance(5);
943ArrayBuilder<BoundDagTemp> outParamTemps = evaluation.MakeOutParameterTemps();
1071private Tests MakeTestsAndBindingsForNegatedPattern(TestInputOutputInfo input, BoundNegatedPattern neg, ArrayBuilder<BoundPatternBinding> bindings)
1081ArrayBuilder<BoundPatternBinding> bindings)
1085var binaryPatternStack = ArrayBuilder<BoundBinaryPattern>.GetInstance();
1106Tests makeTestsAndBindingsForBinaryPattern(DecisionDagBuilder @this, Tests leftTests, TestInputOutputInfo leftOutputInfo, TestInputOutputInfo inputInfo, BoundBinaryPattern bin, out TestInputOutputInfo outputInfo, ArrayBuilder<BoundPatternBinding> bindings)
1108var builder = ArrayBuilder<Tests>.GetInstance(2);
1121builder = ArrayBuilder<Tests>.GetInstance(2);
1154var tests = ArrayBuilder<Tests>.GetInstance(2);
1319var rewrittenCases = ArrayBuilder<StateForCase>.GetInstance(casesForRootNode.Count);
1412var usedTempsPerState = ArrayBuilder<BitVector>.GetInstance(states.Length, BitVector.Empty);
1695var whenTrueBuilder = ArrayBuilder<StateForCase>.GetInstance(cases.Count);
1696var whenFalseBuilder = ArrayBuilder<StateForCase>.GetInstance(cases.Count);
1892var builder = ArrayBuilder<StateForCase>.GetInstance(cases.Count);
2893private static FrozenArrayBuilder<T> AsFrozen<T>(ArrayBuilder<T> builder)
2902private readonly ArrayBuilder<T> _arrayBuilder;
2904public FrozenArrayBuilder(ArrayBuilder<T> arrayBuilder)
2907if (arrayBuilder.Capacity >= ArrayBuilder<T>.PooledArrayLengthLimitExclusive
2908&& arrayBuilder.Count < ArrayBuilder<T>.PooledArrayLengthLimitExclusive
2943public ArrayBuilder<T>.Enumerator GetEnumerator() => _arrayBuilder.GetEnumerator();
2947var builder = ArrayBuilder<T>.GetInstance(this.Count - 1);
3003/// <see cref="ArrayBuilder{StateForCase}"/> will be returned to its pool when <see cref="ClearAndFree"/> is
3246var finalResult = ArrayBuilder<Tests>.GetInstance(2);
3283private static void AddBindingsPatchingAssignments(ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> oldTempMap, ImmutableDictionary<BoundDagTemp, BoundDagTemp> newTempMap, ArrayBuilder<Tests> assignments)
3700ArrayBuilder<BoundDagTemp> newOutParamTemps = newDeconstruct.MakeOutParameterTemps();
3701ArrayBuilder<BoundDagTemp> oldOutParamTemps = oldDeconstruct.MakeOutParameterTemps();
3968private static ArrayBuilder<Tests> NegateSequenceElements(ImmutableArray<Tests> seq)
3970var builder = ArrayBuilder<Tests>.GetInstance(seq.Length);
4014public abstract Tests Update(ArrayBuilder<Tests> remainingTests);
4025var testsToFilter = ArrayBuilder<Tests?>.GetInstance();
4026var testsToAssemble = ArrayBuilder<SequenceTests>.GetInstance();
4027var trueTests = ArrayBuilder<Tests>.GetInstance();
4028var falseTests = ArrayBuilder<Tests>.GetInstance();
4078static void assemble(SequenceTests toAssemble, ArrayBuilder<Tests> tests)
4081var newSequence = ArrayBuilder<Tests>.GetInstance(length, null!);
4099var testsToRewrite = ArrayBuilder<(Tests? Tests, bool SkipRewrite)>.GetInstance();
4100var testsToAssemble = ArrayBuilder<(
4105var testsRewritten = ArrayBuilder<Tests>.GetInstance();
4130var newSequence = ArrayBuilder<Tests>.GetInstance(childCount);
4213var leftToRewriteBuilder = ArrayBuilder<Tests>.GetInstance();
4240void pushConditionalResult(RemoveEvaluationAndUpdateTempReferencesResult rewriteResult, ArrayBuilder<Tests> leftToRewriteBuilder)
4304void popAndAddChildrenLeftToRewrite(ArrayBuilder<Tests> leftToRewriteBuilder)
4324var testsToRewrite = ArrayBuilder<Tests?>.GetInstance();
4325var testsToAssemble = ArrayBuilder<SequenceTests>.GetInstance();
4326var testsRewritten = ArrayBuilder<Tests>.GetInstance();
4345var newSequence = ArrayBuilder<Tests>.GetInstance(length);
4385var tests1 = ArrayBuilder<Tests>.GetInstance();
4386var tests2 = ArrayBuilder<Tests>.GetInstance();
4461var tests = ArrayBuilder<Tests>.GetInstance();
4543public override Tests Update(ArrayBuilder<Tests> remainingTests) => Create(remainingTests);
4549var builder = ArrayBuilder<Tests>.GetInstance(2);
4554public static Tests Create(ArrayBuilder<Tests> remainingTests)
4649public override Tests Update(ArrayBuilder<Tests> remainingTests) => Create(remainingTests);
4655var builder = ArrayBuilder<Tests>.GetInstance(2);
4660public static Tests Create(ArrayBuilder<Tests> remainingTests)
Binder\DecisionDagBuilder_CheckOrReachability.cs (31)
78var noPreviousCases = ArrayBuilder<StateForCase>.GetInstance(0);
103var existingCases = ArrayBuilder<StateForCase>.GetInstance(switchArms.Length);
117ArrayBuilder<StateForCase> existingCases)
154var existingCases = ArrayBuilder<StateForCase>.GetInstance();
168ArrayBuilder<StateForCase> existingCases)
295public readonly ArrayBuilder<StateForCase> PreviousCases;
304public ReachabilityAnalysisContext(ArrayBuilder<StateForCase> previousCases, int patternIndex,
338ArrayBuilder<StateForCase> previousCases,
392static void populateStateForCases(ArrayBuilder<BoundPattern> set, PooledHashSet<LabelSymbol> labelsToIgnore,
396var previousCases = context.PreviousCases;
425var currentCases = ArrayBuilder<BoundPattern>.GetInstance();
434static void analyzePattern(ArrayBuilder<BoundPattern> currentCases, BoundPattern pattern, Func<BoundPattern, BoundPattern>? wrapIntoParentAndPattern, ref readonly ReachabilityAnalysisContext context)
442static void analyzeBinary(ArrayBuilder<BoundPattern> currentCases, BoundBinaryPattern binaryPattern, Func<BoundPattern, BoundPattern>? wrapIntoParentAndPattern, ref readonly ReachabilityAnalysisContext context)
448var patterns = ArrayBuilder<BoundPattern>.GetInstance();
470var stack = ArrayBuilder<BoundBinaryPattern>.GetInstance();
513static void checkReachability(ArrayBuilder<BoundPattern> orCases, ref readonly ReachabilityAnalysisContext context)
548static void addPatternsFromOrTree(BoundPattern pattern, ArrayBuilder<BoundPattern> builder)
552var stack = ArrayBuilder<BoundBinaryPattern>.GetInstance();
644private readonly ArrayBuilder<OperandOrOperation> _evalSequence = ArrayBuilder<OperandOrOperation>.GetInstance();
731var stack = ArrayBuilder<BoundPattern>.GetInstance();
836var stack = ArrayBuilder<BoundBinaryPattern>.GetInstance();
Binder\PatternExplainer.cs (19)
73var result = ArrayBuilder<BoundDecisionDagNode>.GetInstance(capacity: distanceToNode);
114var pathBuilder = ArrayBuilder<BoundDecisionDagNode>.GetInstance();
115var stack = ArrayBuilder<BoundDecisionDagNode?>.GetInstance();
285out Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest, bool)>> constraints,
286out Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluations)
288constraints = new Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest, bool)>>();
289evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>>();
308if (!constraints.TryGetValue(temp, out var constraintBuilder))
319if (!evaluations.TryGetValue(temp, out var evaluationBuilder))
333Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest test, bool sense)>> constraintMap,
334Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluationMap,
352static ImmutableArray<T> getArray<T>(Dictionary<BoundDagTemp, ArrayBuilder<T>> map, BoundDagTemp temp)
354return map.TryGetValue(temp, out var builder) ? builder.ToImmutable() : ImmutableArray<T>.Empty;
480var subpatterns = new ArrayBuilder<string>(lengthValue);
531var subpatterns = new ArrayBuilder<string>(cardinality);
659ArrayBuilder<BoundDagTemp> outParamTemps = e.MakeOutParameterTemps();
Binder\RefSafetyAnalysis.cs (31)
163private readonly ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> _placeholders;
165public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders)
407var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
424var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
750var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
763var calls = ArrayBuilder<(BoundCall call, MethodInvocationInfo methodInvocationInfo)>.GetInstance();
870ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders,
1001var escapeValues = ArrayBuilder<EscapeValue>.GetInstance();
1079var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
1086private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
1115var variables = GetDeconstructionAssignmentVariables(left);
1121private void VisitDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, SyntaxNode syntax, Conversion conversion, BoundExpression right)
1147var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
1158var nestedVariables = variable.NestedVariables;
1188var nestedVariables = variable.NestedVariables;
1202internal readonly ArrayBuilder<DeconstructionVariable>? NestedVariables;
1204internal DeconstructionVariable(BoundExpression expression, SafeContext valEscape, ArrayBuilder<DeconstructionVariable>? nestedVariables)
1212private ArrayBuilder<DeconstructionVariable> GetDeconstructionAssignmentVariables(BoundTupleExpression tuple)
1215var builder = ArrayBuilder<DeconstructionVariable>.GetInstance(arguments.Length);
1281var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
1326var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
Binder\Semantics\Conversions\UserDefinedExplicitConversions.cs (13)
36var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance();
40var ubuild = ArrayBuilder<UserDefinedConversionAnalysis>.GetInstance();
74private static void ComputeUserDefinedExplicitConversionTypeSet(TypeSymbol source, TypeSymbol target, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
90ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d,
91ArrayBuilder<UserDefinedConversionAnalysis> u,
133ArrayBuilder<UserDefinedConversionAnalysis> u,
145ArrayBuilder<UserDefinedConversionAnalysis> u,
220var operators = ArrayBuilder<MethodSymbol>.GetInstance();
236var operators2 = ArrayBuilder<MethodSymbol>.GetInstance();
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (17)
80var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance();
84var ubuild = ArrayBuilder<UserDefinedConversionAnalysis>.GetInstance();
118private static void ComputeUserDefinedImplicitConversionTypeSet(TypeSymbol s, TypeSymbol t, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
146ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d,
147ArrayBuilder<UserDefinedConversionAnalysis> u,
285ArrayBuilder<UserDefinedConversionAnalysis> u,
289var operators = ArrayBuilder<MethodSymbol>.GetInstance();
963var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance();
969var ubuild = ArrayBuilder<UserDefinedConversionAnalysis>.GetInstance();
1000var ubuild = ArrayBuilder<UserDefinedConversionAnalysis>.GetInstance();
1026ArrayBuilder<UserDefinedConversionAnalysis> u,
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (54)
121var rightOperators = ArrayBuilder<BinaryOperatorAnalysisResult>.GetInstance();
171var rightOperators = ArrayBuilder<BinaryOperatorAnalysisResult>.GetInstance();
225Dictionary<TypeSymbol, bool> lookedInInterfaces, ArrayBuilder<BinaryOperatorAnalysisResult> candidates)
243var operators = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
265var operators = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
266var results = ArrayBuilder<BinaryOperatorAnalysisResult>.GetInstance();
319ArrayBuilder<BinaryOperatorSignature> operators)
337ArrayBuilder<BinaryOperatorSignature> operators, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
477private void GetEnumOperation(BinaryOperatorKind kind, TypeSymbol enumType, BoundExpression right, ArrayBuilder<BinaryOperatorSignature> operators)
556ArrayBuilder<BinaryOperatorSignature> operators)
585ArrayBuilder<BinaryOperatorSignature> operators)
601private void GetEnumOperations(BinaryOperatorKind kind, BoundExpression left, BoundExpression right, ArrayBuilder<BinaryOperatorSignature> results)
690ArrayBuilder<BinaryOperatorSignature> results)
719private void GetAllBuiltInOperators(BinaryOperatorKind kind, bool isChecked, BoundExpression left, BoundExpression right, ArrayBuilder<BinaryOperatorAnalysisResult> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
724var operators = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
796private void GetReferenceEquality(BinaryOperatorKind kind, ArrayBuilder<BinaryOperatorSignature> operators)
804ArrayBuilder<BinaryOperatorSignature> operators,
807ArrayBuilder<BinaryOperatorAnalysisResult> results,
828private static void AddDistinctOperators(ArrayBuilder<BinaryOperatorAnalysisResult> result, ArrayBuilder<BinaryOperatorAnalysisResult> additionalOperators)
872ArrayBuilder<BinaryOperatorAnalysisResult> results,
899var operators = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
953ArrayBuilder<BinaryOperatorSignature> operators)
961var operators2 = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
989private static void GetDeclaredUserDefinedBinaryOperators(TypeSymbol? constrainedToTypeOpt, NamedTypeSymbol type, BinaryOperatorKind kind, string name, ArrayBuilder<BinaryOperatorSignature> operators)
991var typeOperators = ArrayBuilder<MethodSymbol>.GetInstance();
997private static void GetDeclaredUserDefinedBinaryOperators(TypeSymbol? constrainedToTypeOpt, ArrayBuilder<MethodSymbol> typeOperators, BinaryOperatorKind kind, string name, ArrayBuilder<BinaryOperatorSignature> operators)
1020void AddLiftedUserDefinedBinaryOperators(TypeSymbol? constrainedToTypeOpt, BinaryOperatorKind kind, ArrayBuilder<BinaryOperatorSignature> operators)
1116var candidates = result.Results;
1172ArrayBuilder<BinaryOperatorAnalysisResult> candidates,
1432ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
1444var operators = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
1459var results = result.Results;
1472static void getDeclaredUserDefinedBinaryOperatorsInScope(ArrayBuilder<Symbol> extensionCandidatesInSingleScope, BinaryOperatorKind kind, string name1, string? name2Opt, ArrayBuilder<BinaryOperatorSignature> operators)
1483var operators2 = ArrayBuilder<BinaryOperatorSignature>.GetInstance();
1503static void getDeclaredUserDefinedBinaryOperators(ArrayBuilder<Symbol> extensionCandidatesInSingleScope, BinaryOperatorKind kind, string name, ArrayBuilder<BinaryOperatorSignature> operators)
1506var typeOperators = ArrayBuilder<MethodSymbol>.GetInstance();
1512void inferTypeArgumentsAndRemoveInapplicableToReceiverType(BinaryOperatorKind kind, BoundExpression left, BoundExpression right, ArrayBuilder<BinaryOperatorSignature> operators, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1546if (!FailsConstraintChecks(method, out ArrayBuilder<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt, template: CompoundUseSiteInfo<AssemblySymbol>.Discarded))
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (36)
73ArrayBuilder<Symbol> extensionCandidatesInSingleScope,
85var operators = ArrayBuilder<UnaryOperatorSignature>.GetInstance();
100var results = result.Results;
113static void getDeclaredUserDefinedUnaryOperatorsInScope(ArrayBuilder<Symbol> extensionCandidatesInSingleScope, UnaryOperatorKind kind, string name1, string? name2Opt, ArrayBuilder<UnaryOperatorSignature> operators)
124var operators2 = ArrayBuilder<UnaryOperatorSignature>.GetInstance();
144static void getDeclaredUserDefinedUnaryOperators(ArrayBuilder<Symbol> extensionCandidatesInSingleScope, UnaryOperatorKind kind, string name, ArrayBuilder<UnaryOperatorSignature> operators)
147var typeOperators = ArrayBuilder<MethodSymbol>.GetInstance();
153void inferTypeArgumentsAndRemoveInapplicableToReceiverType(UnaryOperatorKind kind, BoundExpression operand, ArrayBuilder<UnaryOperatorSignature> operators, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
187if (!FailsConstraintChecks(method, out ArrayBuilder<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt, template: CompoundUseSiteInfo<AssemblySymbol>.Discarded))
321var candidates = result.Results;
376ArrayBuilder<UnaryOperatorAnalysisResult> candidates,
498private void GetAllBuiltInOperators(UnaryOperatorKind kind, bool isChecked, BoundExpression operand, ArrayBuilder<UnaryOperatorAnalysisResult> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
513var operators = ArrayBuilder<UnaryOperatorSignature>.GetInstance();
529private bool CandidateOperators(bool isChecked, ArrayBuilder<UnaryOperatorSignature> operators, BoundExpression operand, ArrayBuilder<UnaryOperatorAnalysisResult> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
549private void GetEnumOperations(UnaryOperatorKind kind, BoundExpression operand, ArrayBuilder<UnaryOperatorSignature> operators)
610ArrayBuilder<UnaryOperatorAnalysisResult> results,
656ArrayBuilder<UnaryOperatorAnalysisResult> results,
667var operators = ArrayBuilder<UnaryOperatorSignature>.GetInstance();
711var resultsFromInterface = ArrayBuilder<UnaryOperatorAnalysisResult>.GetInstance();
773ArrayBuilder<UnaryOperatorSignature> operators)
781var operators2 = ArrayBuilder<UnaryOperatorSignature>.GetInstance();
809private static void GetDeclaredUserDefinedUnaryOperators(TypeSymbol? constrainedToTypeOpt, NamedTypeSymbol type, UnaryOperatorKind kind, string name, ArrayBuilder<UnaryOperatorSignature> operators)
811var typeOperators = ArrayBuilder<MethodSymbol>.GetInstance();
817private static void GetDeclaredUserDefinedUnaryOperators(TypeSymbol? constrainedToTypeOpt, IEnumerable<MethodSymbol> typeOperators, UnaryOperatorKind kind, string name, ArrayBuilder<UnaryOperatorSignature> operators)
839private void AddLiftedUserDefinedUnaryOperators(TypeSymbol? constrainedToTypeOpt, UnaryOperatorKind kind, ArrayBuilder<UnaryOperatorSignature> operators)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (96)
65private static bool AnyValidResult<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results)
79private static bool SingleValidResult<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results)
105var results = result.ResultsBuilder;
138ArrayBuilder<MethodSymbol> methods,
139ArrayBuilder<TypeWithAnnotations> typeArguments,
165ArrayBuilder<PropertySymbol> indexers,
175ArrayBuilder<TypeWithAnnotations> typeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
186ArrayBuilder<TMember> members,
187ArrayBuilder<TypeWithAnnotations> typeArguments,
198var results = result.ResultsBuilder;
226internal bool FilterMethodsForUniqueSignature(ArrayBuilder<MethodSymbol> methods, out bool useParams)
236var results = result.ResultsBuilder;
240var typeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance(0);
246var unreducedMethods = methods;
249unreducedMethods = ArrayBuilder<MethodSymbol>.GetInstance(methods.Count);
295var applicableMethods = ArrayBuilder<MethodSymbol>.GetInstance(methods.Count);
320private static bool OverloadResolutionResultIsValid<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, bool hasDynamicArgument)
352ArrayBuilder<MemberResolutionResult<TMember>> results,
353ArrayBuilder<TMember> members,
354ArrayBuilder<TypeWithAnnotations> typeArguments,
370Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMapOpt = null;
428ArrayBuilder<MemberResolutionResult<TMember>> results,
429ArrayBuilder<TMember> members,
430ArrayBuilder<TypeWithAnnotations> typeArguments,
494private static void RemoveHiddenMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results)
557ArrayBuilder<FunctionPointerMethodSymbol> funcPtrBuilder,
564var typeArgumentsBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance();
581ArrayBuilder<MemberResolutionResult<TMember>> results,
608private static void RemoveStaticInstanceMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, bool requireStatic) where TMember : Symbol
626private static void RemoveMethodsNotDeclaredStatic<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results) where TMember : Symbol
642private void RemoveConstraintViolations<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol
654FailsConstraintChecks(member, out ArrayBuilder<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt, template))
663private void RemoveCallingConventionMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, in CallingConventionInfo expectedConvention) where TMember : Symbol
792private bool FailsConstraintChecks<TMember>(TMember member, out ArrayBuilder<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol
801var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
802ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
848ArrayBuilder<MemberResolutionResult<TMember>> results,
900private static Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> PartitionMembersByContainingType<TMember>(ArrayBuilder<TMember> members) where TMember : Symbol
902Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMap = new Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>>();
907ArrayBuilder<TMember> builder;
910builder = ArrayBuilder<TMember>.GetInstance();
918private static void ClearContainingTypeMap<TMember>(ref Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMapOpt) where TMember : Symbol
922foreach (ArrayBuilder<TMember> builder in containingTypeMapOpt.Values)
930private void AddConstructorToCandidateSet(MethodSymbol constructor, ArrayBuilder<MemberResolutionResult<MethodSymbol>> results,
1058ArrayBuilder<MemberResolutionResult<TMember>> results,
1059ArrayBuilder<TMember> members,
1060ArrayBuilder<TypeWithAnnotations> typeArguments,
1063Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMapOpt,
1133ArrayBuilder<TMember> others = pair.Value;
1416ArrayBuilder<TMember> members,
1443private static bool MemberGroupHidesByName<TMember>(ArrayBuilder<TMember> members, TMember member, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1477private void RemoveInaccessibleTypeArguments<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1503private static void RemoveLessDerivedMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1626private static bool IsLessDerivedThanAny<TMember>(int index, TypeSymbol type, ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1669private static void RemoveAllInterfaceMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results)
1745ArrayBuilder<MemberResolutionResult<MethodSymbol>> results,
1787private static void ReportUseSiteInfo<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1796private int GetTheBestCandidateIndex<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1856private void RemoveLowerPriorityMembers<TMemberResolution, TMember>(ArrayBuilder<TMemberResolution> results)
1885var inapplicableMembers = ArrayBuilder<TMemberResolution>.GetInstance();
1948private void RemoveWorseMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1997var worse = ArrayBuilder<int>.GetInstance(results.Count, unknown);
2098ArrayBuilder<BoundExpression> arguments,
2137ArrayBuilder<BoundExpression> arguments,
2615ArrayBuilder<BoundExpression> arguments,
2718private static void GetParameterCounts<TMember>(MemberResolutionResult<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol
3347var returnStatements = ArrayBuilder<BoundReturnStatement>.GetInstance();
3414private readonly ArrayBuilder<BoundReturnStatement> _returns;
3416public ReturnStatements(ArrayBuilder<BoundReturnStatement> returns)
3854ArrayBuilder<RefKind> argumentRefKinds,
3893ArrayBuilder<RefKind> argumentRefKinds,
3924var types = ArrayBuilder<TypeWithAnnotations>.GetInstance();
3925ArrayBuilder<RefKind> refs = null;
3946refs = ArrayBuilder<RefKind>.GetInstance(arg, RefKind.None);
4043ArrayBuilder<RefKind> argumentRefKinds,
4054ArrayBuilder<RefKind> argumentRefKinds,
4061var types = ArrayBuilder<TypeWithAnnotations>.GetInstance();
4062var refs = ArrayBuilder<RefKind>.GetInstance();
4110ArrayBuilder<TypeWithAnnotations> typeArguments,
4188ArrayBuilder<TypeWithAnnotations> typeArguments,
4251ArrayBuilder<TypeWithAnnotations> typeArgumentsBuilder,
4547ArrayBuilder<Conversion> conversions = null;
4660conversions = ArrayBuilder<Conversion>.GetInstance(paramCount);
BoundTree\UnboundLambda.cs (26)
153var returnTypes = ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>.GetInstance();
197internal static InferredLambdaReturnType InferReturnType(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> returnTypes,
204internal static InferredLambdaReturnType InferReturnType(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> returnTypes,
214private static InferredLambdaReturnType InferReturnTypeImpl(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> returnTypes,
217var types = ArrayBuilder<(BoundExpression expr, TypeWithAnnotations resultType, bool isChecked)>.GetInstance();
261ArrayBuilder<(BoundExpression expr, TypeWithAnnotations resultType, bool isChecked)> returns,
355private readonly ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> _builder;
357private BlockReturns(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> builder)
362public static void GetReturnTypes(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> builder, BoundBlock block)
690internal (ImmutableArray<RefKind>, ArrayBuilder<ScopedKind>, ImmutableArray<TypeWithAnnotations>, bool) CollectParameterProperties()
692var parameterRefKindsBuilder = ArrayBuilder<RefKind>.GetInstance(ParameterCount);
693var parameterScopesBuilder = ArrayBuilder<ScopedKind>.GetInstance(ParameterCount);
694var parameterTypesBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(ParameterCount);
761var returnTypes = ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>.GetInstance();
1006var returnTypes = ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>.GetInstance();
1169var typesBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(parameterCount);
1170var refKindsBuilder = ArrayBuilder<RefKind>.GetInstance(parameterCount);
Compilation\CSharpSemanticModel.cs (37)
1652var results = ArrayBuilder<ISymbol>.GetInstance(info.Count);
1714private void AppendSymbolsWithName(ArrayBuilder<ISymbol> results, string name, Binder binder, NamespaceOrTypeSymbol container, LookupOptions options, LookupSymbolsInfo info)
1748ArrayBuilder<ISymbol> results,
1892Constraint = "Provide " + nameof(ArrayBuilder<Symbol>) + " capacity to reduce number of allocations.")]
1975var builder = ArrayBuilder<Symbol>.GetInstance(symbols.Count);
2012private static void AddUnwrappingErrorTypes(ArrayBuilder<Symbol> builder, Symbol s)
2387ArrayBuilder<Symbol> builder = ArrayBuilder<Symbol>.GetInstance();
3643var builder = ArrayBuilder<Symbol>.GetInstance();
4124var symbols = ArrayBuilder<ISymbol>.GetInstance();
4139private static ImmutableArray<IPropertySymbol> FilterOverriddenOrHiddenIndexers(ArrayBuilder<ISymbol> symbols)
4172var builder = ArrayBuilder<IPropertySymbol>.GetInstance();
4547var symbols = ArrayBuilder<ISymbol>.GetInstance();
4594var members = ArrayBuilder<Symbol>.GetInstance();
4595var filteredMembers = ArrayBuilder<Symbol>.GetInstance();
4659var singleLookupResults = ArrayBuilder<SingleLookupResult>.GetInstance();
4701ArrayBuilder<Symbol> members,
4702ArrayBuilder<Symbol> filteredMembers,
4727ArrayBuilder<Symbol> members,
4728ArrayBuilder<Symbol> filteredMembers,
4792var methodBuilder = ArrayBuilder<Symbol>.GetInstance();
4793var filteredMethodBuilder = ArrayBuilder<Symbol>.GetInstance();
5315internal override void ComputeDeclarationsInSpan(TextSpan span, bool getSymbol, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken)
5320internal override void ComputeDeclarationsInNode(SyntaxNode node, ISymbol associatedSymbol, bool getSymbol, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken, int? levelsToCompute = null)
5476var builder = ArrayBuilder<IImportScope>.GetInstance();
Emitter\Model\PEModuleBuilder.cs (33)
222var typesToProcess = ArrayBuilder<Cci.ITypeDefinition>.GetInstance();
223var debugDocuments = ArrayBuilder<Cci.DebugSourceDocument>.GetInstance();
226var namespacesAndTopLevelTypesToProcess = ArrayBuilder<NamespaceOrTypeSymbol>.GetInstance();
306private static void GetDocumentsForMethodsAndNestedTypes(PooledHashSet<Cci.DebugSourceDocument> documentList, ArrayBuilder<Cci.ITypeDefinition> typesToProcess, EmitContext context)
581private static void GetExportedTypes(NamespaceOrTypeSymbol symbol, int parentIndex, ArrayBuilder<Cci.ExportedType> builder)
622var groupingTypes = ArrayBuilder<PENamedTypeSymbol>.GetInstance();
635private static ArrayBuilder<PENamedTypeSymbol> GetNestedExtensionGroupingTypes(PENamedTypeSymbol symbol, ArrayBuilder<PENamedTypeSymbol> groupingTypes)
682var builder = ArrayBuilder<Cci.ExportedType>.GetInstance();
703internal static HashSet<NamedTypeSymbol> GetForwardedTypes(SourceAssemblySymbol sourceAssembly, ArrayBuilder<Cci.ExportedType>? builder, EmitContext? context)
792ArrayBuilder<Cci.ExportedType>? builder,
800var stack = ArrayBuilder<(NamedTypeSymbol type, int parentIndex)>.GetInstance();
839static void processTopItemFromStack(ArrayBuilder<(NamedTypeSymbol type, int parentIndex)> stack, EmitContext context, ArrayBuilder<Cci.ExportedType> builder)
867var groupingTypes = ArrayBuilder<PENamedTypeSymbol>.GetInstance();
927static void pushNestedTypes(ArrayBuilder<(NamedTypeSymbol type, int parentIndex)> stack, int index, ImmutableArray<NamedTypeSymbol> nested)
941static void pushAndProcessNestedTypes(ArrayBuilder<(NamedTypeSymbol type, int parentIndex)> stack, EmitContext context, int index, ImmutableArray<NamedTypeSymbol> nested, ArrayBuilder<Cci.ExportedType> builder)
1557var builder = ArrayBuilder<Cci.IParameterTypeInformation>.GetInstance();
1723var flagsBuilder = ArrayBuilder<byte>.GetInstance();
1812var builder = ArrayBuilder<bool>.GetInstance();
2249ArrayBuilder<NamedTypeSymbol> builder = ArrayBuilder<NamedTypeSymbol>.GetInstance(_inlineArrayTypes.Count + _readOnlyListTypes.Length);
FlowAnalysis\NullableWalker.cs (104)
229private ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>? _returnTypesOpt;
272/// The delegate is invoked by <see cref="VisitConversion(BoundConversion, BoundExpression, Conversion, TypeWithAnnotations, TypeWithState, bool, bool, bool, AssignmentKind, ParameterSymbol, bool, bool, bool, bool, Optional<LocalState>,bool, int, Location, ArrayBuilder<VisitResult>)"/>.
491ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>? returnTypesOpt,
992var builder = ArrayBuilder<Symbol>.GetInstance(members.Length + baseRequiredMembers.Count);
1803ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>? returnTypesOpt,
1852ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)>? returnTypesOpt,
2870var members = ArrayBuilder<(VariableIdentifier, int)>.GetInstance();
2930var members = ArrayBuilder<(VariableIdentifier, int)>.GetInstance();
3253var localFuncs = ArrayBuilder<BoundLocalFunctionStatement?>.GetInstance();
3434var oldReturnTypes = _returnTypesOpt;
3911var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
3912var elementConversionCompletions = ArrayBuilder<Action<TypeWithAnnotations /*targetElementType*/, TypeSymbol /*targetCollectionType*/>>.GetInstance();
4049void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> elementConversionCompletions)
4144ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> completions)
4891var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
5071var expressions = ArrayBuilder<BoundExpression>.GetInstance(initialization.Initializers.Length);
5096var expressionsNoConversions = ArrayBuilder<BoundExpression>.GetInstance(n);
5097var conversions = ArrayBuilder<Conversion>.GetInstance(n);
5098var expressionTypes = ArrayBuilder<TypeWithState>.GetInstance(n);
5099var placeholderBuilder = ArrayBuilder<BoundExpression>.GetInstance(n);
5203ArrayBuilder<(BoundExpression expr, TypeWithAnnotations resultType, bool isChecked)> returns,
5226var resultTypes = ArrayBuilder<TypeWithAnnotations>.GetInstance(n);
5227var placeholdersBuilder = ArrayBuilder<BoundExpression>.GetInstance(n);
5268private static void GetArrayElements(BoundArrayInitialization node, ArrayBuilder<BoundExpression> builder)
5386protected override void VisitBinaryOperatorChildren(ArrayBuilder<BoundBinaryOperator> stack)
5842var slotBuilder = ArrayBuilder<int>.GetInstance();
5872private void GetSlotsToMarkAsNotNullable(BoundExpression operand, ArrayBuilder<int> slotBuilder)
5958private void MarkSlotsAsNotNull(ArrayBuilder<int> slots, ref LocalState stateToUpdate)
5983var slotBuilder = ArrayBuilder<int>.GetInstance();
6743var calls = ArrayBuilder<BoundCall>.GetInstance();
7018var builder = ArrayBuilder<RefKind>.GetInstance(argumentCount + 1, fillWithValue: RefKind.None);
7048var builder = ArrayBuilder<int>.GetInstance(argsToParamsOpt.Length + 1);
7614var notNullParametersBuilder = parameterHasNotNullIfNotNull ? ArrayBuilder<ParameterSymbol>.GetInstance() : null;
7615var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7808var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(arguments.Length + elements.Length - 1);
7816var argsToParamsBuilder = ArrayBuilder<int>.GetInstance(argsToParamsOpt.Length + elements.Length - 1);
7825var refKindsBuilder = ArrayBuilder<RefKind>.GetInstance(refKindsOpt.Length + elements.Length - 1);
8037var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8158ArrayBuilder<VisitResult>? conversionResultsBuilder,
8295ArrayBuilder<ParameterSymbol>? notNullParametersOpt,
8386FlowAnalysisAnnotations notNullBasedOnParameters(FlowAnalysisAnnotations parameterAnnotations, ArrayBuilder<ParameterSymbol>? notNullParametersOpt, ParameterSymbol parameter)
8574var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(n);
8575var conversionsBuilder = ArrayBuilder<Conversion>.GetInstance(n);
8660var refKinds = ArrayBuilder<RefKind>.GetInstance();
8817var builder = ArrayBuilder<BoundExpression>.GetInstance(n);
8846var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
8904var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
8905var nullabilityBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
8906ArrayBuilder<TypeParameterDiagnosticInfo>? useSiteDiagnosticsBuilder = null;
8935var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
8936var nullabilityBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
8937ArrayBuilder<TypeParameterDiagnosticInfo>? useSiteDiagnosticsBuilder = null;
9781ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
11031var arguments = ArrayBuilder<BoundExpression>.GetInstance();
11344var variables = GetDeconstructionAssignmentVariables(left);
11368private void VisitDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, Conversion conversion, BoundExpression right, TypeWithState? rightResultOpt = null)
11382private void VisitDeconstructMethodArguments(ArrayBuilder<DeconstructionVariable> variables, Conversion conversion, BoundExpression right, TypeWithState? rightResultOpt)
11414ArrayBuilder<BoundExpression> placeholderArgs = ArrayBuilder<BoundExpression>.GetInstance(n + 1);
11451var nestedVariables = variable.NestedVariables;
11469var nestedVariables = variable.NestedVariables;
11481private void VisitTupleDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, ImmutableArray<(BoundValuePlaceholder? placeholder, BoundExpression? conversion)> deconstructConversionInfo, BoundExpression right, TypeWithState? rightResultOpt)
11493var nestedVariables = variable.NestedVariables;
11569internal readonly ArrayBuilder<DeconstructionVariable>? NestedVariables;
11578internal DeconstructionVariable(BoundExpression expression, ArrayBuilder<DeconstructionVariable> nestedVariables)
11586private ArrayBuilder<DeconstructionVariable> GetDeconstructionAssignmentVariables(BoundTupleExpression tuple)
11589var builder = ArrayBuilder<DeconstructionVariable>.GetInstance(arguments.Length);
12824protected override void VisitBinaryLogicalOperatorChildren(ArrayBuilder<BoundExpression> stack)
Lowering\ClosureConversion\ClosureConversion.cs (59)
105private readonly ArrayBuilder<EncLambdaInfo> _lambdaDebugInfoBuilder;
106private readonly ArrayBuilder<LambdaRuntimeRudeEditInfo> _lambdaRuntimeRudeEditsBuilder;
133private ArrayBuilder<LocalSymbol> _addedLocals;
137private ArrayBuilder<BoundStatement> _addedStatements;
143private ArrayBuilder<TypeCompilationState.MethodWithBody> _synthesizedMethods;
168ArrayBuilder<EncLambdaInfo> lambdaDebugInfoBuilder,
169ArrayBuilder<LambdaRuntimeRudeEditInfo> lambdaRuntimeRudeEditsBuilder,
238ArrayBuilder<EncLambdaInfo> lambdaDebugInfoBuilder,
239ArrayBuilder<LambdaRuntimeRudeEditInfo> lambdaRuntimeRudeEditsBuilder,
240ArrayBuilder<EncClosureInfo> closureDebugInfoBuilder,
343private void SynthesizeClosureEnvironments(ArrayBuilder<EncClosureInfo> closureDebugInfo)
486var environments = ArrayBuilder<SynthesizedClosureEnvironment>.GetInstance();
640private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode
664private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F)
677var prologue = ArrayBuilder<BoundExpression>.GetInstance();
726var addedLocals = ArrayBuilder<LocalSymbol>.GetInstance();
749private void InitVariableProxy(SyntaxNode syntax, Symbol symbol, LocalSymbol framePointer, ArrayBuilder<BoundExpression> prologue)
895var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(loweredSymbol.ParameterCount);
920var refkindsBuilder = ArrayBuilder<RefKind>.GetInstance(argumentsBuilder.Count);
989var builder = ArrayBuilder<TypeWithAnnotations>.GetInstance(typeArguments.Length);
1139private BoundSequence RewriteSequence(BoundSequence node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1160return IntroduceFrame(node, frame, (ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) =>
1165return RewriteBlock(node, ArrayBuilder<BoundExpression>.GetInstance(), ArrayBuilder<LocalSymbol>.GetInstance());
1169private BoundBlock RewriteBlock(BoundBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1173var newStatements = ArrayBuilder<BoundStatement>.GetInstance();
1222return IntroduceFrame(node, frame, (ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) =>
1229return RewriteCatch(node, ArrayBuilder<BoundExpression>.GetInstance(), ArrayBuilder<LocalSymbol>.GetInstance());
1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1260var prologueBuilder = ArrayBuilder<BoundStatement>.GetInstance(prologue.Count);
1296return IntroduceFrame(node, frame, (ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) =>
1303return RewriteSequence(node, ArrayBuilder<BoundExpression>.GetInstance(), ArrayBuilder<LocalSymbol>.GetInstance());
1313return IntroduceFrame(node, frame, (ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) =>
1315var newStatements = ArrayBuilder<BoundStatement>.GetInstance();
1566var oldAddedStatements = _addedStatements;
1567var oldAddedLocals = _addedLocals;
1612_synthesizedMethods = ArrayBuilder<TypeCompilationState.MethodWithBody>.GetInstance();
1724if (_addedLocals == null) _addedLocals = ArrayBuilder<LocalSymbol>.GetInstance();
1726if (_addedStatements == null) _addedStatements = ArrayBuilder<BoundStatement>.GetInstance();
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (21)
32protected abstract ArrayBuilder<BoundStatement> BuilderForSection(SyntaxNode section);
38private ArrayBuilder<BoundStatement> _loweredDecisionDag;
340ArrayBuilder<BoundStatement> result,
371_loweredDecisionDag = ArrayBuilder<BoundStatement>.GetInstance();
589var cases = ArrayBuilder<(ConstantValue value, LabelSymbol label)>.GetInstance();
646var whenTrueBuilder = ArrayBuilder<(ConstantValue value, LabelSymbol label)>.GetInstance();
647var whenFalseBuilder = ArrayBuilder<(ConstantValue value, LabelSymbol label)>.GetInstance();
1010var whenExpressionMap = PooledDictionary<BoundExpression, (LabelSymbol LabelToWhenExpression, ArrayBuilder<BoundWhenDecisionDagNode> WhenNodes)>.GetInstance();
1028var list = ArrayBuilder<BoundWhenDecisionDagNode>.GetInstance();
1071ArrayBuilder<BoundStatement> sectionBuilder = BuilderForSection(whenNode.Syntax);
1087void lowerWhenExpressionIfShared(BoundExpression whenExpression, LabelSymbol labelToWhenExpression, ArrayBuilder<BoundWhenDecisionDagNode> whenNodes)
1102ArrayBuilder<BoundStatement> sectionBuilder = BuilderForSection(whenClauseSyntax);
1107var whenFalseSwitchSections = ArrayBuilder<SyntheticSwitchSection>.GetInstance();
1131void addConditionalGoto(BoundExpression whenExpression, SyntaxNode whenClauseSyntax, LabelSymbol whenTrueLabel, ArrayBuilder<BoundStatement> sectionBuilder)
1163ArrayBuilder<BoundStatement> sectionBuilder = BuilderForSection(whenClause.Syntax);
1185void lowerBindings(ImmutableArray<BoundPatternBinding> bindings, ArrayBuilder<BoundStatement> sectionBuilder)
Lowering\LocalRewriter\LocalRewriter_Call.cs (43)
141ref ArrayBuilder<LocalSymbol> temps,
169var typeArgumentsBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance();
345var calls = ArrayBuilder<BoundCall>.GetInstance();
394ArrayBuilder<LocalSymbol>? temps = null;
669ArrayBuilder<BoundExpression>? storesOpt,
670ref ArrayBuilder<LocalSymbol>? tempsOpt,
734tempsOpt ??= ArrayBuilder<LocalSymbol>.GetInstance();
747var visitedArgumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(arguments.Length);
751var saveTempsOpt = tempsOpt;
834void ensureTempTrackingSetup([NotNull] ref ArrayBuilder<LocalSymbol>? tempsOpt, ref BitVector positionsAssignedToTemp)
836tempsOpt ??= ArrayBuilder<LocalSymbol>.GetInstance();
846ArrayBuilder<BoundExpression> visitedArgumentsBuilder,
849ref ArrayBuilder<LocalSymbol>? tempsOpt,
992private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps)
1065[NotNull] ref ArrayBuilder<LocalSymbol>? temps,
1077temps ??= ArrayBuilder<LocalSymbol>.GetInstance();
1146ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
1147ArrayBuilder<RefKind> refKinds = ArrayBuilder<RefKind>.GetInstance(parameters.Length, RefKind.None);
1219ArrayBuilder<RefKind>? refKindsBuilder = null;
1242static void fillRefKindsBuilder(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<ParameterSymbol> parameters, [NotNull] ref ArrayBuilder<RefKind>? refKindsBuilder)
1249refKindsBuilder = ArrayBuilder<RefKind>.GetInstance(parameters.Length);
1254refKindsBuilder = ArrayBuilder<RefKind>.GetInstance(parameters.Length, fillWithValue: RefKind.None);
1341private static ImmutableArray<RefKind> GetRefKindsOrNull(ArrayBuilder<RefKind> refKinds)
1360ArrayBuilder<BoundExpression>? elementsBuilder = null;
1371elementsBuilder = ArrayBuilder<BoundExpression>.GetInstance(elements.Length);
1407/* out */ ArrayBuilder<RefKind> refKinds,
1408/* out */ ArrayBuilder<BoundAssignmentOperator> storesToTemps)
1440(LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg = (rewriter: this, forceLambdaSpilling, storesToTemps);
1443static (BoundExpression element, ref (LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg) =>
1460private BoundExpression StoreArgumentToTempIfNecessary(bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps, BoundExpression argument, RefKind argRefKind, RefKind paramRefKind)
1539ArrayBuilder<BoundAssignmentOperator> storesToTemps,
1540ArrayBuilder<LocalSymbol> temporariesBuilder)
1569ArrayBuilder<BoundAssignmentOperator> tempStores)
1597(ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg = (tempStores, tempsRemainedInUse, firstUnclaimedStore);
1600static (BoundExpression element, ref (ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg) =>
1615static BoundExpression mergeArgumentAndSideEffect(BoundExpression argument, ArrayBuilder<BoundAssignmentOperator> tempStores, ref int tempsRemainedInUse, ref int firstUnclaimedStore)
1687ArrayBuilder<RefKind> argsRefKindsBuilder,
1688ArrayBuilder<LocalSymbol> temporariesBuilder)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (29)
431var sideEffects = ArrayBuilder<BoundExpression>.GetInstance(elements.Length + 1);
678var sideEffects = ArrayBuilder<BoundExpression>.GetInstance();
866var localsBuilder = ArrayBuilder<BoundLocal>.GetInstance();
867var sideEffects = ArrayBuilder<BoundExpression>.GetInstance();
902addElement: (ArrayBuilder<BoundExpression> expressions, BoundExpression arrayTemp, BoundExpression rewrittenValue, bool isLastElement) =>
944tryOptimizeSpreadElement: (ArrayBuilder<BoundExpression> sideEffects, BoundExpression arrayTemp, BoundCollectionExpressionSpreadElement spreadElement, BoundExpression rewrittenSpreadOperand) =>
1114ArrayBuilder<BoundExpression> sideEffects,
1115ArrayBuilder<BoundLocal> localsBuilder,
1166var localsBuilder = ArrayBuilder<BoundLocal>.GetInstance();
1167var sideEffects = ArrayBuilder<BoundExpression>.GetInstance(elements.Length + 1);
1273addElement: (ArrayBuilder<BoundExpression> expressions, BoundExpression spanTemp, BoundExpression rewrittenValue, bool isLastElement) =>
1315tryOptimizeSpreadElement: (ArrayBuilder<BoundExpression> sideEffects, BoundExpression spanTemp, BoundCollectionExpressionSpreadElement spreadElement, BoundExpression rewrittenSpreadOperand) =>
1337addElement: (ArrayBuilder<BoundExpression> expressions, BoundExpression listTemp, BoundExpression rewrittenValue, bool isLastElement) =>
1343tryOptimizeSpreadElement: (ArrayBuilder<BoundExpression> sideEffects, BoundExpression listTemp, BoundCollectionExpressionSpreadElement spreadElement, BoundExpression rewrittenSpreadOperand) =>
1382ArrayBuilder<BoundLocal> locals,
1383ArrayBuilder<BoundExpression> sideEffects)
1398ArrayBuilder<BoundLocal> rewrittenExpressions,
1400ArrayBuilder<BoundExpression> sideEffects,
1401Action<ArrayBuilder<BoundExpression>, BoundExpression, BoundExpression, bool> addElement,
1402Func<ArrayBuilder<BoundExpression>, BoundExpression, BoundCollectionExpressionSpreadElement, BoundExpression, bool> tryOptimizeSpreadElement)
1422var builder = ArrayBuilder<BoundExpression>.GetInstance();
1441private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (34)
85var temps = ArrayBuilder<LocalSymbol>.GetInstance();
86var stores = ArrayBuilder<BoundExpression>.GetInstance();
118var eventTemps = ArrayBuilder<LocalSymbol>.GetInstance();
119var sequence = ArrayBuilder<BoundExpression>.GetInstance();
261private BoundExpression? TransformPropertyOrEventReceiver(Symbol propertyOrEvent, BoundExpression? receiverOpt, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
351private BoundDynamicMemberAccess TransformDynamicMemberAccess(BoundDynamicMemberAccess memberAccess, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
368private BoundIndexerAccess TransformIndexerAccess(BoundIndexerAccess indexerAccess, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
439ArrayBuilder<BoundExpression> stores,
440ArrayBuilder<LocalSymbol> temps)
477ArrayBuilder<BoundExpression> stores,
478ArrayBuilder<LocalSymbol> temps)
482ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
483ArrayBuilder<RefKind> refKinds = ArrayBuilder<RefKind>.GetInstance(parameters.Length, RefKind.None);
539ArrayBuilder<BoundExpression> stores,
540ArrayBuilder<LocalSymbol> temps,
554private BoundExpression TransformIndexPatternIndexerAccess(BoundImplicitIndexerAccess implicitIndexerAccess, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps, bool isDynamicAssignment)
590private bool TransformCompoundAssignmentFieldOrEventAccessReceiver(Symbol fieldOrEvent, ref BoundExpression? receiver, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
633private BoundDynamicIndexerAccess TransformDynamicIndexerAccess(BoundDynamicIndexerAccess indexerAccess, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
692private BoundExpression TransformCompoundAssignmentLHS(BoundExpression originalLHS, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps, bool isDynamicAssignment)
910ArrayBuilder<BoundExpression> stores,
911ArrayBuilder<LocalSymbol> temps)
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (39)
39var lhsTemps = ArrayBuilder<LocalSymbol>.GetInstance();
40var lhsEffects = ArrayBuilder<BoundExpression>.GetInstance();
41ArrayBuilder<Binder.DeconstructionVariable> lhsTargets = GetAssignmentTargetsAndSideEffects(left, lhsTemps, lhsEffects);
56ArrayBuilder<Binder.DeconstructionVariable> lhsTargets,
77var temps = ArrayBuilder<LocalSymbol>.GetInstance();
152static bool canReorderTargetAssignments(ArrayBuilder<Binder.DeconstructionVariable> targets, ref PooledHashSet<Symbol>? visitedSymbols)
211ArrayBuilder<Binder.DeconstructionVariable> leftTargets,
214ArrayBuilder<LocalSymbol> temps,
226var builder = isUsed ? ArrayBuilder<BoundExpression>.GetInstance(leftTargets.Count) : null;
278ArrayBuilder<LocalSymbol> temps, DeconstructionSideEffects effects, ref bool inInit)
334private ImmutableArray<BoundExpression> AccessTupleFields(BoundExpression expression, ArrayBuilder<LocalSymbol> temps,
335ArrayBuilder<BoundExpression> effects)
361var builder = ArrayBuilder<BoundExpression>.GetInstance(numElements);
371ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects)
382ArrayBuilder<BoundExpression> effects, ArrayBuilder<LocalSymbol> temps)
387var outLocals = ArrayBuilder<BoundExpression>.GetInstance(outputPlaceholders.Length);
420ArrayBuilder<BoundExpression> effects,
421ArrayBuilder<LocalSymbol> temps)
443private ArrayBuilder<Binder.DeconstructionVariable> GetAssignmentTargetsAndSideEffects(BoundTupleExpression variables, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects)
445var assignmentTargets = ArrayBuilder<Binder.DeconstructionVariable>.GetInstance(variables.Arguments.Length);
475internal ArrayBuilder<BoundExpression> init = null!;
476internal ArrayBuilder<BoundExpression> deconstructions = null!;
477internal ArrayBuilder<BoundExpression> conversions = null!;
478internal ArrayBuilder<BoundExpression> assignments = null!;
483result.init = ArrayBuilder<BoundExpression>.GetInstance();
484result.deconstructions = ArrayBuilder<BoundExpression>.GetInstance();
485result.conversions = ArrayBuilder<BoundExpression>.GetInstance();
486result.assignments = ArrayBuilder<BoundExpression>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (25)
161ArrayBuilder<LocalSymbol>? temps = null;
163ArrayBuilder<BoundExpression>? storesOpt = null;
175storesOpt = ArrayBuilder<BoundExpression>.GetInstance();
290var localsBuilder = ArrayBuilder<LocalSymbol>.GetInstance();
291var sideEffectsBuilder = ArrayBuilder<BoundExpression>.GetInstance();
495var locals = ArrayBuilder<LocalSymbol>.GetInstance(2);
496var sideeffects = ArrayBuilder<BoundExpression>.GetInstance(2);
515ArrayBuilder<BoundExpression> sideeffects,
516ArrayBuilder<LocalSymbol> locals)
798var localsBuilder = ArrayBuilder<LocalSymbol>.GetInstance();
799var sideEffectsBuilder = ArrayBuilder<BoundExpression>.GetInstance();
809private BoundExpression VisitRangePatternIndexerAccess(BoundImplicitIndexerAccess node, ArrayBuilder<LocalSymbol> localsBuilder, ArrayBuilder<BoundExpression> sideEffectsBuilder, bool cacheAllArgumentsOnly)
855var argumentsBuilder = ArrayBuilder<BoundExpression>.GetInstance(2);
1036private BoundExpression MakeRangeSize(ref BoundExpression startExpr, BoundExpression endExpr, ArrayBuilder<LocalSymbol> localsBuilder, ArrayBuilder<BoundExpression> sideEffectsBuilder)
1067private void DeconstructRange(BoundExpression rewrittenRangeArg, BoundExpression lengthAccess, ArrayBuilder<LocalSymbol> localsBuilder, ArrayBuilder<BoundExpression> sideEffectsBuilder, out BoundExpression startExpr, out BoundExpression rangeSizeExpr)
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (36)
32ref ArrayBuilder<BoundExpression>? dynamicSiteInitializers,
33ref ArrayBuilder<LocalSymbol>? temps,
34ArrayBuilder<BoundExpression> result,
76var result = ArrayBuilder<BoundExpression>.GetInstance();
84void addCollectionInitializersForExpressionTree(ArrayBuilder<BoundExpression> result, ImmutableArray<BoundExpression> initializers)
127private void AddCollectionInitializers(ArrayBuilder<BoundExpression> result, BoundExpression rewrittenReceiver, ImmutableArray<BoundExpression> initializers)
208var builder = ArrayBuilder<RefKind>.GetInstance(addMethod.Parameters.Length, RefKind.None);
214ArrayBuilder<LocalSymbol>? temps = null;
245private BoundExpression VisitObjectInitializerMember(BoundObjectInitializerMember node, ref BoundExpression rewrittenReceiver, ArrayBuilder<BoundExpression> sideEffects, ref ArrayBuilder<LocalSymbol>? temps)
253ArrayBuilder<LocalSymbol>? constructionTemps = null;
283ref ArrayBuilder<BoundExpression>? dynamicSiteInitializers,
284ref ArrayBuilder<LocalSymbol>? temps,
285ArrayBuilder<BoundExpression> result,
303ref ArrayBuilder<BoundExpression>? dynamicSiteInitializers,
304ref ArrayBuilder<LocalSymbol>? temps,
305ArrayBuilder<BoundExpression> result,
364dynamicSiteInitializers = ArrayBuilder<BoundExpression>.GetInstance();
414dynamicSiteInitializers = ArrayBuilder<BoundExpression>.GetInstance();
457temps ??= ArrayBuilder<LocalSymbol>.GetInstance();
493temps = ArrayBuilder<LocalSymbol>.GetInstance();
515temps ??= ArrayBuilder<LocalSymbol>.GetInstance();
568void addIndexes(ArrayBuilder<BoundExpression> result, BoundAssignmentOperator assignment)
623ArrayBuilder<BoundExpression> sideeffects,
624ref ArrayBuilder<LocalSymbol>? temps)
626ArrayBuilder<BoundExpression>? newArgs = null;
638(LocalRewriter rewriter, ArrayBuilder<BoundExpression> sideeffects, ArrayBuilder<LocalSymbol>? temps) elementArg = (rewriter: this, sideeffects, temps);
641static (BoundExpression element, ref (LocalRewriter rewriter, ArrayBuilder<BoundExpression> sideeffects, ArrayBuilder<LocalSymbol>? temps) elementArg) =>
655newArgs = ArrayBuilder<BoundExpression>.GetInstance(args.Length);
670private BoundExpression EvaluateSideEffects(BoundExpression arg, RefKind refKind, ArrayBuilder<BoundExpression> sideeffects, ref ArrayBuilder<LocalSymbol>? temps)
679temps = ArrayBuilder<LocalSymbol>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (14)
28ArrayBuilder<BoundExpression> arguments;
36arguments = ArrayBuilder<BoundExpression>.GetInstance();
58CollectAndVisitConcatArguments(originalOperator, visitedCompoundAssignmentLeftRead: null, out var arguments);
72private BoundExpression CreateStringConcat(SyntaxNode originalSyntax, ArrayBuilder<BoundExpression> visitedArguments)
205/// <see cref="CreateStringConcat(SyntaxNode, ArrayBuilder{BoundExpression})"/> and performs any optimizations on the arguments that can be done. This
208private void CollectAndVisitConcatArguments(BoundBinaryOperator originalOperator, BoundExpression? visitedCompoundAssignmentLeftRead, out ArrayBuilder<BoundExpression> destinationArguments)
211destinationArguments = ArrayBuilder<BoundExpression>.GetInstance();
234static void pushArguments(LocalRewriter self, BoundBinaryOperator binaryOperator, ArrayBuilder<BoundExpression> arguments, ref WellKnownConcatRelatedMethods concatMethods)
355private void VisitAndAddConcatArgumentInReverseOrder(BoundExpression argument, bool argumentAlreadyVisited, ArrayBuilder<BoundExpression> finalArguments, ref WellKnownConcatRelatedMethods wellKnownConcatOptimizationMethods)
514ArrayBuilder<BoundExpression> args)
516var localsBuilder = ArrayBuilder<LocalSymbol>.GetInstance();
580var stack = ArrayBuilder<BoundBinaryOperator>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (32)
31var initEffects = ArrayBuilder<BoundExpression>.GetInstance();
32var temps = ArrayBuilder<LocalSymbol>.GetInstance();
64var builder = ArrayBuilder<BoundExpression>.GetInstance(tuple.Arguments.Length);
101ArrayBuilder<BoundExpression> initEffects,
102ArrayBuilder<LocalSymbol> temps)
113var fieldAccessorsBuilder = ArrayBuilder<BoundExpression>.GetInstance(numElements);
144ArrayBuilder<BoundExpression> initEffects,
145ArrayBuilder<LocalSymbol> temps)
155var builder = ArrayBuilder<BoundExpression>.GetInstance(tuple.Arguments.Length);
185ArrayBuilder<BoundExpression> effects,
186ArrayBuilder<LocalSymbol> temps,
252ArrayBuilder<LocalSymbol> temps, BinaryOperatorKind operatorKind)
272TypeSymbol boolType, ArrayBuilder<LocalSymbol> temps, BinaryOperatorKind operatorKind)
293var outerEffects = ArrayBuilder<BoundExpression>.GetInstance();
294var innerEffects = ArrayBuilder<BoundExpression>.GetInstance();
358private void MakeNullableParts(BoundExpression expr, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> innerEffects,
359ArrayBuilder<BoundExpression> outerEffects, bool saveHasValue, out BoundExpression hasValue, out BoundExpression value, out bool isNullable)
421private BoundLocal MakeTemp(BoundExpression loweredExpression, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects)
434ArrayBuilder<LocalSymbol> temps,
435ArrayBuilder<BoundExpression> effects)
454var argumentBuilder = ArrayBuilder<BoundExpression>.GetInstance(tupleCardinality);
491ArrayBuilder<LocalSymbol> temps, BinaryOperatorKind operatorKind)
Parser\Lexer_StringLiteral.cs (6)
288ArrayBuilder<Interpolation>? interpolations,
383ArrayBuilder<Interpolation>? interpolations,
654InterpolatedStringKind kind, int startingDollarSignCount, int startingQuoteCount, ArrayBuilder<Interpolation>? interpolations)
855private void HandleOpenBraceInContent(InterpolatedStringKind kind, int startingDollarSignCount, ArrayBuilder<Interpolation>? interpolations)
867private void HandleOpenBraceInNormalOrVerbatimContent(InterpolatedStringKind kind, ArrayBuilder<Interpolation>? interpolations)
896private void HandleOpenBraceInRawContent(InterpolatedStringKind kind, int startingDollarSignCount, ArrayBuilder<Interpolation>? interpolations)
Symbols\Compilation_WellKnownMembers.cs (21)
421var builder = new ArrayBuilder<KeyValuePair<string, TypedConstant>>(namedArguments.Length);
857var namesBuilder = ArrayBuilder<string?>.GetInstance();
870var namesBuilder = ArrayBuilder<string?>.GetInstance();
884internal static bool TryGetNames(TypeSymbol type, ArrayBuilder<string?> namesBuilder)
890private static bool AddNames(TypeSymbol type, ArrayBuilder<string?> namesBuilder)
921var flagsBuilder = ArrayBuilder<bool>.GetInstance();
933var builder = ArrayBuilder<bool>.GetInstance();
940var builder = ArrayBuilder<bool>.GetInstance();
945internal static void Encode(TypeSymbol type, int customModifiersCount, RefKind refKind, ArrayBuilder<bool> transformFlagsBuilder, bool addCustomModifierFlags)
967private static bool AddFlags(TypeSymbol type, ArrayBuilder<bool> transformFlagsBuilder, bool isNestedNamedType, bool addCustomModifierFlags)
1024static void handleFunctionPointerType(FunctionPointerTypeSymbol funcPtr, ArrayBuilder<bool> transformFlagsBuilder, bool addCustomModifierFlags)
1026Func<TypeSymbol, (ArrayBuilder<bool>, bool), bool, bool> visitor =
1027(TypeSymbol type, (ArrayBuilder<bool> builder, bool addCustomModifierFlags) param, bool isNestedNamedType) => AddFlags(type, param.builder, isNestedNamedType, param.addCustomModifierFlags);
1062private static void HandleCustomModifiers(int customModifiersCount, ArrayBuilder<bool> transformFlagsBuilder)
1071internal static void Encode(ArrayBuilder<bool> builder, TypeSymbol type)
1077private static bool AddFlags(TypeSymbol type, ArrayBuilder<bool> builder)
Symbols\ConstraintsHelper.cs (55)
80var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
81ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
135ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
136ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder,
152var constraintTypesBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance();
153var interfacesBuilder = ArrayBuilder<NamedTypeSymbol>.GetInstance();
423ArrayBuilder<TypeParameterConstraintClause> builder = null;
447builder = ArrayBuilder<TypeParameterConstraintClause>.GetInstance(constraintClauses.Length);
467ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder)
623var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
624var nullabilityDiagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
625var underlyingTupleTypeChain = ArrayBuilder<NamedTypeSymbol>.GetInstance();
631ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
649void populateDiagnosticsAndClear(ArrayBuilder<TypeParameterDiagnosticInfo> builder, BindingDiagnosticBag bag)
690var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
691ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
725var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
726ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
817var diagnosticsBuilder = ArrayBuilder<TypeParameterDiagnosticInfo>.GetInstance();
818ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder = null;
844ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
845ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
846ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder)
862ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
863ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
864ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder,
901ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
902ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
903ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder,
952ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
953ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
954ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder)
1059ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
1060ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
1061ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder,
1084var constraintTypes = ArrayBuilder<TypeWithAnnotations>.GetInstance();
1118static bool errorIfNotSatisfiesConstructorConstraint(Symbol containingSymbol, TypeParameterSymbol typeParameter, TypeWithAnnotations typeArgument, ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder)
1145ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt)
1169ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder,
1170ArrayBuilder<TypeParameterDiagnosticInfo> nullabilityDiagnosticsBuilderOpt,
1301ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder)
1338static ArrayBuilder<TypeParameterDiagnosticInfo> ensureUseSiteDiagnosticsBuilder(ref ArrayBuilder<TypeParameterDiagnosticInfo> useSiteDiagnosticsBuilder)
1455private static void AddInterfaces(ArrayBuilder<NamedTypeSymbol> builder, ImmutableArray<NamedTypeSymbol> interfaces)
1463private static void AddInterface(ArrayBuilder<NamedTypeSymbol> builder, NamedTypeSymbol @interface)
Symbols\NamedTypeSymbol.cs (28)
209internal void AddOperators(string name, ArrayBuilder<MethodSymbol> operators)
218internal static void AddOperators(ArrayBuilder<MethodSymbol> operators, ImmutableArray<Symbol> candidates)
229internal static void AddOperators(ArrayBuilder<MethodSymbol> operators, ArrayBuilder<Symbol> candidates)
289ArrayBuilder<MethodSymbol> constructors = ArrayBuilder<MethodSymbol>.GetInstance();
328ArrayBuilder<PropertySymbol> indexers = ArrayBuilder<PropertySymbol>.GetInstance();
352private void DoGetExtensionMethods(ArrayBuilder<Symbol> methods, string? nameOpt, int arity, LookupOptions options, PooledHashSet<MethodSymbol>? implementationsToShadow)
407internal void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ConsList<FieldSymbol> fieldsBeingBound)
438void doGetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ref PooledHashSet<MethodSymbol>? implementationsToShadow, ConsList<FieldSymbol> fieldsBeingBound)
1085internal override void AddNullableTransforms(ArrayBuilder<byte> transforms)
1103var allTypeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
1136var allTypeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
1172var allTypeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance();
1173var allTypeArguments = ArrayBuilder<TypeWithAnnotations>.GetInstance();
1203ArrayBuilder<TypeParameterSymbol> allTypeParameters,
1204ArrayBuilder<TypeWithAnnotations> allTypeArguments)
1453ArrayBuilder<TypeWithAnnotations> builder = ArrayBuilder<TypeWithAnnotations>.GetInstance();
1458internal void GetAllTypeArguments(ArrayBuilder<TypeWithAnnotations> builder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1469internal void GetAllTypeArgumentsNoUseSiteDiagnostics(ArrayBuilder<TypeWithAnnotations> builder)
1821var builder = ArrayBuilder<TypeSymbol>.GetInstance();
Symbols\Source\SourceMemberContainerSymbol.cs (83)
1349var symbols = ArrayBuilder<NamedTypeSymbol>.GetInstance();
1692dictionary.Add(pair.Key, pair.Value is ArrayBuilder<Symbol> arrayBuilder
2533var membersBuilder = ArrayBuilder<Symbol>.GetInstance(existingMembers.Length + newMembers.Length);
2534var membersUnorderedBuilder = ArrayBuilder<Symbol>.GetInstance(membersUnordered.Length + newMembers.Length);
2789var ops1 = ArrayBuilder<MethodSymbol>.GetInstance();
2794var ops2 = ArrayBuilder<MethodSymbol>.GetInstance();
2802var ops2 = ArrayBuilder<MethodSymbol>.GetInstance();
2826string operatorName1, ArrayBuilder<MethodSymbol> ops1)
2837ArrayBuilder<MethodSymbol> ops1,
2838ArrayBuilder<MethodSymbol> ops2,
2906var ops = ArrayBuilder<MethodSymbol>.GetInstance();
3197public ArrayBuilder<Symbol> NonTypeMembersWithPartialImplementations = ArrayBuilder<Symbol>.GetInstance();
3198public readonly ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> StaticInitializers = ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>>.GetInstance();
3199public readonly ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> InstanceInitializers = ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>>.GetInstance();
3242foreach (var group in StaticInitializers)
3248foreach (var group in InstanceInitializers)
3349private ArrayBuilder<Symbol>? NonTypeMembers;
3350private ArrayBuilder<FieldOrPropertyInitializer>? InstanceInitializersForPositionalMembers;
3407ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>> groupsBuilder;
3415var insertedInitializers = InstanceInitializersForPositionalMembers;
3424groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount);
3434groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount + 1);
3452InstanceInitializersForPositionalMembers = ArrayBuilder<FieldOrPropertyInitializer>.GetInstance();
3468NonTypeMembers = ArrayBuilder<Symbol>.GetInstance(declaredNonTypeMembers.Length + 1);
3475public void SetNonTypeMembers(ArrayBuilder<Symbol> members)
3498internal static ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> ToReadOnlyAndFree(ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> initializers)
3506var builder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(initializers.Count);
3507foreach (ArrayBuilder<FieldOrPropertyInitializer> group in initializers)
3640var nonTypeMembersBuilder = ArrayBuilder<Symbol>.GetInstance(nonTypeMembersWithPartialImplementations.Length);
3680ArrayBuilder<SynthesizedSimpleProgramEntryPointSymbol>? builder = null;
3688builder = ArrayBuilder<SynthesizedSimpleProgramEntryPointSymbol>.GetInstance();
3833ArrayBuilder<Symbol>? memberBuilder = null;
3844memberBuilder ??= ArrayBuilder<Symbol>.GetInstance(types.Length + 1);
4016ArrayBuilder<Symbol> nonTypeMembers,
4026if (pair.Value is ArrayBuilder<Symbol> arrayBuilder)
4141if (pair.Value is ArrayBuilder<Symbol> arrayBuilder)
4163static void mergePartialMethods(ArrayBuilder<Symbol> nonTypeMembers, SourceOrdinaryMethodSymbol currentMethod, SourceOrdinaryMethodSymbol prevMethod, BindingDiagnosticBag diagnostics)
4183static void mergePartialProperties(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertySymbol currentProperty, SourcePropertySymbol prevProperty, BindingDiagnosticBag diagnostics)
4207void mergeAccessors(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertyAccessorSymbol? currentAccessor, SourcePropertyAccessorSymbol? prevAccessor)
4232static void mergePartialConstructors(ArrayBuilder<Symbol> nonTypeMembers, SourceConstructorSymbol currentConstructor, SourceConstructorSymbol prevConstructor, BindingDiagnosticBag diagnostics)
4252static void mergePartialEvents(ArrayBuilder<Symbol> nonTypeMembers, SourceEventSymbol currentEvent, SourceEventSymbol prevEvent, BindingDiagnosticBag diagnostics)
4273static void mergeAccessors(ArrayBuilder<Symbol> nonTypeMembers, SourceEventAccessorSymbol? currentAccessor, SourceEventAccessorSymbol? prevAccessor)
4288private static void FixPartialMethod(ArrayBuilder<Symbol> nonTypeMembers, SourceOrdinaryMethodSymbol part1, SourceOrdinaryMethodSymbol part2)
4310private static void FixPartialProperty(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertySymbol part1, SourcePropertySymbol part2)
4338private static void FixPartialConstructor(ArrayBuilder<Symbol> nonTypeMembers, SourceConstructorSymbol part1, SourceConstructorSymbol part2)
4360private static void FixPartialEvent(ArrayBuilder<Symbol> nonTypeMembers, SourceEventSymbol part1, SourceEventSymbol part2)
4381private static void Remove(ArrayBuilder<Symbol> symbols, Symbol symbol)
4585private static void AddInitializer(ref ArrayBuilder<FieldOrPropertyInitializer>? initializers, FieldSymbol? fieldOpt, CSharpSyntaxNode node)
4589initializers = ArrayBuilder<FieldOrPropertyInitializer>.GetInstance();
4602ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> allInitializers,
4603ArrayBuilder<FieldOrPropertyInitializer>? siblingsOpt)
4730ArrayBuilder<Symbol> members,
4771foreach (var initializers in builder.InstanceInitializers)
4804var members = ArrayBuilder<Symbol>.GetInstance(membersSoFar.Count + 1);
4848var typesBuilder = ArrayBuilder<TypeSyntax>.GetInstance(parameterList.Parameters.Count);
5242var existingOrAddedMembers = ArrayBuilder<Symbol>.GetInstance(recordParameters.Length);
5597var synthesizedMembers = this.MakeSynthesizedTupleMembers(declaredMembersAndInitializers.GetNonTypeMembers(this));
5624ArrayBuilder<FieldOrPropertyInitializer>? staticInitializers = null;
5625ArrayBuilder<FieldOrPropertyInitializer>? instanceInitializers = null;
5981private void AddAccessorIfAvailable(ArrayBuilder<Symbol> symbols, MethodSymbol? accessorOpt)
6050internal override void AddSynthesizedAttributes(PEModuleBuilder moduleBuilder, ref ArrayBuilder<CSharpAttributeData> attributes)
6132internal void DiscoverInterceptors(ArrayBuilder<NamespaceOrTypeSymbol> toSearch)
Symbols\Synthesized\SynthesizedEmbeddedNullableAttributeSymbol.cs (5)
76private void GenerateByteArrayConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
90private void GenerateSingleByteConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
114private readonly Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> _getConstructorBody;
119Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> getConstructorBody) :
133internal override void GenerateMethodBodyStatements(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, BindingDiagnosticBag diagnostics) => _getConstructorBody(factory, statements, _parameters);