1 write to Right
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1638
this.
Right
= right;
127 references to Right
Microsoft.CodeAnalysis.CSharp (127)
Binder\Binder.ValueChecks.cs (7)
3735
GetValEscape(binary.
Right
, scopeOfTheContainingExpression));
3747
GetValEscape(uo.
Right
, scopeOfTheContainingExpression));
4217
CheckValEscape(binary.
Right
.Syntax, binary.
Right
, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
4233
CheckValEscape(uo.
Right
.Syntax, uo.
Right
, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
4516
getParts((BoundInterpolatedString)binary.
Right
);
Binder\Binder_Operators.cs (2)
750
var right = current.
Right
switch
754
_ => throw ExceptionUtilities.UnexpectedValue(current.
Right
.Kind)
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)
337
appendSource(binary.
Right
);
BoundTree\BoundNodeExtensions.cs (4)
134
switch (current.
Right
)
146
throw ExceptionUtilities.UnexpectedValue(current.
Right
.Kind);
221
var rewrittenRight = currentBinary.
Right
switch
225
_ => throw ExceptionUtilities.UnexpectedValue(currentBinary.
Right
.Kind)
BoundTree\BoundTreeRewriter.cs (1)
143
var right = (BoundExpression?)this.Visit(binary.
Right
);
BoundTree\BoundTreeWalker.cs (3)
113
rightOperands.Push(node.
Right
);
117
rightOperands.Push(binary.
Right
);
124
rightOperands.Push(binary.
Right
);
BoundTree\Constructors.cs (1)
423
return Update(OperatorKind, uncommonData, ResultKind, Left,
Right
, Type);
BoundTree\NullabilityRewriter.cs (1)
52
var right = (BoundExpression)Visit(currentBinary.
Right
);
CodeGen\EmitExpression.cs (1)
1936
if (b.OperatorKind.IsUserDefined() || !isSafeToDereferenceReceiverRefAfterEvaluatingArgument(b.
Right
))
CodeGen\EmitOperators.cs (19)
73
EmitExpression(expression.
Right
, false);
138
EmitExpression(binary.
Right
, true);
160
EmitExpression(expression.
Right
, true);
267
EmitCondExpr(condition.
Right
, sense);
306
Debug.Assert(binOp.
Right
.Type.SpecialType == SpecialType.System_Boolean);
315
Debug.Assert(binOp.
Right
.Type.SpecialType == SpecialType.System_Boolean);
332
Debug.Assert(binOp.
Right
.Type.SpecialType == SpecialType.System_Boolean);
333
EmitBinaryCondOperatorHelper(ILOpCode.And, binOp.Left, binOp.
Right
, sense);
338
Debug.Assert(binOp.
Right
.Type.SpecialType == SpecialType.System_Boolean);
339
EmitBinaryCondOperatorHelper(ILOpCode.Or, binOp.Left, binOp.
Right
, sense);
344
Debug.Assert(binOp.
Right
.Type.SpecialType == SpecialType.System_Boolean);
348
EmitBinaryCondOperatorHelper(ILOpCode.Xor, binOp.Left, binOp.
Right
, true);
350
EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.
Right
, true);
361
var comparand = binOp.
Right
;
396
EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.
Right
, sense);
430
EmitBinaryCondOperatorHelper(s_compOpCodes[opIdx], binOp.Left, binOp.
Right
, sense);
587
Debug.Assert(TypeSymbol.Equals(expression.Left.Type, expression.
Right
.Type, TypeCompareKind.ConsiderEverything2));
592
enumType = expression.
Right
.Type;
717
return IsUnsigned(Binder.GetEnumPromotedType(op.
Right
.Type.GetEnumUnderlyingType().SpecialType));
CodeGen\EmitStatement.cs (6)
240
nonConstOp = condition.
Right
;
244
constOp = (condition.
Right
.ConstantValueOpt != null) ? condition.
Right
: null;
457
stack.Push((binary.
Right
, top.destBox, top.sense));
466
stack.Push((binary.
Right
, top.destBox, top.sense));
514
EmitExpression(binOp.
Right
, true);
CodeGen\Optimizer.cs (3)
1452
var right = (BoundExpression)this.Visit(binary.
Right
);
1490
BoundExpression right = (BoundExpression)this.Visit(node.
Right
);
2033
var right = (BoundExpression)this.Visit(binary.
Right
);
Compilation\CSharpSemanticModel.cs (3)
3847
((binaryOperator.Left.IsLiteralNull() && binaryOperator.
Right
.Type.IsNullableType()) ||
3848
(binaryOperator.
Right
.IsLiteralNull() && binaryOperator.Left.Type.IsNullableType())) &&
3863
binaryOperator.
Right
.Type,
Compilation\MemberSemanticModel.NodeMapBuilder.cs (2)
200
stack.Push(binOp.
Right
);
211
stack.Push(binOp.
Right
);
FlowAnalysis\AbstractFlowPass.cs (11)
2270
right = binOp.
Right
;
2275
right = udBinOp.
Right
;
2371
&& isKnownNullOrNotNull(binary.
Right
))
2380
VisitRvalue(binary.
Right
);
2395
VisitRvalue(binary.
Right
);
2399
var isNullConstant = binary.
Right
.ConstantValueOpt?.IsNull == true;
2418
VisitRvalue(binary.
Right
);
2450
if (isKnownNullOrNotNull(binary.Left) && TryVisitConditionalAccess(binary.
Right
, out var stateWhenNotNull))
2460
else if (IsConditionalState && binary.
Right
.ConstantValueOpt is { IsBoolean: true } rightConstant)
2464
Visit(binary.
Right
);
2475
Visit(binary.
Right
);
FlowAnalysis\NullableWalker.cs (14)
4469
var (rightOperand, rightConversion) = RemoveConversion(binary.
Right
, includeExplicitConversions: false);
4574
var (rightOperand, rightConversion) = RemoveConversion(binary.
Right
, includeExplicitConversions: false);
4598
if (IsConditionalState && binary.
Right
.ConstantValueOpt is { IsBoolean: true } rightConstant)
4602
Visit(binary.
Right
);
4603
UseRvalueOnly(binary.
Right
); // record result for the right
4612
Visit(binary.
Right
);
4613
UseRvalueOnly(binary.
Right
);
4661
visitOperandConversionAndPostConditions(binary.
Right
, rightOperand, rightConversion, parameters[1], rightUnderlyingType);
4699
visitOperandConversion(binary.
Right
, rightOperand, rightConversion, rightType);
4733
SplitAndLearnFromNonNullTest(binary.
Right
, whenTrue: true);
4768
var (rightOperand, rightConversion) = RemoveConversion(binary.
Right
, includeExplicitConversions: false);
4780
if (binary.
Right
.ConstantValueOpt?.IsNull == true)
4786
operandComparedToNull = binary.
Right
;
4805
operandComparedToNonNull = binary.
Right
;
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
208
Visit(node.
Right
);
Generated\BoundNodes.xml.Generated.cs (8)
1670
if (operatorKind != this.OperatorKind || data != this.Data || resultKind != this.ResultKind || left != this.Left || right != this.
Right
|| !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
1753
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))
9559
this.Visit(node.
Right
);
9571
this.Visit(node.
Right
);
10640
BoundExpression right = (BoundExpression)this.Visit(node.
Right
);
10654
BoundExpression right = (BoundExpression)this.Visit(node.
Right
);
14759
new TreeDumperNode("right", null, new TreeDumperNode[] { Visit(node.
Right
, null) }),
14786
new TreeDumperNode("right", null, new TreeDumperNode[] { Visit(node.
Right
, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
197
return VisitBinaryOperator(binOp.OperatorKind, binOp.Method, binOp.Type, binOp.Left, binOp.
Right
);
200
return VisitBinaryOperator(userDefCondLogOp.OperatorKind, userDefCondLogOp.LogicalOperator, userDefCondLogOp.Type, userDefCondLogOp.Left, userDefCondLogOp.
Right
);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
621
Visit(current.
Right
);
Lowering\DiagnosticsPass_Warnings.cs (27)
269
CheckUnsafeType(node.
Right
);
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())
772
else if (node.Left.IsLiteralNull() && node.
Right
.NullableAlwaysHasValue())
774
Error(ErrorCode.WRN_NubExprIsConstBool, node, always, node.
Right
.Type.GetNullableUnderlyingType(), node.
Right
.Type);
798
if (node.
Right
.NullableNeverHasValue())
800
Error(ErrorCode.WRN_CmpAlwaysFalse, node, GetTypeForLiftedComparisonWarning(node.
Right
));
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 loweredRight = VisitExpression(node.
Right
);
149
BoundExpression loweredRight = VisitExpression(original.
Right
);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
190
stack.Push(utf8Addition.
Right
);
Lowering\MethodToClassRewriter.cs (2)
272
(BoundExpression)Visit(node.
Right
),
315
(BoundExpression)Visit(node.
Right
),
Lowering\SpillSequenceSpiller.cs (1)
912
var right = VisitExpression(ref builder, node.
Right
);
Operations\CSharpOperationFactory.cs (2)
1403
IOperation right = Create(currentBinary.
Right
);
2324
var right = createContent(binaryOperator.
Right
);