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