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)
790public ImmutableArray<KeyValuePair<string, TypedConstant>> VisitNamedArguments(ImmutableArray<BoundAssignmentOperator> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
793foreach (var argument in arguments)
816private KeyValuePair<String, TypedConstant>? VisitNamedArgument(BoundAssignmentOperator assignment, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
1078internal readonly ArrayBuilder<BoundAssignmentOperator>? NamedArguments;
1080internal AnalyzedAttributeArguments(AnalyzedArguments constructorArguments, ArrayBuilder<BoundAssignmentOperator>? namedArguments)
FlowAnalysis\NullableWalker.cs (9)
4544completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType);
4580private InitializerCompletionAfterTargetType? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4597InitializerCompletionAfterTargetType? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4637InitializerCompletionAfterTargetType? setAnalyzedNullability(BoundAssignmentOperator node, BoundObjectInitializerMember objectInitializer, Symbol? updatedSymbol, ImmutableArray<VisitResult> argumentResults,
4663InitializerCompletionAfterTargetType setAnalyzedNullabilityAsContinuation(BoundAssignmentOperator node, ImmutableArray<VisitResult> argumentResults,
4738InitializerCompletionAfterUpdatedSymbol? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null)
4771InitializerCompletionAfterUpdatedSymbol? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion)
11233public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13718foreach (var assignment in node.NamedArguments)
Generated\BoundNodes.xml.Generated.cs (15)
1878public BoundAssignmentOperator Update(BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type)
1882var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors);
6325public 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)
6350public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6356public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
9176return VisitAssignmentOperator((BoundAssignmentOperator)node, arg);
9614public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg);
9855public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
10212public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11389public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12188ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
13275public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13279BoundAssignmentOperator updatedNode;
14468ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
15871public 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);
683BoundAssignmentOperator? assignmentToTemp = null;
803BoundAssignmentOperator? extraRefInitialization = null;
903local = _factory.StoreToTemp(visitedArgument, out var store, refKind: paramRefKind is RefKind.In or RefKind.RefReadOnlyParameter ? RefKind.In : argRefKind);
993private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps)
1147ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
1409/* out */ ArrayBuilder<BoundAssignmentOperator> storesToTemps)
1441(LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg = (rewriter: this, forceLambdaSpilling, storesToTemps);
1444static (BoundExpression element, ref (LocalRewriter rewriter, bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps) arg) =>
1461private BoundExpression StoreArgumentToTempIfNecessary(bool forceLambdaSpilling, ArrayBuilder<BoundAssignmentOperator> storesToTemps, BoundExpression argument, RefKind argRefKind, RefKind paramRefKind)
1472out BoundAssignmentOperator assignment,
1540ArrayBuilder<BoundAssignmentOperator> storesToTemps,
1552foreach (BoundAssignmentOperator s in storesToTemps)
1570ArrayBuilder<BoundAssignmentOperator> tempStores)
1598(ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg = (tempStores, tempsRemainedInUse, firstUnclaimedStore);
1601static (BoundExpression element, ref (ArrayBuilder<BoundAssignmentOperator> tempStores, int tempsRemainedInUse, int firstUnclaimedStore) arg) =>
1616static BoundExpression mergeArgumentAndSideEffect(BoundExpression argument, ArrayBuilder<BoundAssignmentOperator> tempStores, ref int tempsRemainedInUse, ref int firstUnclaimedStore)
1724BoundAssignmentOperator 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);
234BoundLocal binaryResult = _factory.StoreToTemp(opFinal, out BoundAssignmentOperator assignmentToTemp, refKind: RefKind.None);
295BoundAssignmentOperator assignmentToTemp;
336BoundAssignmentOperator? extraRefInitialization;
359BoundAssignmentOperator assignmentToTemp;
481ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
506BoundAssignmentOperator storeToTemp;
523foreach (BoundAssignmentOperator tempAssignment in storesToTemps)
580BoundAssignmentOperator assignmentToTemp;
627BoundAssignmentOperator assignmentToTemp;
640BoundAssignmentOperator assignmentToTemp;
658BoundAssignmentOperator assignmentToTemp;
844Debug.Assert(((BoundAssignmentOperator)originalLHS).IsRef);
886BoundAssignmentOperator assignmentToTemp2;
915BoundAssignmentOperator assignmentToArrayTemp;
926BoundAssignmentOperator assignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (18)
248BoundAssignmentOperator? receiverStore = null;
332possiblyRefCapturedReceiver = _factory.StoreToTemp(possiblyRefCapturedReceiver, out var refCapture, createSpan.Parameters[0].RefKind == RefKind.In ? RefKindExtensions.StrictIn : RefKind.Ref);
567out var receiverStore,
591BoundAssignmentOperator? extraRefInitialization;
620makeOffsetInput = F.StoreToTemp(makeOffsetInput, out BoundAssignmentOperator inputStore);
680var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
694var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
885out var receiverStore,
927BoundAssignmentOperator? extraRefInitialization;
1069var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1082var startLocal = F.StoreToTemp(startExpr, out var startStore);
1087var rangeSizeLocal = F.StoreToTemp(rangeSizeExpr, out var rangeSizeStore);
1115expression = this._factory.StoreToTemp(expression, out BoundAssignmentOperator store);
1205var startLocal = F.StoreToTemp(startExpr, out var startStore);
1222var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore);
1228var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1239out var startStore);
1251out var rangeSizeStore);