Binder\Binder_Attributes.cs (11)
266ImmutableArray<BoundAssignmentOperator> boundNamedArguments = analyzedArguments.NamedArguments?.ToImmutableAndFree() ?? ImmutableArray<BoundAssignmentOperator>.Empty;
457ArrayBuilder<BoundAssignmentOperator>? boundNamedArgumentsBuilder = null;
497boundNamedArgumentsBuilder = ArrayBuilder<BoundAssignmentOperator>.GetInstance();
506BoundAssignmentOperator boundNamedArgument = BindNamedAttributeArgument(argument, attributeType, diagnostics);
516private BoundAssignmentOperator BindNamedAttributeArgument(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
784public ImmutableArray<KeyValuePair<string, TypedConstant>> VisitNamedArguments(ImmutableArray<BoundAssignmentOperator> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
787foreach (var argument in arguments)
810private KeyValuePair<String, TypedConstant>? VisitNamedArgument(BoundAssignmentOperator assignment, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
1072internal readonly ArrayBuilder<BoundAssignmentOperator>? NamedArguments;
1074internal AnalyzedAttributeArguments(AnalyzedArguments constructorArguments, ArrayBuilder<BoundAssignmentOperator>? namedArguments)
FlowAnalysis\NullableWalker.cs (9)
4423completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType);
4459private InitializerCompletionAfterTargetType? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4478InitializerCompletionAfterTargetType? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4541BoundAssignmentOperator node,
4563BoundAssignmentOperator node,
4680InitializerCompletionAfterUpdatedSymbol? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null)
4713InitializerCompletionAfterUpdatedSymbol? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion)
10754public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13180foreach (var assignment in node.NamedArguments)
Generated\BoundNodes.xml.Generated.cs (15)
1881public BoundAssignmentOperator Update(BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type)
1885var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors);
6296public 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)
6321public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6327public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
9060return VisitAssignmentOperator((BoundAssignmentOperator)node, arg);
9492public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg);
9730public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
10080public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11239public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12033ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
13099public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13103BoundAssignmentOperator updatedNode;
14292ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
15666public override TreeDumperNode VisitAssignmentOperator(BoundAssignmentOperator node, object? arg) => new TreeDumperNode("assignmentOperator", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter_Call.cs (20)
311var receiverTemp = _factory.StoreToTemp(receiverOpt, out var assignmentToTemp);
679BoundAssignmentOperator? assignmentToTemp = null;
799BoundAssignmentOperator? extraRefInitialization = null;
901local = _factory.StoreToTemp(visitedArgument, out var store, refKind: paramRefKind is RefKind.In or RefKind.RefReadOnlyParameter ? RefKind.In : argRefKind);
991private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps)
1145ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
1407/* out */ ArrayBuilder<BoundAssignmentOperator> storesToTemps)
1439(LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg = (rewriter: this, forceLambdaSpilling, storesToTemps);
1442static (BoundExpression element, ref (LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg) =>
1459private BoundExpression StoreArgumentToTempIfNecessary(bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps, BoundExpression argument, RefKind argRefKind, RefKind paramRefKind)
1470out BoundAssignmentOperator assignment,
1538ArrayBuilder<BoundAssignmentOperator> storesToTemps,
1550foreach (BoundAssignmentOperator s in storesToTemps)
1568ArrayBuilder<BoundAssignmentOperator> tempStores)
1596(ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg = (tempStores, tempsRemainedInUse, firstUnclaimedStore);
1599static (BoundExpression element, ref (ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg) =>
1614static BoundExpression mergeArgumentAndSideEffect(BoundExpression argument, ArrayBuilder<BoundAssignmentOperator> tempStores, ref int tempsRemainedInUse, ref int firstUnclaimedStore)
1722BoundAssignmentOperator boundAssignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (21)
59BoundAssignmentOperator tempAssignment;
125var isEvent = _factory.StoreToTemp(_dynamicFactory.MakeDynamicIsEventTest(memberAccess.Name, memberAccess.Receiver).ToExpression(), out BoundAssignmentOperator isEventAssignment);
130lhsRead = _factory.StoreToTemp(lhsRead, out BoundAssignmentOperator receiverAssignment);
132var storeNonEvent = _factory.StoreToTemp(_factory.Conditional(_factory.Not(isEvent), receiverAssignment, _factory.Null(receiverAssignment.Type), receiverAssignment.Type), out BoundAssignmentOperator nonEventStore);
140loweredRight = _factory.StoreToTemp(loweredRight, out BoundAssignmentOperator possibleHandlerAssignment);
233BoundLocal binaryResult = _factory.StoreToTemp(opFinal, out BoundAssignmentOperator assignmentToTemp, refKind: RefKind.None);
294BoundAssignmentOperator assignmentToTemp;
337BoundAssignmentOperator? extraRefInitialization;
360BoundAssignmentOperator assignmentToTemp;
482ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
507BoundAssignmentOperator storeToTemp;
524foreach (BoundAssignmentOperator tempAssignment in storesToTemps)
578BoundAssignmentOperator assignmentToTemp;
625BoundAssignmentOperator assignmentToTemp;
638BoundAssignmentOperator assignmentToTemp;
656BoundAssignmentOperator assignmentToTemp;
842Debug.Assert(((BoundAssignmentOperator)originalLHS).IsRef);
884BoundAssignmentOperator assignmentToTemp2;
913BoundAssignmentOperator assignmentToArrayTemp;
924BoundAssignmentOperator assignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (19)
246BoundAssignmentOperator? receiverStore = null;
312possiblyRefCapturedReceiver = _factory.StoreToTemp(possiblyRefCapturedReceiver, out var refCapture, createSpan.Parameters[0].RefKind == RefKind.In ? RefKindExtensions.StrictIn : RefKind.Ref);
542out var receiverStore,
553BoundAssignmentOperator? extraRefInitialization;
580makeOffsetInput = F.StoreToTemp(makeOffsetInput, out BoundAssignmentOperator inputStore);
641var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
655var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
845out var receiverStore,
874BoundAssignmentOperator? extraRefInitialization;
966startMakeOffsetInput = F.StoreToTemp(startMakeOffsetInput, out BoundAssignmentOperator inputStore);
977endMakeOffsetInput = F.StoreToTemp(endMakeOffsetInput, out BoundAssignmentOperator inputStore);
992var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1005var startLocal = F.StoreToTemp(startExpr, out var startStore);
1010var rangeSizeLocal = F.StoreToTemp(rangeSizeExpr, out var rangeSizeStore);
1055var startLocal = F.StoreToTemp(startExpr, out var startStore);
1071var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore);
1077var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1088out var startStore);
1101out var rangeSizeStore);