1 write to Left
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1649
this.
Left
= left;
124 references to Left
Microsoft.CodeAnalysis.CSharp (124)
Binder\Binder.ValueChecks.cs (8)
4440
argsOpt: [binary.
Left
, binary.Right],
4447
return Math.Max(GetValEscape(binary.
Left
, scopeOfTheContainingExpression),
4464
argsOpt: [uo.
Left
, uo.Right],
5231
argsOpt: [binary.
Left
, binary.Right],
5241
return CheckValEscape(binary.
Left
.Syntax, binary.
Left
, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
5263
argsOpt: [uo.
Left
, uo.Right],
5649
expression = binary.
Left
;
Binder\Binder_Operators.cs (2)
772
current = current.
Left
as BoundBinaryOperator;
786
left = BindSimpleBinaryOperator((BinaryExpressionSyntax)current.Syntax, diagnostics, left ?? current.
Left
, right, leaveUnconvertedIfInterpolatedString: false);
Binder\Binder_TupleOperators.cs (1)
111
return new TupleBinaryOperatorInfo.Single(binary.
Left
.Type, binary.Right.Type, binary.OperatorKind, binary.Method, binary.ConstrainedToType,
BoundTree\BoundNode_Source.cs (1)
354
appendSource(binary.
Left
);
BoundTree\BoundNodeExtensions.cs (4)
120
switch (current.
Left
)
131
throw ExceptionUtilities.UnexpectedValue(current.
Left
.Kind);
162
current = current.
Left
as BoundBinaryOperator;
244
current = current.
Left
as BoundBinaryOperator;
BoundTree\BoundTreeRewriter.cs (2)
111
BoundExpression child = node.
Left
;
126
child = binary.
Left
;
BoundTree\BoundTreeWalker.cs (3)
107
if (node.
Left
is not BoundBinaryOperator binary)
119
BoundExpression? current = binary.
Left
;
126
current = binary.
Left
;
BoundTree\Constructors.cs (1)
480
return Update(OperatorKind, uncommonData, ResultKind,
Left
, Right, Type);
BoundTree\NullabilityRewriter.cs (1)
83
currentBinary = currentBinary.
Left
as BoundBinaryOperatorBase;
CodeGen\EmitExpression.cs (1)
2161
current = b.
Left
;
CodeGen\EmitOperators.cs (21)
72
EmitExpression(expression.
Left
, false);
92
BoundExpression child = expression.
Left
;
116
child = binary.
Left
;
159
EmitExpression(expression.
Left
, true);
266
EmitCondBranch(condition.
Left
, ref lazyFallThrough, stopSense);
305
Debug.Assert(binOp.
Left
.Type.SpecialType == SpecialType.System_Boolean);
314
Debug.Assert(binOp.
Left
.Type.SpecialType == SpecialType.System_Boolean);
331
Debug.Assert(binOp.
Left
.Type.SpecialType == SpecialType.System_Boolean);
333
EmitBinaryCondOperatorHelper(ILOpCode.And, binOp.
Left
, binOp.Right, sense);
337
Debug.Assert(binOp.
Left
.Type.SpecialType == SpecialType.System_Boolean);
339
EmitBinaryCondOperatorHelper(ILOpCode.Or, binOp.
Left
, binOp.Right, sense);
343
Debug.Assert(binOp.
Left
.Type.SpecialType == SpecialType.System_Boolean);
348
EmitBinaryCondOperatorHelper(ILOpCode.Xor, binOp.
Left
, binOp.Right, true);
350
EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.
Left
, binOp.Right, true);
360
var constant = binOp.
Left
.ConstantValueOpt;
366
comparand = binOp.
Left
;
416
EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.
Left
, binOp.Right, sense);
450
EmitBinaryCondOperatorHelper(s_compOpCodes[opIdx], binOp.
Left
, binOp.Right, sense);
654
enumType = expression.
Left
.Type;
659
Debug.Assert(TypeSymbol.Equals(expression.
Left
.Type, expression.Right.Type, TypeCompareKind.ConsiderEverything2));
786
return IsUnsigned(Binder.GetEnumPromotedType(op.
Left
.Type.GetEnumUnderlyingType().SpecialType));
CodeGen\EmitStatement.cs (6)
236
BoundExpression constOp = (condition.
Left
.ConstantValueOpt != null) ? condition.
Left
: null;
249
nonConstOp = condition.
Left
;
458
stack.Push((binary.
Left
, fallThrough, !top.sense));
467
stack.Push((binary.
Left
, top.destBox, top.sense));
513
EmitExpression(binOp.
Left
, true);
CodeGen\Optimizer.cs (5)
1475
BoundExpression child = node.
Left
;
1491
child = binary.
Left
;
1552
BoundExpression left = (BoundExpression)this.Visit(node.
Left
);
2069
BoundExpression child = node.
Left
;
2085
child = binary.
Left
;
Compilation\CSharpSemanticModel.cs (3)
3859
((binaryOperator.
Left
.IsLiteralNull() && binaryOperator.Right.Type.IsNullableType()) ||
3860
(binaryOperator.Right.IsLiteralNull() && binaryOperator.
Left
.Type.IsNullableType())) &&
3874
binaryOperator.
Left
.Type,
Compilation\MemberSemanticModel.NodeMapBuilder.cs (2)
199
current = binOp.
Left
;
210
current = binOp.
Left
;
FlowAnalysis\AbstractFlowPass.cs (6)
2432
child = binOp.
Left
;
2437
child = ((BoundUserDefinedConditionalLogicalOperator)binary).
Left
;
2544
binary = binary.
Left
as BoundBinaryOperator;
2642
if (isKnownNullOrNotNull(binary.
Left
) && TryVisitConditionalAccess(binary.Right, out var stateWhenNotNull))
2644
var isNullConstant = binary.
Left
.ConstantValueOpt?.IsNull == true;
2664
else if (binary.
Left
.ConstantValueOpt is { IsBoolean: true } leftConstant)
FlowAnalysis\NullableWalker.cs (5)
5067
var inferredResult = ReinferAndVisitBinaryOperator(binary, binary.OperatorKind, binary.Method, binary.Type, binary.
Left
, leftOperand, leftConversion, leftType, binary.Right, rightOperand, rightConversion, rightType);
5228
operandComparedToNull = binary.
Left
;
5230
else if (binary.
Left
.ConstantValueOpt?.IsNull == true)
5255
operandComparedToNonNull = binary.
Left
;
11374
left = binary.
Left
;
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
310
if (!(node.
Left
is BoundBinaryOperatorBase child))
312
Visit(node.
Left
);
Generated\BoundNodes.xml.Generated.cs (8)
1682
if (operatorKind != this.OperatorKind || data != this.Data || resultKind != this.ResultKind || left != this.
Left
|| right != this.Right || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
1765
if (operatorKind != this.OperatorKind || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(logicalOperator, this.LogicalOperator) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(trueOperator, this.TrueOperator) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(falseOperator, this.FalseOperator) || !TypeSymbol.Equals(constrainedToTypeOpt, this.ConstrainedToTypeOpt, TypeCompareKind.ConsiderEverything) || resultKind != this.ResultKind || originalUserDefinedOperatorsOpt != this.OriginalUserDefinedOperatorsOpt || left != this.
Left
|| right != this.Right || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
9908
this.Visit(node.
Left
);
9920
this.Visit(node.
Left
);
11018
BoundExpression left = (BoundExpression)this.Visit(node.
Left
);
11032
BoundExpression left = (BoundExpression)this.Visit(node.
Left
);
15295
new TreeDumperNode("left", null, new TreeDumperNode[] { Visit(node.
Left
, null) }),
15322
new TreeDumperNode("left", null, new TreeDumperNode[] { Visit(node.
Left
, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
195
return VisitBinaryOperator(binOp.OperatorKind, binOp.Method, binOp.Type, binOp.
Left
, binOp.Right);
198
return VisitBinaryOperator(userDefCondLogOp.OperatorKind, userDefCondLogOp.LogicalOperator, userDefCondLogOp.Type, userDefCondLogOp.
Left
, userDefCondLogOp.Right);
Lowering\DiagnosticsPass_ExpressionTrees.cs (3)
665
if (current.
Left
.Kind == BoundKind.BinaryOperator)
667
current = (BoundBinaryOperator)current.
Left
;
671
Visit(current.
Left
);
Lowering\DiagnosticsPass_Warnings.cs (27)
268
CheckUnsafeType(node.
Left
);
272
CheckForBitwiseOrSignExtend(node, node.OperatorKind, node.
Left
, node.Right);
317
if (node.
Left
.ConstantValueOpt != null && node.Right.ConstantValueOpt == null && node.Right.Kind == BoundKind.Conversion)
319
CheckVacuousComparisons(node, node.
Left
.ConstantValueOpt, node.Right);
322
if (node.Right.ConstantValueOpt != null && node.
Left
.ConstantValueOpt == null && node.
Left
.Kind == BoundKind.Conversion)
324
CheckVacuousComparisons(node, node.Right.ConstantValueOpt, node.
Left
);
330
if (node.
Left
.Type.SpecialType == SpecialType.System_Object && !IsExplicitCast(node.
Left
) && !(node.
Left
.ConstantValueOpt != null && node.
Left
.ConstantValueOpt.IsNull) && ConvertedHasEqual(node.OperatorKind, node.Right, out t))
335
else if (node.Right.Type.SpecialType == SpecialType.System_Object && !IsExplicitCast(node.Right) && !(node.Right.ConstantValueOpt != null && node.Right.ConstantValueOpt.IsNull) && ConvertedHasEqual(node.OperatorKind, node.
Left
, out t))
386
if (!node.HasAnyErrors && IsSameLocalOrField(node.
Left
, node.Right))
768
if (node.Right.IsLiteralNull() && node.
Left
.NullableAlwaysHasValue())
770
Error(ErrorCode.WRN_NubExprIsConstBool, node, always, node.
Left
.Type.GetNullableUnderlyingType(), node.
Left
.Type);
772
else if (node.
Left
.IsLiteralNull() && node.Right.NullableAlwaysHasValue())
802
else if (node.
Left
.NullableNeverHasValue())
804
Error(ErrorCode.WRN_CmpAlwaysFalse, node, GetTypeForLiftedComparisonWarning(node.
Left
));
816
if (node.Right.NullableNeverHasValue() && node.
Left
.NullableAlwaysHasValue())
818
Error(node.OperatorKind.IsUserDefined() ? ErrorCode.WRN_NubExprIsConstBool2 : ErrorCode.WRN_NubExprIsConstBool, node, always, node.
Left
.Type.GetNullableUnderlyingType(), GetTypeForLiftedComparisonWarning(node.Right));
820
else if (node.
Left
.NullableNeverHasValue() && node.Right.NullableAlwaysHasValue())
822
Error(node.OperatorKind.IsUserDefined() ? ErrorCode.WRN_NubExprIsConstBool2 : ErrorCode.WRN_NubExprIsConstBool, node, always, node.Right.Type.GetNullableUnderlyingType(), GetTypeForLiftedComparisonWarning(node.
Left
));
828
if ((node.
Left
.NullableNeverHasValue() && node.Right.IsNullableNonBoolean()) ||
829
(node.
Left
.IsNullableNonBoolean() && node.Right.NullableNeverHasValue()))
834
if (node.Right.NullableNeverHasValue() || node.
Left
.NullableNeverHasValue())
845
if (node.Right.NullableNeverHasValue() || node.
Left
.NullableNeverHasValue())
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
75
BoundExpression loweredLeft = VisitExpression(node.
Left
);
135
for (BoundBinaryOperator? current = node; current != null && current.ConstantValueOpt == null; current = current.
Left
as BoundBinaryOperator)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
198
stack.Push(utf8Addition.
Left
);
Lowering\MethodToClassRewriter.cs (2)
276
(BoundExpression)Visit(node.
Left
),
319
(BoundExpression)Visit(node.
Left
),
Lowering\SpillSequenceSpiller.cs (2)
987
left = VisitExpression(ref builder, node.
Left
);
992
left = VisitExpression(ref leftBuilder, node.
Left
);
Operations\CSharpOperationFactory.cs (3)
1461
currentBinary = currentBinary.
Left
as BoundBinaryOperatorBase;
1469
left ??= Create(currentBinary.
Left
);
2440
var left = createContent(binaryOperator.
Left
);