1 write to Right
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1833this.Right = right;
73 references to Right
Microsoft.CodeAnalysis.CSharp (73)
Binder\Binder.ValueChecks.cs (3)
4378return GetValEscape(((BoundAssignmentOperator)expr).Right, scopeOfTheContainingExpression); 4599? GetRefEscape(assignment.Right, scopeOfTheContainingExpression) 4600: GetValEscape(assignment.Right, scopeOfTheContainingExpression);
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)
6146if (assignmentOperator.Right is BoundObjectInitializerExpressionBase initializerExpression)
Binder\Binder_Statements.cs (2)
2686if (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)); 3934return 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)
2143VisitRvalue(node.Right); 2144PropertySetter(node, left.ReceiverOpt, method, node.Right); 2150VisitRvalue(node.Right, isKnownToBeAnLvalue: node.IsRef); 2160WriteArgument(node.Right, refKind, method: null);
FlowAnalysis\DefiniteAssignment.cs (2)
1927VisitRvalue(attributeNamedArgumentAssignment.Right); 2492Assign(node.Left, node.Right, isRef: node.IsRef);
FlowAnalysis\NullableWalker.cs (7)
4132if (node.Right is BoundObjectInitializerExpressionBase initializer) 4138TakeIncrementalSnapshot(node.Right); 4256TakeIncrementalSnapshot(node.Right); 4266VisitOptionalImplicitConversion(node.Right, type, useLegacyWarnings: false, trackMembers: true, AssignmentKind.Assignment, delayCompletionForType); 4278TrackNullableStateForAssignment(node.Right, type, slot, resultType, MakeSlot(node.Right)); 9936var 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)) 9934this.Visit(node.Right); 11053BoundExpression right = (BoundExpression)this.Visit(node.Right); 12790BoundExpression right = (BoundExpression)this.Visit(node.Right); 15349new TreeDumperNode("right", null, new TreeDumperNode[] { Visit(node.Right, null) }),
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
314if (expression.Right.Kind == BoundKind.AwaitExpression) 316return 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)
954extraRefInitialization = assignmentToTemp.Update(intermediateRef, assignmentToTemp.Right, assignmentToTemp.IsRef, assignmentToTemp.Type); 983_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)
280BoundExpression right = assignment.Right; 528return assignment.Right is BoundObjectInitializerExpression initializer 580foreach (var initializer in ((BoundObjectInitializerExpression)assignment.Right).Initializers)
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (2)
243SideEffects: [BoundAssignmentOperator { Right.Type.SpecialType: SpecialType.System_Char } assignment], 249var wrappedExpr = ConvertConcatExprToString(assignment.Right);
Lowering\MethodToClassRewriter.cs (1)
491BoundExpression 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)
342_boundRefLocalInitializers[local] = node.Right;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
505var 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);