1 write to Operator
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
1792this.Operator = @operator;
52 references to Operator
Microsoft.CodeAnalysis.CSharp (51)
Binder\Binder.ValueChecks.cs (5)
294var method = compoundOperator.Operator.Method; 3958(compoundAssignmentOperator.Operator.Method is not { } compoundMethod || 4296(compoundAssignmentOperator.Operator.Method is not { } compoundMethod || 4664if (compound.Operator.Method is { } compoundMethod) 5408if (compound.Operator.Method is { } compoundMethod)
Binder\RefSafetyAnalysis.cs (1)
613if (!node.HasErrors && node.Operator.Method is { } compoundMethod)
BoundTree\BoundExpression.cs (1)
455get { return this.Operator.Method; }
BoundTree\NullabilityRewriter.cs (1)
183var op = node.Operator;
Compilation\CSharpSemanticModel.cs (9)
3920BinaryOperatorKind operandType = compoundAssignment.Operator.Kind.OperandTypes(); 3921BinaryOperatorKind op = compoundAssignment.Operator.Kind.Operator(); 3922isDynamic = compoundAssignment.Operator.Kind.IsDynamic(); 3928GetSymbolsAndResultKind(compoundAssignment, compoundAssignment.Operator.Method, compoundAssignment.OriginalUserDefinedOperatorsOpt, out symbols, out resultKind); 3933Debug.Assert((object)compoundAssignment.Operator.Method == null && compoundAssignment.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty); 3936compoundAssignment.Operator.LeftType, 3937compoundAssignment.Operator.RightType, 3938compoundAssignment.Operator.ReturnType, 3939compoundAssignment.Operator.Kind.IsChecked()));
FlowAnalysis\NullableWalker.cs (6)
11264if (node.Operator.Method is { } method ? 11268if (node.Operator.Method is { } instanceMethod) 11307SetUpdatedSymbol(node, node.Operator.Method, instanceMethod); 11351node.Operator.Kind, 11352node.Operator.Method, 11353node.Operator.ReturnType ?? node.Type,
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
290!(node.Operator.Method is { IsStatic: false } method && method.IsExtensionBlockMember()))
Generated\BoundNodes.xml.Generated.cs (3)
1819if (@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)) 11144return node.Update(node.Operator, left, right, leftPlaceholder, leftConversion, finalPlaceholder, finalConversion, node.ResultKind, originalUserDefinedOperatorsOpt, type); 15535new TreeDumperNode("@operator", node.Operator, null),
Lowering\DiagnosticsPass_Warnings.cs (3)
288if (!node.Operator.Kind.IsDynamic() && node.LeftConversion is BoundConversion { Conversion: { IsIdentity: false, Exists: true } conversion }) 294CheckForBitwiseOrSignExtend(node, node.Operator.Kind, left, node.Right); 720if (!node.Operator.Kind.IsLifted())
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (16)
24Debug.Assert(TypeSymbol.Equals(node.Right.Type, node.Operator.RightType, TypeCompareKind.ConsiderEverything2)); 26if (node.Operator.Method?.IsStatic == false) 38Debug.Assert(node.Operator.Method is { }); 39Debug.Assert(node.LeftConversion is null || (node.Left.Type!.IsReferenceType && node.Operator.Method.IsExtensionBlockMember())); 49node.Operator.Method, 70node.Operator.Method, 79return MakeInstanceCompoundAssignmentOperatorResult(node.Syntax, node.Left, node.Right, node.Operator.Method, node.Operator.Kind.IsChecked(), AssignmentKind.CompoundAssignment); 88var kind = node.Operator.Kind; 204if (IsBinaryStringConcatenation(node.Operator.Kind)) 207Debug.Assert(node.Operator.ReturnType is { SpecialType: SpecialType.System_String }); 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 (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(),
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\OperatorTests.cs (1)
8828var op = visitor.FirstNode.Operator;