23 instantiations of BoundAssignmentOperator
Microsoft.CodeAnalysis.CSharp (22)
Binder\Binder_Attributes.cs (1)
571return new BoundAssignmentOperator(namedArgument, lvalue, namedArgumentValue, namedArgumentType);
Binder\Binder_Statements.cs (1)
1531return new BoundAssignmentOperator(node, op1, op2, isRef, type, hasErrors);
Compiler\MethodBodySynthesizer.cs (9)
102new BoundAssignmentOperator(syntax, 120new BoundAssignmentOperator(syntax, 148new BoundAssignmentOperator(syntax, 200new BoundAssignmentOperator( 404expression: new BoundAssignmentOperator(syntax, 436expression: new BoundAssignmentOperator(syntax, 450expression: new BoundAssignmentOperator(syntax, 468expression: new BoundAssignmentOperator(syntax, 483expression: new BoundAssignmentOperator(syntax,
Generated\BoundNodes.xml.Generated.cs (1)
1836var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (3)
668prologue.Add(new BoundAssignmentOperator(syntax, 684BoundExpression assignment = new BoundAssignmentOperator(syntax, left, right, left.Type); 773var assignToProxy = new BoundAssignmentOperator(syntax, left, value, value.Type);
Lowering\InitializerRewriter.cs (1)
99new BoundAssignmentOperator(syntax,
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
338BoundExpression rhsAssignment = new BoundAssignmentOperator(
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
1034expression: new BoundAssignmentOperator(syntax,
Lowering\SyntheticBoundNodeFactory.cs (2)
449var assignment = new BoundAssignmentOperator(syntax, left, right, isRef, type, hasErrors) { WasCompilerGenerated = wasCompilerGenerated }; 1571store = new BoundAssignmentOperator(
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
494new BoundAssignmentOperator( 571new BoundAssignmentOperator(
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Rewriters\LocalDeclarationRewriter.cs (1)
78var assignment = new BoundAssignmentOperator(
214 references to BoundAssignmentOperator
Microsoft.CodeAnalysis.CSharp (211)
Binder\Binder.ValueChecks.cs (16)
756var assignment = (BoundAssignmentOperator)expr; 1247private bool CheckSimpleAssignmentValueKind(SyntaxNode node, BoundAssignmentOperator assignment, BindValueKind valueKind, BindingDiagnosticBag diagnostics) 3128var assignment = (BoundAssignmentOperator)expr; 3411var assignment = (BoundAssignmentOperator)expr; 3720return GetValEscape(((BoundAssignmentOperator)expr).Right, scopeOfTheContainingExpression); 3834var assignment = (BoundAssignmentOperator)expression; 4195var assignment = (BoundAssignmentOperator)expr; 4440var assignment = (BoundAssignmentOperator)expression; 4657var assignment = (BoundAssignmentOperator)expression;
Binder\Binder_Attributes.cs (11)
249ImmutableArray<BoundAssignmentOperator> boundNamedArguments = analyzedArguments.NamedArguments?.ToImmutableAndFree() ?? ImmutableArray<BoundAssignmentOperator>.Empty; 444ArrayBuilder<BoundAssignmentOperator>? boundNamedArgumentsBuilder = null; 484boundNamedArgumentsBuilder = ArrayBuilder<BoundAssignmentOperator>.GetInstance(); 493BoundAssignmentOperator boundNamedArgument = BindNamedAttributeArgument(argument, attributeType, diagnostics); 503private BoundAssignmentOperator BindNamedAttributeArgument(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics) 877public ImmutableArray<KeyValuePair<string, TypedConstant>> VisitNamedArguments(ImmutableArray<BoundAssignmentOperator> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors) 880foreach (var argument in arguments) 903private KeyValuePair<String, TypedConstant>? VisitNamedArgument(BoundAssignmentOperator assignment, BindingDiagnosticBag diagnostics, ref bool attrHasErrors) 1135internal readonly ArrayBuilder<BoundAssignmentOperator>? NamedArguments; 1137internal AnalyzedAttributeArguments(AnalyzedArguments constructorArguments, ArrayBuilder<BoundAssignmentOperator>? namedArguments)
Binder\Binder_Expressions.cs (1)
5244if (initializer is not BoundAssignmentOperator assignmentOperator)
Binder\Binder_Statements.cs (3)
1482private BoundAssignmentOperator BindAssignment( 2584var assignment = (BoundAssignmentOperator)expr;
Binder\RefSafetyAnalysis.cs (1)
482public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
BoundTree\BoundNode_Source.cs (1)
240case BoundAssignmentOperator assignment:
BoundTree\BoundTreeVisitors.cs (1)
46return VisitAssignmentOperator(node as BoundAssignmentOperator, arg);
CodeGen\EmitAddress.cs (2)
157var assignment = (BoundAssignmentOperator)expression;
CodeGen\EmitExpression.cs (15)
98EmitAssignmentExpression((BoundAssignmentOperator)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 1538var rhs = ((BoundAssignmentOperator)receiver).Right; 2287private void EmitAssignmentExpression(BoundAssignmentOperator assignmentOperator, UseKind useKind) 2355private bool TryEmitAssignmentInPlace(BoundAssignmentOperator assignmentOperator, bool used) 2551private bool EmitAssignmentPreamble(BoundAssignmentOperator assignmentOperator) 2748var assignment = (BoundAssignmentOperator)assignmentTarget; 2763private void EmitAssignmentValue(BoundAssignmentOperator assignmentOperator) 2804private LocalDefinition EmitAssignmentDuplication(BoundAssignmentOperator assignmentOperator, UseKind useKind, bool lhsUsesStack) 2841private void EmitStore(BoundAssignmentOperator assignment) 2933var nested = (BoundAssignmentOperator)expression; 2948private void EmitAssignmentPostfix(BoundAssignmentOperator assignment, LocalDefinition temp, UseKind useKind) 3659var assignment = (BoundAssignmentOperator)expr;
CodeGen\Optimizer.cs (7)
771var assignment = (BoundAssignmentOperator)lastSideeffect; 895public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1025private static bool IsIndirectAssignment(BoundAssignmentOperator node) 1068Debug.Assert(((BoundAssignmentOperator)lhs).IsRef, "only ref assignments are assignable"); 1096private static bool IsIndirectOrInstanceFieldAssignment(BoundAssignmentOperator node) 2082public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Compiler\AnonymousTypeMethodBodySynthesizer.cs (1)
117BoundAssignmentOperator assignmentToTemp;
FlowAnalysis\AbstractFlowPass.cs (1)
1959public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
FlowAnalysis\DefiniteAssignment.cs (2)
1799foreach (var attributeNamedArgumentAssignment in boundAttribute.NamedArguments) 2325public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
FlowAnalysis\LocalDataFlowPass.cs (1)
229return MakeSlot(((BoundAssignmentOperator)node).Left);
FlowAnalysis\NullableWalker.cs (9)
3654completion += VisitObjectElementInitializer(containingSlot, containingType, (BoundAssignmentOperator)initializer, delayCompletionForType); 3690private Action<int, TypeSymbol>? VisitObjectElementInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType) 3709Action<int, TypeSymbol>? visitMemberInitializer(int containingSlot, TypeSymbol containingType, BoundAssignmentOperator node, bool delayCompletionForType) 3749BoundAssignmentOperator node, 3771BoundAssignmentOperator node, 3850Action<int, Symbol>? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null) 3883Action<int, Symbol>? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion) 9034public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11121foreach (var assignment in node.NamedArguments)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
174public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
Generated\BoundNodes.xml.Generated.cs (15)
1832public BoundAssignmentOperator Update(BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type) 1836var result = new BoundAssignmentOperator(this.Syntax, left, right, isRef, type, this.HasErrors); 6124public 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) 6149public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; } 6155public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type) 8599return VisitAssignmentOperator((BoundAssignmentOperator)node, arg); 9012public virtual R VisitAssignmentOperator(BoundAssignmentOperator node, A arg) => this.DefaultVisit(node, arg); 9240public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9580public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10670public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11359ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments); 12352public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 12356BoundAssignmentOperator updatedNode; 13504ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments); 14808public override TreeDumperNode VisitAssignmentOperator(BoundAssignmentOperator node, object? arg) => new TreeDumperNode("assignmentOperator", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
319var expression = (BoundAssignmentOperator)node.Expression;
Lowering\ClosureConversion\ClosureConversion.cs (1)
773var assignToProxy = new BoundAssignmentOperator(syntax, left, value, value.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
870foreach (BoundAssignmentOperator a in oi.Initializers)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
238public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\DiagnosticsPass_Warnings.cs (1)
877private bool CheckForAssignmentToSelf(BoundAssignmentOperator node)
Lowering\Instrumentation\CompoundInstrumenter.cs (1)
152public override BoundExpression InstrumentUserDefinedLocalAssignment(BoundAssignmentOperator original)
Lowering\Instrumentation\Instrumenter.cs (1)
219public virtual BoundExpression InstrumentUserDefinedLocalAssignment(BoundAssignmentOperator original)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (2)
358public override BoundExpression InstrumentUserDefinedLocalAssignment(BoundAssignmentOperator original) 569temp = _factory.StoreToTemp(invocation, out var store);
Lowering\LocalRewriter\LocalRewriter.cs (3)
793BoundAssignmentOperator? assignment = ((BoundExpressionStatement)statement).Expression as BoundAssignmentOperator; 954return ((BoundAssignmentOperator)expr).IsRef;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
193public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (2)
15public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 21private BoundExpression VisitAssignmentOperator(BoundAssignmentOperator node, bool used)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
47var tempAccess = _factory.StoreToTemp(rewrittenAwait, out BoundAssignmentOperator tempAssignment, syntaxOpt: rewrittenAwait.Syntax,
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (13)
82BoundAssignmentOperator tempAssignment; 648BoundAssignmentOperator? tempAssignment; 652BoundAssignmentOperator assignment; 976BoundLocal boundTempX = _factory.StoreToTemp(xNonNull ?? loweredLeft, out BoundAssignmentOperator tempAssignmentX); 977BoundLocal boundTempY = _factory.StoreToTemp(yNonNull ?? loweredRight, out BoundAssignmentOperator tempAssignmentY); 1128BoundAssignmentOperator tempAssignmentX; 1130BoundAssignmentOperator tempAssignmentY; 1413BoundAssignmentOperator tempAssignment; 1638BoundAssignmentOperator tempAssignment; 1695BoundAssignmentOperator tempAssignmentX; 1697BoundAssignmentOperator tempAssignmentY; 1749BoundAssignmentOperator tempAssignmentX; 1751BoundAssignmentOperator tempAssignmentY;
Lowering\LocalRewriter\LocalRewriter_Call.cs (13)
436BoundAssignmentOperator? assignmentToTemp = null; 541BoundAssignmentOperator? extraRefInitialization = null; 640local = _factory.StoreToTemp(visitedArgument, out var store, refKind: paramRefKind == RefKind.In ? RefKind.In : argRefKind); 688private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps) 835ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length); 1063/* out */ ArrayBuilder<BoundAssignmentOperator> storesToTemps) 1113out BoundAssignmentOperator assignment, 1348ArrayBuilder<BoundAssignmentOperator> storesToTemps, 1360foreach (BoundAssignmentOperator s in storesToTemps) 1378ArrayBuilder<BoundAssignmentOperator> tempStores) 1511BoundAssignmentOperator boundAssignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (19)
65var isEvent = _factory.StoreToTemp(_dynamicFactory.MakeDynamicIsEventTest(memberAccess.Name, memberAccess.Receiver).ToExpression(), out BoundAssignmentOperator isEventAssignment); 70lhsRead = _factory.StoreToTemp(lhsRead, out BoundAssignmentOperator receiverAssignment); 72var storeNonEvent = _factory.StoreToTemp(_factory.Conditional(_factory.Not(isEvent), receiverAssignment, _factory.Null(receiverAssignment.Type), receiverAssignment.Type), out BoundAssignmentOperator nonEventStore); 79loweredRight = _factory.StoreToTemp(loweredRight, out BoundAssignmentOperator possibleHandlerAssignment); 192BoundAssignmentOperator assignmentToTemp; 212BoundAssignmentOperator? extraRefInitialization; 235BoundAssignmentOperator assignmentToTemp; 330ArrayBuilder<BoundAssignmentOperator> storesToTemps = ArrayBuilder<BoundAssignmentOperator>.GetInstance(rewrittenArguments.Length); 351BoundAssignmentOperator storeToTemp; 374foreach (BoundAssignmentOperator tempAssignment in storesToTemps) 439BoundAssignmentOperator assignmentToTemp; 486BoundAssignmentOperator assignmentToTemp; 499BoundAssignmentOperator assignmentToTemp; 517BoundAssignmentOperator assignmentToTemp; 699Debug.Assert(((BoundAssignmentOperator)originalLHS).IsRef); 741BoundAssignmentOperator assignmentToTemp2; 770BoundAssignmentOperator assignmentToArrayTemp; 781BoundAssignmentOperator assignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
820BoundAssignmentOperator assignmentToTemp; 1023BoundAssignmentOperator tempAssignment; 1281BoundAssignmentOperator tempAssignment;
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (2)
348BoundAssignmentOperator assignmentToTemp; 426BoundAssignmentOperator store;
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
78BoundAssignmentOperator? tempAssignment = null;
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
55return VisitAssignmentOperator((BoundAssignmentOperator)expression, used: false);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (13)
270out var receiverStore, 281BoundAssignmentOperator? extraRefInitialization; 307makeOffsetInput = F.StoreToTemp(makeOffsetInput, out BoundAssignmentOperator inputStore); 578out var receiverStore, 607BoundAssignmentOperator? extraRefInitialization; 701startMakeOffsetInput = F.StoreToTemp(startMakeOffsetInput, out BoundAssignmentOperator inputStore); 712endMakeOffsetInput = F.StoreToTemp(endMakeOffsetInput, out BoundAssignmentOperator inputStore); 727var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore); 738var startLocal = F.StoreToTemp(startExpr, out var startStore); 762var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore); 768var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore); 777out var startStore); 790out var rangeSizeStore);
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
55BoundAssignmentOperator assignmentToLockTemp; 97BoundAssignmentOperator assignmentToLockTakenTemp;
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (2)
96var lhsTemp = _factory.StoreToTemp(lhsRead, out var store); 104out var getValueOrDefaultStore);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
150BoundAssignmentOperator tempAssignment;
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (5)
160BoundLocal oldValue = _factory.StoreToTemp(rewrittenReceiver, out BoundAssignmentOperator boundAssignmentToTemp); 200var assignment = (BoundAssignmentOperator)initializer; 206BoundLocal valueTemp = _factory.StoreToTemp(rewrittenRight, out BoundAssignmentOperator boundAssignmentToTemp); 258BoundAssignmentOperator boundAssignmentToTemp;
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (4)
258AddObjectInitializer(ref dynamicSiteInitializers, ref temps, result, rewrittenReceiver, (BoundAssignmentOperator)initializer); 270BoundAssignmentOperator assignment) 421BoundAssignmentOperator store; 475BoundAssignmentOperator store;
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (1)
81var tempAccess = _factory.StoreToTemp(constructorCall, out BoundAssignmentOperator tempAssignment, syntaxOpt: stackAllocNode.Syntax);
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
472var temp = _factory.StoreToTemp(expr, out var store);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
418BoundLocal temp = _factory.StoreToTemp(loweredExpression, out BoundAssignmentOperator assignmentToTemp);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
197BoundAssignmentOperator tempAssignment; 656BoundAssignmentOperator tempAssignment;
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
153BoundAssignmentOperator tempAssignment; 250BoundAssignmentOperator tempAssignment;
Lowering\MethodToClassRewriter.cs (3)
471public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 519BoundAssignmentOperator tempAssignment; 523BoundAssignmentOperator rewrittenAssignment = node.Update(rewrittenLeft, tempLocal, node.IsRef, rewrittenType);
Lowering\SpillSequenceSpiller.cs (6)
351var assignment = (BoundAssignmentOperator)expression; 440BoundAssignmentOperator assignToTemp; 458BoundAssignmentOperator assignment, 476BoundAssignmentOperator 786public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
311public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
490private BoundExpression HoistRefInitialization(SynthesizedLocal local, BoundAssignmentOperator node) 791public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\SyntheticBoundNodeFactory.cs (2)
449var assignment = new BoundAssignmentOperator(syntax, left, right, isRef, type, hasErrors) { WasCompilerGenerated = wasCompilerGenerated }; 1508out BoundAssignmentOperator store,
Operations\CSharpOperationFactory.cs (6)
112return CreateBoundAssignmentOperatorOrMemberInitializerOperation((BoundAssignmentOperator)boundNode); 508var namedArguments = CreateFromArray<BoundAssignmentOperator, IOperation>(boundAttribute.NamedArguments); 1252private IOperation CreateBoundAssignmentOperatorOrMemberInitializerOperation(BoundAssignmentOperator boundAssignmentOperator) 1259private static bool IsMemberInitializer(BoundAssignmentOperator boundAssignmentOperator) => 1263private ISimpleAssignmentOperation CreateBoundAssignmentOperatorOperation(BoundAssignmentOperator boundAssignmentOperator) 1277private IMemberInitializerOperation CreateBoundMemberInitializerOperation(BoundAssignmentOperator boundAssignmentOperator)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (3)
Rewriters\LocalDeclarationRewriter.cs (1)
78var assignment = new BoundAssignmentOperator(
Rewriters\MayHaveSideEffectsVisitor.cs (2)
29public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 74? ((BoundAssignmentOperator)initializer).Right