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)
4496completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType);
4532private InitializerCompletionAfterTargetType? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4551InitializerCompletionAfterTargetType? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType)
4614BoundAssignmentOperator node,
4636BoundAssignmentOperator node,
4753InitializerCompletionAfterUpdatedSymbol? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null)
4786InitializerCompletionAfterUpdatedSymbol? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion)
11154public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13595foreach (var assignment in node.NamedArguments)
Generated\BoundNodes.xml.Generated.cs (15)
1884public BoundAssignmentOperator Update(BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type)
1888var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors);
6331public 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)
6356public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6362public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
9184return VisitAssignmentOperator((BoundAssignmentOperator)node, arg);
9622public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg);
9863public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
10216public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11392public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12191ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
13273public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13277BoundAssignmentOperator updatedNode;
14466ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
15868public 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);
680BoundAssignmentOperator? assignmentToTemp = null;
800BoundAssignmentOperator? extraRefInitialization = null;
902local = _factory.StoreToTemp(visitedArgument, out var store, refKind: paramRefKind is RefKind.In or RefKind.RefReadOnlyParameter ? RefKind.In : argRefKind);
992private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps)
1146ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length);
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)
1471out BoundAssignmentOperator assignment,
1539ArrayBuilder<BoundAssignmentOperator> storesToTemps,
1551foreach (BoundAssignmentOperator s in storesToTemps)
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)
1723BoundAssignmentOperator 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 (18)
247BoundAssignmentOperator? receiverStore = null;
330possiblyRefCapturedReceiver = _factory.StoreToTemp(possiblyRefCapturedReceiver, out var refCapture, createSpan.Parameters[0].RefKind == RefKind.In ? RefKindExtensions.StrictIn : RefKind.Ref);
566out var receiverStore,
577BoundAssignmentOperator? extraRefInitialization;
604makeOffsetInput = F.StoreToTemp(makeOffsetInput, out BoundAssignmentOperator inputStore);
665var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
679var integerTemp = F.StoreToTemp(integerArgument, out BoundAssignmentOperator integerStore);
869out var receiverStore,
898BoundAssignmentOperator? extraRefInitialization;
1031var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1044var startLocal = F.StoreToTemp(startExpr, out var startStore);
1049var rangeSizeLocal = F.StoreToTemp(rangeSizeExpr, out var rangeSizeStore);
1077expression = this._factory.StoreToTemp(expression, out BoundAssignmentOperator store);
1167var startLocal = F.StoreToTemp(startExpr, out var startStore);
1183var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore);
1189var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore);
1200out var startStore);
1213out var rangeSizeStore);