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)
4424completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType);
4460private InitializerCompletionAfterTargetType? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4479InitializerCompletionAfterTargetType? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4542BoundAssignmentOperator node,
4564BoundAssignmentOperator node,
4681InitializerCompletionAfterUpdatedSymbol? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null)
4714InitializerCompletionAfterUpdatedSymbol? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion)
10755public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13181foreach (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);
6298public 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)
6323public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6329public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
9062return VisitAssignmentOperator((BoundAssignmentOperator)node, arg);
9494public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg);
9732public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
10082public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11241public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12035ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
13101public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13105BoundAssignmentOperator updatedNode;
14294ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
15668public 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);