1 write to Left
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1776this.Left = left;
45 references to Left
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder.ValueChecks.cs (8)
4507argsOpt: [compound.Left, compound.Right], 4515return GetValEscape(compound.Left, localScopeDepth); 4519return GetValEscape(compound.Left, localScopeDepth) 5302argsOpt: [compound.Left, compound.Right], 5313return CheckValEscape(compound.Left.Syntax, compound.Left, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics); 5317return 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);
BoundTree\NullabilityRewriter.cs (1)
140BoundExpression left = (BoundExpression)this.Visit(node.Left);
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)
2528Assign(node.Left, value: node);
FlowAnalysis\NullableWalker.cs (11)
11128extensionReceiverSlot = MakeSlot(node.Left) is > 0 and int slot ? slot : GetOrCreatePlaceholderSlot(node.Left); 11131TypeWithState receiverType = VisitAndCheckReceiver(node.Left, instanceMethod); 11134node.Left, 11167Visit(node.Left); 11187Visit(node.Left); 11209node.LeftConversion as BoundConversion ?? node.Left, 11210node.Left, 11218var leftArgumentAnnotations = GetLValueAnnotations(node.Left); 11239AdjustSetValue(node.Left, ref resultTypeWithState); 11241TrackNullableStateForAssignment(node, leftLvalueType, MakeSlot(node.Left), resultTypeWithState);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
283Visit(node.Left);
Generated\BoundNodes.xml.Generated.cs (4)
1802if (@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)) 9950this.Visit(node.Left); 11090BoundExpression left = (BoundExpression)this.Visit(node.Left); 15482new TreeDumperNode("left", null, new TreeDumperNode[] { Visit(node.Left, null) }),
Lowering\DiagnosticsPass_Warnings.cs (1)
286BoundExpression left = node.Left;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (9)
39Debug.Assert(node.LeftConversion is null || (node.Left.Type!.IsReferenceType && node.Operator.Method.GetIsNewExtensionMember())); 47ApplyConversionIfNotIdentity(node.LeftConversion, node.LeftPlaceholder, VisitExpression(node.Left)), 53TypeSymbol? leftType = node.Left.Type; // type of the target 60BoundLocal targetOfCompoundOperation = _factory.StoreToTemp(VisitExpression(node.Left), out tempAssignment); 79return MakeInstanceCompoundAssignmentOperatorResult(node.Syntax, node.Left, node.Right, node.Operator.Method, node.Operator.Kind.IsChecked()); 95BoundExpression transformedLHS = TransformCompoundAssignmentLHS(node.Left, isRegularCompoundAssignment: true, stores, temps, isDynamic); 99if (node.Left.Kind == BoundKind.DynamicMemberAccess && 216Debug.Assert(node.Left.Type is { }); 228Debug.Assert(TypeSymbol.Equals(transformedLHS.Type, node.Left.Type, TypeCompareKind.AllIgnoreOptions));
Operations\CSharpOperationFactory.cs (1)
1357IOperation target = Create(boundCompoundAssignmentOperator.Left);