1 write to Left
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1819this.Left = left;
83 references to Left
Microsoft.CodeAnalysis.CSharp (83)
Binder\Binder.ValueChecks.cs (7)
1252return CheckValueKind(node, assignment.Left, valueKind, checkingReceiver: false, diagnostics); 3136return GetRefEscape(assignment.Left, scopeOfTheContainingExpression); 3421assignment.Left, 3841var left = (BoundObjectInitializerMember)assignment.Left; 4196return CheckValEscape(node, assignment.Left, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics); 4450var left = (BoundObjectInitializerMember)assignment.Left; 4662var lhsRefKind = assignment.Left.GetRefKind();
Binder\Binder_Attributes.cs (3)
907switch (assignment.Left.Kind) 910var fa = (BoundFieldAccess)assignment.Left; 915var pa = (BoundPropertyAccess)assignment.Left;
Binder\Binder_Expressions.cs (1)
5249var memberSymbol = assignmentOperator.Left switch
Binder\RefSafetyAnalysis.cs (2)
485if (node.Left.Kind != BoundKind.DiscardExpression) 487ValidateAssignment(node.Syntax, node.Left, node.Right, node.IsRef, _diagnostics);
BoundTree\BoundNode_Source.cs (1)
242appendSource(assignment.Left);
CodeGen\EmitExpression.cs (6)
2365var left = assignmentOperator.Left; 2553var assignmentTarget = assignmentOperator.Left; 2772BoundExpression lhs = assignmentOperator.Left; 2832assignmentOperator.Left.Type, 2833assignmentOperator.Left.Syntax, 2843BoundExpression expression = assignment.Left;
CodeGen\Optimizer.cs (9)
787if (localUsedWalker.IsLocalUsedIn(assignment.Left)) 897var sequence = node.Left as BoundSequence; 920var left = VisitExpression(node.Left, isIndirectAssignment ? 973node.Left.Type.Equals(node.Right.Type, TypeCompareKind.AllIgnoreOptions) || 974IsFixedBufferAssignmentToRefLocal(node.Left, node.Right, node.IsRef), 1027var lhs = node.Left; 1072Debug.Assert(!IsIndirectAssignment(node.Update(((BoundSequence)node.Left).Value, node.Right, node.IsRef, node.Type)), 1098var lhs = node.Left; 2085var left = node.Left as BoundLocal;
FlowAnalysis\AbstractFlowPass.cs (5)
1962if (RegularPropertyAccess(node.Left)) 1964var left = (BoundPropertyAccess)node.Left; 1976VisitLvalue(node.Left); 1984var refKind = node.Left.Kind == BoundKind.BadExpression 1986: node.Left.GetRefKind();
FlowAnalysis\DefiniteAssignment.cs (1)
2328Assign(node.Left, node.Right, isRef: node.IsRef);
FlowAnalysis\LocalDataFlowPass.cs (1)
229return MakeSlot(((BoundAssignmentOperator)node).Left);
FlowAnalysis\NullableWalker.cs (5)
3695var left = node.Left; 3711var objectInitializer = (BoundObjectInitializerMember)node.Left; 3762var objectInitializer = (BoundObjectInitializerMember)node.Left; 3778Symbol? symbol = getTargetMember(containingType, (BoundObjectInitializerMember)node.Left); 9038var left = node.Left;
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
179if (node.Left is BoundObjectInitializerMember { MemberSymbol: null }) 182Visit(node.Left);
Generated\BoundNodes.xml.Generated.cs (5)
1834if (left != this.Left || right != this.Right || isRef != this.IsRef || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 9582this.Visit(node.Left); 10672BoundExpression left = (BoundExpression)this.Visit(node.Left); 12354BoundExpression left = (BoundExpression)this.Visit(node.Left); 14810new TreeDumperNode("left", null, new TreeDumperNode[] { Visit(node.Left, null) }),
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
322return VisitAwaitExpression((BoundAwaitExpression)expression.Right, resultPlace: expression.Left);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
872var sym = ((BoundObjectInitializerMember)a.Left).MemberSymbol;
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
242if (_inExpressionLambda && node.Left.Kind != BoundKind.ObjectInitializerMember && node.Left.Kind != BoundKind.DynamicObjectInitializerMember)
Lowering\DiagnosticsPass_Warnings.cs (1)
879if (!node.HasAnyErrors && IsSameLocalOrField(node.Left, node.Right))
Lowering\Instrumentation\Instrumenter.cs (1)
221Debug.Assert(original.Left is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } or BoundParameter);
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (3)
360Debug.Assert(original.Left is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } or BoundParameter); 390if (!TryGetLocalOrParameterInfo(original.Left, out var targetSymbol, out var targetType, out var targetIndex)) 393throw ExceptionUtilities.UnexpectedValue(original.Left);
Lowering\LocalRewriter\LocalRewriter.cs (2)
799Debug.Assert(assignment.Left.Kind == BoundKind.FieldAccess); 801var lhsField = ((BoundFieldAccess)assignment.Left).FieldSymbol;
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
25BoundExpression left = node.Left;
Lowering\LocalRewriter\LocalRewriter_Call.cs (4)
718assignmentToTemp.Left, 739assignmentToTemp.Left, 1364temporariesBuilder.Add(((BoundLocal)s.Left).LocalSymbol); 1414if (tempStores[i].Left == argument)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
376temps.Add(((BoundLocal)tempAssignment.Left).LocalSymbol);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
201var left = (BoundObjectInitializerMember)assignment.Left;
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (6)
280if (assignment.Left.Kind != BoundKind.PointerElementAccess) 282rewrittenLeft = assignment.Left is BoundObjectInitializerMember member ? VisitObjectInitializerMember(member, ref rewrittenReceiver, result, ref temps) : VisitExpression(assignment.Left); 289switch ((rewrittenLeft ?? assignment.Left).Kind) 416var pointerAccess = (BoundPointerElementAccess)assignment.Left; 447throw ExceptionUtilities.UnexpectedValue((rewrittenLeft ?? assignment.Left).Kind);
Lowering\MethodToClassRewriter.cs (1)
473BoundExpression originalLeft = node.Left;
Lowering\SpillSequenceSpiller.cs (5)
353assignment is not { Left.Kind: BoundKind.Local, Right.Kind: BoundKind.ArrayAccess }) // Optimize for some known to be safe scenarios. 371var left = Spill(builder, assignment.Left, RefKind.Ref); 467Left: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } receiverRefLocal }, 479Left: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.None } referenceTypeClone }, 791BoundExpression left = node.Left;
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
315if (node is { IsRef: true, Left: BoundLocal { LocalSymbol: LocalSymbol { IsCompilerGenerated: true } local } })
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
793if (node.Left.Kind != BoundKind.Local) 798var leftLocal = ((BoundLocal)node.Left).LocalSymbol;
Operations\CSharpOperationFactory.cs (2)
1267IOperation target = Create(boundAssignmentOperator.Left); 1280IOperation initializedMember = CreateMemberInitializerInitializedMember(boundAssignmentOperator.Left);