1 write to Right
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1820this.Right = right;
79 references to Right
Microsoft.CodeAnalysis.CSharp (78)
Binder\Binder.ValueChecks.cs (5)
3720return GetValEscape(((BoundAssignmentOperator)expr).Right, scopeOfTheContainingExpression); 3836? GetRefEscape(assignment.Right, scopeOfTheContainingExpression) 3837: GetValEscape(assignment.Right, scopeOfTheContainingExpression); 4442? CheckRefEscape(expression.Syntax, assignment.Right, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics) 4443: CheckValEscape(expression.Syntax, assignment.Right, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
Binder\Binder_Attributes.cs (3)
250Debug.Assert(boundNamedArguments.All(arg => !arg.Right.NeedsToBeConverted())); 911visitedArgument = new KeyValuePair<String, TypedConstant>(fa.FieldSymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors)); 916visitedArgument = new KeyValuePair<String, TypedConstant>(pa.PropertySymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors));
Binder\Binder_Expressions.cs (1)
5277if (assignmentOperator.Right is BoundObjectInitializerExpressionBase initializerExpression)
Binder\Binder_Statements.cs (2)
2585if (assignment.Right.Kind == BoundKind.Literal && assignment.Right.ConstantValueOpt.Discriminator == ConstantValueTypeDiscriminator.Boolean)
Binder\RefSafetyAnalysis.cs (1)
487ValidateAssignment(node.Syntax, node.Left, node.Right, node.IsRef, _diagnostics);
BoundTree\BoundNode_Source.cs (1)
244appendSource(assignment.Right);
CodeGen\EmitExpression.cs (7)
1538var rhs = ((BoundAssignmentOperator)receiver).Right; 2380var right = assignmentOperator.Right; 2704lhsUsesStack = EmitAssignmentPreamble(assignmentOperator.Update(sequence.Value, assignmentOperator.Right, assignmentOperator.IsRef, assignmentOperator.Type)); 2767EmitExpression(assignmentOperator.Right, used: true); 2776LocalDefinition temp = EmitAddress(assignmentOperator.Right, lhs.GetRefKind() == RefKind.RefReadOnly ? AddressKind.ReadOnlyStrict : AddressKind.Writeable); 2910EmitStore(assignment.Update(sequence.Value, assignment.Right, assignment.IsRef, assignment.Type)); 3660return StackMergeType(assignment.Right);
CodeGen\Optimizer.cs (9)
773assignment.Right.Kind == BoundKind.Sequence) 793Debug.Assert(localUsedWalker.IsLocalUsedIn(assignment.Right), "who assigns the temp?"); 907node.Update(sequence.Value, node.Right, node.IsRef, node.Type), 948BoundExpression right = node.Right; 959right = VisitExpression(node.Right, rhsContext); 973node.Left.Type.Equals(node.Right.Type, TypeCompareKind.AllIgnoreOptions) || 974IsFixedBufferAssignmentToRefLocal(node.Left, node.Right, node.IsRef), 1072Debug.Assert(!IsIndirectAssignment(node.Update(((BoundSequence)node.Left).Value, node.Right, node.IsRef, node.Type)), 2113var right = (BoundExpression)Visit(node.Right);
FlowAnalysis\AbstractFlowPass.cs (4)
1970VisitRvalue(node.Right); 1971PropertySetter(node, left.ReceiverOpt, method, node.Right); 1977VisitRvalue(node.Right, isKnownToBeAnLvalue: node.IsRef); 1987WriteArgument(node.Right, refKind, method: null);
FlowAnalysis\DefiniteAssignment.cs (2)
1801VisitRvalue(attributeNamedArgumentAssignment.Right); 2328Assign(node.Left, node.Right, isRef: node.IsRef);
FlowAnalysis\NullableWalker.cs (7)
3732if (node.Right is BoundObjectInitializerExpressionBase initializer) 3738TakeIncrementalSnapshot(node.Right); 3856TakeIncrementalSnapshot(node.Right); 3866VisitOptionalImplicitConversion(node.Right, type, useLegacyWarnings: false, trackMembers: true, AssignmentKind.Assignment, delayCompletionForType); 3878TrackNullableStateForAssignment(node.Right, type, slot, resultType, MakeSlot(node.Right)); 9051var right = node.Right;
Generated\BoundNodes.xml.Generated.cs (5)
1834if (left != this.Left || right != this.Right || isRef != this.IsRef || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 9583this.Visit(node.Right); 10673BoundExpression right = (BoundExpression)this.Visit(node.Right); 12355BoundExpression right = (BoundExpression)this.Visit(node.Right); 14811new TreeDumperNode("right", null, new TreeDumperNode[] { Visit(node.Right, null) }),
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
320if (expression.Right.Kind == BoundKind.AwaitExpression) 322return VisitAwaitExpression((BoundAwaitExpression)expression.Right, resultPlace: expression.Left);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
878var value = VisitInitializer(a.Right, out elementKind);
Lowering\DiagnosticsPass_Warnings.cs (1)
879if (!node.HasAnyErrors && IsSameLocalOrField(node.Left, node.Right))
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (2)
368if (original.Right is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } rightLocal) 373else if (original.Right is BoundParameter rightParameter)
Lowering\LocalRewriter\LocalRewriter.cs (1)
807BoundExpression rhs = assignment.Right;
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
23var loweredRight = VisitExpression(node.Right);
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
711extraRefInitialization = assignmentToTemp.Update(intermediateRef, assignmentToTemp.Right, assignmentToTemp.IsRef, assignmentToTemp.Type); 740_factory.Sequence(new BoundExpression[] { _factory.AssignmentExpression(cache, assignmentToTemp.Right) }, cache), 1424var value = tempStores[correspondingStore].Right;
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
205var rewrittenRight = VisitExpression(assignment.Right);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (7)
285BoundKind rhsKind = assignment.Right.Kind; 326var rewrittenRight = VisitExpression(assignment.Right); 356var rewrittenRight = VisitExpression(assignment.Right); 376var rewrittenRight = VisitExpression(assignment.Right); 405var rewrittenRight = VisitExpression(assignment.Right); 438var rewrittenRight = VisitExpression(assignment.Right); 450AddObjectOrCollectionInitializers(ref dynamicSiteInitializers, ref temps, result, rewrittenAccess, assignment.Right);
Lowering\MethodToClassRewriter.cs (1)
482BoundExpression originalRight = node.Right;
Lowering\SpillSequenceSpiller.cs (5)
353assignment is not { Left.Kind: BoundKind.Local, Right.Kind: BoundKind.ArrayAccess }) // Optimize for some known to be safe scenarios. 372var right = Spill(builder, assignment.Right, RefKind.Ref); 468Right: BoundComplexConditionalReceiver 480Right: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } originalReceiverReference } 789var right = VisitExpression(ref builder, node.Right);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
316_boundRefLocalInitializers[local] = node.Right;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
496var right = (BoundExpression)Visit(node.Right);
Operations\CSharpOperationFactory.cs (4)
1260boundAssignmentOperator.Right?.Kind == BoundKind.ObjectInitializerExpression || 1261boundAssignmentOperator.Right?.Kind == BoundKind.CollectionInitializerExpression; 1268IOperation value = Create(boundAssignmentOperator.Right); 1281IObjectOrCollectionInitializerOperation initializer = (IObjectOrCollectionInitializerOperation)Create(boundAssignmentOperator.Right);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Rewriters\MayHaveSideEffectsVisitor.cs (1)
74? ((BoundAssignmentOperator)initializer).Right