2 writes to Kind
Microsoft.CodeAnalysis.CSharp (2)
Binder\Semantics\Operators\BinaryOperatorSignature.cs (2)
34this.Kind = kind; 45this.Kind = kind;
41 references to Kind
Microsoft.CodeAnalysis.CSharp (41)
Binder\Binder_Operators.cs (13)
237CheckNativeIntegerFeatureAvailability(bestSignature.Kind, node, diagnostics); 239isUnsignedRightShift: bestSignature.Kind.Operator() == BinaryOperatorKind.UnsignedRightShift, bestSignature.ConstrainedToTypeOpt, diagnostics); 244bestSignature.Kind.WithOverflowChecksIfApplicable(checkOverflowAtRuntime), 254bool isPredefinedOperator = !bestSignature.Kind.IsUserDefined(); 977BinaryOperatorKind resultOperatorKind = signature.Kind; 1130bool isObjectEquality = signature.Kind == BinaryOperatorKind.ObjectEqual || signature.Kind == BinaryOperatorKind.ObjectNotEqual; 1139(signature.Kind.Operator() == BinaryOperatorKind.Equal || signature.Kind.Operator() == BinaryOperatorKind.NotEqual) && 1421if (!bothBool && !signature.Kind.IsUserDefined()) 1429var resultKind = kind | signature.Kind.OperandTypes(); 1430if (signature.Kind.IsLifted()) 1581Debug.Assert(signature.Kind.OperandTypes() == BinaryOperatorKind.UserDefined);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (5)
1309bool lifted1 = op1.Kind.IsLifted(); 1310bool lifted2 = op2.Kind.IsLifted(); 1372if (op1.Kind.IsLifted()) 1389if (op2.Kind.IsLifted()) 1615if (candidate.Kind.IsLifted() && operand.Type.IsNullableType())
Binder\Semantics\Operators\BinaryOperatorSignature.cs (4)
56return $"kind: {this.Kind} leftType: {this.LeftType} leftRefKind: {this.LeftRefKind} rightType: {this.RightType} rightRefKind: {this.RightRefKind} return: {this.ReturnType}"; 62this.Kind == other.Kind && 89Hash.Combine(Method, (int)Kind))));
BoundTree\NullabilityRewriter.cs (1)
152op = new BinaryOperatorSignature(op.Kind, op.LeftType, op.RightType, op.ReturnType, GetUpdatedSymbol(node, op.Method), op.ConstrainedToTypeOpt);
Compilation\BuiltInOperators.cs (1)
679switch (op.Kind.OperandTypes())
Compilation\CSharpSemanticModel.cs (4)
3927BinaryOperatorKind operandType = compoundAssignment.Operator.Kind.OperandTypes(); 3928BinaryOperatorKind op = compoundAssignment.Operator.Kind.Operator(); 3929isDynamic = compoundAssignment.Operator.Kind.IsDynamic(); 3946compoundAssignment.Operator.Kind.IsChecked()));
FlowAnalysis\NullableWalker.cs (1)
11206node.Operator.Kind,
Lowering\DiagnosticsPass_Warnings.cs (4)
288if (!node.Operator.Kind.IsDynamic() && node.LeftConversion is BoundConversion { Conversion: { IsIdentity: false, Exists: true } conversion }) 291left = new BoundConversion(left.Syntax, left, conversion, node.Operator.Kind.IsChecked(), 295CheckForBitwiseOrSignExtend(node, node.Operator.Kind, left, node.Right); 721if (!node.Operator.Kind.IsLifted())
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (5)
79return MakeInstanceCompoundAssignmentOperatorResult(node.Syntax, node.Left, node.Right, node.Operator.Method, node.Operator.Kind.IsChecked()); 88var kind = node.Operator.Kind; 204if (IsBinaryStringConcatenation(node.Operator.Kind)) 208operand = VisitCompoundAssignmentStringConcatenation(opLHS, right, node.Operator.Kind, node.Syntax); 213operand = MakeBinaryOperator(syntax, node.Operator.Kind, opLHS, loweredRight, node.Operator.ReturnType, node.Operator.Method, node.Operator.ConstrainedToTypeOpt, isCompoundAssignment: true);
Operations\CSharpOperationFactory.cs (3)
1359BinaryOperatorKind operatorKind = Helper.DeriveBinaryOperatorKind(boundCompoundAssignmentOperator.Operator.Kind); 1362bool isLifted = boundCompoundAssignmentOperator.Operator.Kind.IsLifted(); 1364bool isChecked = boundCompoundAssignmentOperator.Operator.Kind.IsChecked() || (method is not null && SyntaxFacts.IsCheckedOperator(method.Name));