1 write to Operator
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1786this.Operator = @operator;
38 references to Operator
Microsoft.CodeAnalysis.CSharp (38)
Binder\Binder.ValueChecks.cs (4)
3610(compoundAssignmentOperator.Operator.Method is not { } compoundMethod || 3980(compoundAssignmentOperator.Operator.Method is not { } compoundMethod || 4389if (compound.Operator.Method is { } compoundMethod) 5176if (compound.Operator.Method is { } compoundMethod)
BoundTree\BoundExpression.cs (1)
447get { return this.Operator.Method; }
Compilation\CSharpSemanticModel.cs (9)
3915BinaryOperatorKind operandType = compoundAssignment.Operator.Kind.OperandTypes(); 3916BinaryOperatorKind op = compoundAssignment.Operator.Kind.Operator(); 3917isDynamic = compoundAssignment.Operator.Kind.IsDynamic(); 3923GetSymbolsAndResultKind(compoundAssignment, compoundAssignment.Operator.Method, compoundAssignment.OriginalUserDefinedOperatorsOpt, out symbols, out resultKind); 3928Debug.Assert((object)compoundAssignment.Operator.Method == null && compoundAssignment.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty); 3931compoundAssignment.Operator.LeftType, 3932compoundAssignment.Operator.RightType, 3933compoundAssignment.Operator.ReturnType, 3934compoundAssignment.Operator.Kind.IsChecked()));
FlowAnalysis\NullableWalker.cs (3)
10595node.Operator.Kind, 10596node.Operator.Method, 10597node.Operator.ReturnType ?? node.Type,
Generated\BoundNodes.xml.Generated.cs (5)
1813if (@operator != this.Operator || left != this.Left || right != this.Right || leftPlaceholder != this.LeftPlaceholder || leftConversion != this.LeftConversion || finalPlaceholder != this.FinalPlaceholder || finalConversion != this.FinalConversion || resultKind != this.ResultKind || originalUserDefinedOperatorsOpt != this.OriginalUserDefinedOperatorsOpt || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 11084return node.Update(node.Operator, left, right, leftPlaceholder, leftConversion, finalPlaceholder, finalConversion, node.ResultKind, node.OriginalUserDefinedOperatorsOpt, type); 12813updatedNode = node.Update(node.Operator, left, right, leftPlaceholder, leftConversion, finalPlaceholder, finalConversion, node.ResultKind, node.OriginalUserDefinedOperatorsOpt, infoAndType.Type!); 12818updatedNode = node.Update(node.Operator, left, right, leftPlaceholder, leftConversion, finalPlaceholder, finalConversion, node.ResultKind, node.OriginalUserDefinedOperatorsOpt, node.Type); 15368new TreeDumperNode("@operator", node.Operator, null),
Lowering\DiagnosticsPass_Warnings.cs (5)
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(), 292explicitCastInCode: false, conversionGroupOpt: null, constantValueOpt: null, type: node.Operator.LeftType); 295CheckForBitwiseOrSignExtend(node, node.Operator.Kind, left, node.Right); 721if (!node.Operator.Kind.IsLifted())
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (6)
24Debug.Assert(TypeSymbol.Equals(node.Right.Type, node.Operator.RightType, TypeCompareKind.ConsiderEverything2)); 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 (5)
1359BinaryOperatorKind operatorKind = Helper.DeriveBinaryOperatorKind(boundCompoundAssignmentOperator.Operator.Kind); 1362bool isLifted = boundCompoundAssignmentOperator.Operator.Kind.IsLifted(); 1363var method = boundCompoundAssignmentOperator.Operator.Method; 1364bool isChecked = boundCompoundAssignmentOperator.Operator.Kind.IsChecked() || (method is not null && SyntaxFacts.IsCheckedOperator(method.Name)); 1370GetConstrainedToTypeForOperator(method, boundCompoundAssignmentOperator.Operator.ConstrainedToTypeOpt).GetPublicSymbol(),