1 write to Left
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1793this.Left = left;
43 references to Left
Microsoft.CodeAnalysis.CSharp (43)
Binder\Binder.ValueChecks.cs (8)
298Receiver = method.IsStatic ? null : compoundOperator.Left, 301ArgsOpt = method.IsStatic ? [compoundOperator.Left, compoundOperator.Right] : [compoundOperator.Right], 4630return GetValEscape(compound.Left); 4634return GetValEscape(compound.Left) 5378return CheckValEscape(compound.Left.Syntax, compound.Left, escapeTo, checkingReceiver: false, diagnostics: diagnostics); 5382return CheckValEscape(compound.Left.Syntax, compound.Left, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
Binder\RefSafetyAnalysis.cs (1)
629ValidateAssignment(node.Syntax, node.Left, node, isRef: false, _diagnostics);
BoundTree\NullabilityRewriter.cs (1)
175BoundExpression 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)
2471Assign(node.Left, value: node);
FlowAnalysis\NullableWalker.cs (11)
11275extensionReceiverSlot = MakeSlot(node.Left) is > 0 and int slot ? slot : GetOrCreatePlaceholderSlot(node.Left); 11278TypeWithState receiverType = VisitAndCheckReceiver(node.Left, instanceMethod); 11281node.Left, 11313Visit(node.Left); 11333Visit(node.Left); 11355node.LeftConversion as BoundConversion ?? node.Left, 11356node.Left, 11364var leftArgumentAnnotations = GetLValueAnnotations(node.Left); 11385AdjustSetValue(node.Left, ref resultTypeWithState); 11387TrackNullableStateForAssignment(node, leftLvalueType, MakeSlot(node.Left), resultTypeWithState);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
283Visit(node.Left);
Generated\BoundNodes.xml.Generated.cs (4)
1819if (@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)) 9993this.Visit(node.Left); 11135BoundExpression left = (BoundExpression)this.Visit(node.Left); 15534new 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.IsExtensionBlockMember())); 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(), AssignmentKind.CompoundAssignment); 95BoundExpression transformedLHS = TransformCompoundAssignmentLHS(node.Left, 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);