1 write to Right
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1833this.Right = right;
71 references to Right
Microsoft.CodeAnalysis.CSharp (71)
Binder\Binder.ValueChecks.cs (3)
4481return GetValEscape(((BoundAssignmentOperator)expr).Right, localScopeDepth); 4702? GetRefEscape(assignment.Right, localScopeDepth) 4703: GetValEscape(assignment.Right, localScopeDepth);
Binder\Binder_Attributes.cs (3)
265Debug.Assert(boundNamedArguments.All(arg => !arg.Right.NeedsToBeConverted())); 816visitedArgument = new KeyValuePair<String, TypedConstant>(fa.FieldSymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors)); 821visitedArgument = new KeyValuePair<String, TypedConstant>(pa.PropertySymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors));
Binder\Binder_Expressions.cs (1)
6200if (assignmentOperator.Right is BoundObjectInitializerExpressionBase initializerExpression)
Binder\Binder_Statements.cs (2)
2702if (assignment.Right.Kind == BoundKind.Literal && assignment.Right.ConstantValueOpt.Discriminator == ConstantValueTypeDiscriminator.Boolean)
Binder\RefSafetyAnalysis.cs (1)
543ValidateAssignment(node.Syntax, node.Left, node.Right, node.IsRef, _diagnostics);
BoundTree\BoundNode_Source.cs (1)
259appendSource(assignment.Right);
CodeGen\EmitExpression.cs (7)
1578var rhs = ((BoundAssignmentOperator)receiver).Right; 2597var right = assignmentOperator.Right; 2922lhsUsesStack = EmitAssignmentPreamble(assignmentOperator.Update(sequence.Value, assignmentOperator.Right, assignmentOperator.IsRef, assignmentOperator.Type)); 2985EmitExpression(assignmentOperator.Right, used: true); 2994LocalDefinition temp = EmitAddress(assignmentOperator.Right, lhs.GetRefKind() is RefKind.RefReadOnly or RefKindExtensions.StrictIn or RefKind.RefReadOnlyParameter ? AddressKind.ReadOnlyStrict : AddressKind.Writeable); 3128EmitStore(assignment.Update(sequence.Value, assignment.Right, assignment.IsRef, assignment.Type)); 3960return StackMergeType(assignment.Right);
CodeGen\Optimizer.cs (9)
774assignment.Right.Kind == BoundKind.Sequence) 794Debug.Assert(localUsedWalker.IsLocalUsedIn(assignment.Right), "who assigns the temp?"); 908node.Update(sequence.Value, node.Right, node.IsRef, node.Type), 949BoundExpression right = node.Right; 960right = VisitExpression(node.Right, rhsContext); 974node.Left.Type.Equals(node.Right.Type, TypeCompareKind.AllIgnoreOptions) || 975IsFixedBufferAssignmentToRefLocal(node.Left, node.Right, node.IsRef), 1073Debug.Assert(!IsIndirectAssignment(node.Update(((BoundSequence)node.Left).Value, node.Right, node.IsRef, node.Type)), 2180var right = (BoundExpression)Visit(node.Right);
FlowAnalysis\AbstractFlowPass.cs (4)
2150VisitRvalue(node.Right); 2151PropertySetter(node, left.ReceiverOpt, method, node.Right); 2157VisitRvalue(node.Right, isKnownToBeAnLvalue: node.IsRef); 2167WriteArgument(node.Right, refKind, method: null);
FlowAnalysis\DefiniteAssignment.cs (2)
1954VisitRvalue(attributeNamedArgumentAssignment.Right); 2519Assign(node.Left, node.Right, isRef: node.IsRef);
FlowAnalysis\NullableWalker.cs (7)
4277if (node.Right is BoundObjectInitializerExpressionBase initializer) 4283TakeIncrementalSnapshot(node.Right); 4401TakeIncrementalSnapshot(node.Right); 4411VisitOptionalImplicitConversion(node.Right, type, useLegacyWarnings: false, trackMembers: true, AssignmentKind.Assignment, delayCompletionForType); 4423TrackNullableStateForAssignment(node.Right, type, slot, resultType, MakeSlot(node.Right)); 10102var right = node.Right;
Generated\BoundNodes.xml.Generated.cs (5)
1847if (left != this.Left || right != this.Right || isRef != this.IsRef || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 9968this.Visit(node.Right); 11111BoundExpression right = (BoundExpression)this.Visit(node.Right); 12970BoundExpression right = (BoundExpression)this.Visit(node.Right); 15528new TreeDumperNode("right", null, new TreeDumperNode[] { Visit(node.Right, null) }),
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
317if (expression.Right.Kind == BoundKind.AwaitExpression) 319return VisitAwaitExpression((BoundAwaitExpression)expression.Right, resultPlace: expression.Left);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
957var value = VisitInitializer(a.Right, out elementKind);
Lowering\DiagnosticsPass_Warnings.cs (1)
879if (!node.HasAnyErrors && IsSameLocalOrField(node.Left, node.Right))
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (2)
366if (original.Right is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } rightLocal) 371else if (original.Right is BoundParameter rightParameter)
Lowering\LocalRewriter\LocalRewriter.cs (1)
930BoundExpression rhs = assignment.Right;
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
23var loweredRight = VisitExpression(node.Right);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
955extraRefInitialization = assignmentToTemp.Update(intermediateRef, assignmentToTemp.Right, assignmentToTemp.IsRef, assignmentToTemp.Type); 984_factory.Sequence(new BoundExpression[] { _factory.AssignmentExpression(cache, assignmentToTemp.Right) }, cache),
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
212var rewrittenRight = VisitExpression(assignment.Right);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (3)
313BoundExpression right = assignment.Right; 561return assignment.Right is BoundObjectInitializerExpression initializer 613foreach (var initializer in ((BoundObjectInitializerExpression)assignment.Right).Initializers)
Lowering\MethodToClassRewriter.cs (1)
293BoundExpression originalRight = node.Right;
Lowering\SpillSequenceSpiller.cs (5)
352assignment is not { Left.Kind: BoundKind.Local, Right.Kind: BoundKind.ArrayAccess }) // Optimize for some known to be safe scenarios. 371var right = Spill(builder, assignment.Right, RefKind.Ref); 539Right: BoundComplexConditionalReceiver 551Right: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } originalReceiverReference } 860var right = VisitExpression(ref builder, node.Right);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
344_boundRefLocalInitializers[local] = node.Right;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
522var right = (BoundExpression)Visit(node.Right);
Operations\CSharpOperationFactory.cs (4)
1327boundAssignmentOperator.Right?.Kind == BoundKind.ObjectInitializerExpression || 1328boundAssignmentOperator.Right?.Kind == BoundKind.CollectionInitializerExpression; 1335IOperation value = Create(boundAssignmentOperator.Right); 1348IObjectOrCollectionInitializerOperation initializer = (IObjectOrCollectionInitializerOperation)Create(boundAssignmentOperator.Right);