1 write to Left
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1787this.Left = left;
40 references to Left
Microsoft.CodeAnalysis.CSharp (40)
Binder\Binder.ValueChecks.cs (8)
4503argsOpt: [compound.Left, compound.Right], 4511return GetValEscape(compound.Left, localScopeDepth); 4515return GetValEscape(compound.Left, localScopeDepth) 5298argsOpt: [compound.Left, compound.Right], 5309return CheckValEscape(compound.Left.Syntax, compound.Left, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics); 5313return CheckValEscape(compound.Left.Syntax, compound.Left, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
Binder\RefSafetyAnalysis.cs (3)
562argsOpt: [node.Left, node.Right], 573receiverOpt: node.Left, 586ValidateAssignment(node.Syntax, node.Left, node, isRef: false, _diagnostics);
FlowAnalysis\AbstractFlowPass.cs (5)
2196if (RegularPropertyAccess(node.Left)) 2198var left = (BoundPropertyAccess)node.Left; 2210VisitRvalue(node.Left, isKnownToBeAnLvalue: true); 2215if (RegularPropertyAccess(node.Left)) 2217var left = (BoundPropertyAccess)node.Left;
FlowAnalysis\DefiniteAssignment.cs (1)
2527Assign(node.Left, value: node);
FlowAnalysis\NullableWalker.cs (7)
10849Visit(node.Left); 10870CheckCallReceiver(node.Left, leftTypeWithState, method); 10894node.LeftConversion as BoundConversion ?? node.Left, 10895node.Left, 10903var leftArgumentAnnotations = GetLValueAnnotations(node.Left); 10924AdjustSetValue(node.Left, ref resultTypeWithState); 10926TrackNullableStateForAssignment(node, leftLvalueType, MakeSlot(node.Left), resultTypeWithState);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
284Visit(node.Left);
Generated\BoundNodes.xml.Generated.cs (5)
1813if (@operator != this.Operator || left != this.Left || right != this.Right || leftPlaceholder != this.LeftPlaceholder || leftConversion != this.LeftConversion || finalPlaceholder != this.FinalPlaceholder || finalConversion != this.FinalConversion || resultKind != this.ResultKind || originalUserDefinedOperatorsOpt != this.OriginalUserDefinedOperatorsOpt || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 9961this.Visit(node.Left); 11099BoundExpression left = (BoundExpression)this.Visit(node.Left); 12947BoundExpression left = (BoundExpression)this.Visit(node.Left); 15512new TreeDumperNode("left", null, new TreeDumperNode[] { Visit(node.Left, null) }),
Lowering\DiagnosticsPass_Warnings.cs (1)
286BoundExpression left = node.Left;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (8)
44return BoundCall.Synthesized(syntax, VisitExpression(node.Left), initialBindingReceiverIsSubjectToCloning: ThreeState.False, node.Operator.Method, VisitExpression(node.Right)); 47TypeSymbol? leftType = node.Left.Type; // type of the target 56targetOfCompoundOperation = _factory.StoreToTemp(VisitExpression(node.Left), out tempAssignment); 65return MakeInstanceCompoundAssignmentOperatorResult(node.Syntax, node.Left, node.Right, node.Operator.Method, node.Operator.Kind.IsChecked()); 81BoundExpression transformedLHS = TransformCompoundAssignmentLHS(node.Left, isRegularCompoundAssignment: true, stores, temps, isDynamic); 85if (node.Left.Kind == BoundKind.DynamicMemberAccess && 202Debug.Assert(node.Left.Type is { }); 214Debug.Assert(TypeSymbol.Equals(transformedLHS.Type, node.Left.Type, TypeCompareKind.AllIgnoreOptions));
Operations\CSharpOperationFactory.cs (1)
1357IOperation target = Create(boundCompoundAssignmentOperator.Left);