2 writes to Kind
Microsoft.CodeAnalysis.CSharp (2)
Binder\Semantics\Operators\BinaryOperatorSignature.cs (2)
34this.Kind = kind; 45this.Kind = kind;
36 references to Kind
Microsoft.CodeAnalysis.CSharp (36)
Binder\Binder_Operators.cs (13)
178CheckNativeIntegerFeatureAvailability(bestSignature.Kind, node, diagnostics); 180isUnsignedRightShift: bestSignature.Kind.Operator() == BinaryOperatorKind.UnsignedRightShift, bestSignature.ConstrainedToTypeOpt, diagnostics); 185bestSignature.Kind.WithOverflowChecksIfApplicable(CheckOverflowAtRuntime), 195bool isPredefinedOperator = !bestSignature.Kind.IsUserDefined(); 584BinaryOperatorKind resultOperatorKind = signature.Kind; 721bool isObjectEquality = signature.Kind == BinaryOperatorKind.ObjectEqual || signature.Kind == BinaryOperatorKind.ObjectNotEqual; 730(signature.Kind.Operator() == BinaryOperatorKind.Equal || signature.Kind.Operator() == BinaryOperatorKind.NotEqual) && 992if (!bothBool && !signature.Kind.IsUserDefined()) 1000var resultKind = kind | signature.Kind.OperandTypes(); 1001if (signature.Kind.IsLifted()) 1106Debug.Assert(signature.Kind.OperandTypes() == BinaryOperatorKind.UserDefined);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (4)
1260bool lifted1 = op1.Kind.IsLifted(); 1261bool lifted2 = op2.Kind.IsLifted(); 1323if (op1.Kind.IsLifted()) 1340if (op2.Kind.IsLifted())
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))));
Compilation\BuiltInOperators.cs (1)
679switch (op.Kind.OperandTypes())
Compilation\CSharpSemanticModel.cs (4)
3915BinaryOperatorKind operandType = compoundAssignment.Operator.Kind.OperandTypes(); 3916BinaryOperatorKind op = compoundAssignment.Operator.Kind.Operator(); 3917isDynamic = compoundAssignment.Operator.Kind.IsDynamic(); 3934compoundAssignment.Operator.Kind.IsChecked()));
FlowAnalysis\NullableWalker.cs (1)
10537node.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 (2)
30var kind = node.Operator.Kind; 142BoundExpression operand = 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));