Binder\Binder_Attributes.cs (11)
264ImmutableArray<BoundAssignmentOperator> boundNamedArguments = analyzedArguments.NamedArguments?.ToImmutableAndFree() ?? ImmutableArray<BoundAssignmentOperator>.Empty;
455ArrayBuilder<BoundAssignmentOperator>? boundNamedArgumentsBuilder = null;
495boundNamedArgumentsBuilder = ArrayBuilder<BoundAssignmentOperator>.GetInstance();
504BoundAssignmentOperator boundNamedArgument = BindNamedAttributeArgument(argument, attributeType, diagnostics);
514private BoundAssignmentOperator BindNamedAttributeArgument(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
782public ImmutableArray<KeyValuePair<string, TypedConstant>> VisitNamedArguments(ImmutableArray<BoundAssignmentOperator> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
785foreach (var argument in arguments)
808private KeyValuePair<String, TypedConstant>? VisitNamedArgument(BoundAssignmentOperator assignment, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
1070internal readonly ArrayBuilder<BoundAssignmentOperator>? NamedArguments;
1072internal AnalyzedAttributeArguments(AnalyzedArguments constructorArguments, ArrayBuilder<BoundAssignmentOperator>? namedArguments)
FlowAnalysis\NullableWalker.cs (9)
4115completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType);
4151private Action<int, TypeSymbol>? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4170Action<int, TypeSymbol>? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4210BoundAssignmentOperator node,
4232BoundAssignmentOperator node,
4311Action<int, Symbol>? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null)
4344Action<int, Symbol>? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion)
9992public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12098foreach (var assignment in node.NamedArguments)
Generated\BoundNodes.xml.Generated.cs (15)
1845public BoundAssignmentOperator Update(BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type)
1849var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors);
6238public BoundAttribute(SyntaxNode syntax, MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false)
6263public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6269public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
8954return VisitAssignmentOperator((BoundAssignmentOperator)node, arg);
9383public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg);
9619public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9967public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11086public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11791ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
12823public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12827BoundAssignmentOperator updatedNode;
14008ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
15382public override TreeDumperNode VisitAssignmentOperator(BoundAssignmentOperator node, object? arg) => new TreeDumperNode("assignmentOperator", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter_Call.cs (20)
295var receiverTemp = _factory.StoreToTemp(receiverOpt, out var assignmentToTemp);
670BoundAssignmentOperator? assignmentToTemp = null;
783BoundAssignmentOperator? extraRefInitialization = null;
882local = _factory.StoreToTemp(visitedArgument, out var store, refKind: paramRefKind is RefKind.In or RefKind.RefReadOnlyParameter ? RefKind.In : argRefKind);
930private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps)
1084ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
1310/* out */ ArrayBuilder<BoundAssignmentOperator> storesToTemps)
1342(LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg = (rewriter: this, forceLambdaSpilling, storesToTemps);
1345static (BoundExpression element, ref (LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg) =>
1375private BoundExpression StoreArgumentToTempIfNecessary(bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps, BoundExpression argument, RefKind argRefKind, RefKind paramRefKind)
1386out BoundAssignmentOperator assignment,
1454ArrayBuilder<BoundAssignmentOperator> storesToTemps,
1466foreach (BoundAssignmentOperator s in storesToTemps)
1484ArrayBuilder<BoundAssignmentOperator> tempStores)
1512(ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg = (tempStores, tempsRemainedInUse, firstUnclaimedStore);
1515static (BoundExpression element, ref (ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg) =>
1530static BoundExpression mergeArgumentAndSideEffect(BoundExpression argument, ArrayBuilder<BoundAssignmentOperator> tempStores, ref int tempsRemainedInUse, ref int firstUnclaimedStore)
1638BoundAssignmentOperator boundAssignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (19)
207BoundAssignmentOperator? receiverStore = null;
273possiblyRefCapturedReceiver = _factory.StoreToTemp(possiblyRefCapturedReceiver, out var refCapture, createSpan.Parameters[0].RefKind == RefKind.In ? RefKindExtensions.StrictIn : RefKind.Ref);
503out var receiverStore,
514BoundAssignmentOperator? extraRefInitialization;
541makeOffsetInput = F.StoreToTemp(makeOffsetInput, out BoundAssignmentOperator inputStore);
601var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
615var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
805out var receiverStore,
834BoundAssignmentOperator? extraRefInitialization;
926startMakeOffsetInput = F.StoreToTemp(startMakeOffsetInput, out BoundAssignmentOperator inputStore);
937endMakeOffsetInput = F.StoreToTemp(endMakeOffsetInput, out BoundAssignmentOperator inputStore);
952var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
965var startLocal = F.StoreToTemp(startExpr, out var startStore);
970var rangeSizeLocal = F.StoreToTemp(rangeSizeExpr, out var rangeSizeStore);
1015var startLocal = F.StoreToTemp(startExpr, out var startStore);
1031var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore);
1037var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1048out var startStore);
1061out var rangeSizeStore);