132 references to UserDefinedOperator
GenerateDocumentationAndConfigFiles (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (1)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis (1)
CodeGen\CompilationTestData.cs (1)
128var format = (iMethod.MethodKind == MethodKind.UserDefinedOperator) ?
Microsoft.CodeAnalysis.Analyzers (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (1)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.AnalyzerUtilities (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
Microsoft.CodeAnalysis.CodeStyle (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (1)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.CSharp (33)
Binder\Binder_Lookup.cs (1)
1504else if ((options & LookupOptions.MustBeOperator) != 0 && unwrappedSymbol is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
4594Debug.Assert(candidate is MethodSymbol { MethodKind: MethodKind.UserDefinedOperator });
BoundTree\BoundBinaryOperator.UncommonData.cs (1)
74Debug.Assert(method is null or ErrorMethodSymbol { ParameterCount: 0 } or { MethodKind: MethodKind.UserDefinedOperator } or { ParameterCount: 2 });
Lowering\DiagnosticsPass_Warnings.cs (1)
367if ((object)op == null || op.MethodKind != MethodKind.UserDefinedOperator) continue;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (1)
529case MethodKind.UserDefinedOperator:
Symbols\Compilation_WellKnownMembers.cs (1)
315if (methodKind == MethodKind.Conversion || methodKind == MethodKind.UserDefinedOperator)
Symbols\MemberSymbolExtensions.cs (1)
419return methodSymbol.MethodKind == MethodKind.UserDefinedOperator || methodSymbol.MethodKind == MethodKind.Conversion;
Symbols\Metadata\PE\PEMethodSymbol.cs (4)
1280return IsValidStaticUserDefinedOperatorSignature(2) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1292return IsValidStaticUserDefinedOperatorSignature(1) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1314return IsValidInstanceUserDefinedOperatorSignature(0) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1331return IsValidInstanceUserDefinedOperatorSignature(1) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary;
Symbols\MethodSymbol.cs (2)
629case MethodKind.UserDefinedOperator: 1219or MethodKind.UserDefinedOperator
Symbols\MethodSymbolExtensions.cs (3)
134case MethodKind.UserDefinedOperator: 135return !method.IsStatic && hidingMember is MethodSymbol { IsStatic: false, MethodKind: MethodKind.UserDefinedOperator }; 223method.MethodKind is (MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.PropertyGet or MethodKind.PropertySet or MethodKind.UserDefinedOperator) &&
Symbols\NamedTypeSymbol.cs (3)
266if (candidate is MethodSymbol { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } method) 277if (candidate is MethodSymbol { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } method) 531if ((options & LookupOptions.MustBeOperator) != 0 && member is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
Symbols\PublicModel\MethodSymbol.cs (2)
56case MethodKind.UserDefinedOperator: 57return MethodKind.UserDefinedOperator;
Symbols\Source\ExplicitInterfaceHelpers.cs (1)
270(interfaceMethod.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion) != isOperator)
Symbols\Source\SourceMemberContainerSymbol.cs (2)
4780case MethodKind.UserDefinedOperator: 4854case MethodKind.UserDefinedOperator:
Symbols\Source\SourceMemberMethodSymbol.cs (2)
357ErrorCode code = (this.MethodKind == MethodKind.Conversion || this.MethodKind == MethodKind.UserDefinedOperator) ? 368code = (this.MethodKind == MethodKind.Conversion || this.MethodKind == MethodKind.UserDefinedOperator) ?
Symbols\Source\SourceMethodSymbol.cs (1)
302if (target.MethodKind == MethodKind.UserDefinedOperator && !target.IsStatic)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
1681case MethodKind.UserDefinedOperator:
Symbols\Source\SourceOrdinaryMethodSymbol.cs (1)
690Debug.Assert(this.MethodKind != MethodKind.UserDefinedOperator, "SourceUserDefinedOperatorSymbolBase overrides this");
Symbols\Source\SourceUserDefinedOperatorSymbol.cs (1)
50? MethodKind.UserDefinedOperator
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperatorBase.cs (1)
40: base(MethodKind.UserDefinedOperator, explicitInterfaceType: null, name, isCompoundAssignmentOrIncrementAssignment: false,
Symbols\TypeSymbol.cs (2)
2206isOperator = interfaceMethod.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion; 2214(((MethodSymbol)member).MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion) != isOperator.GetValueOrDefault())
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1126if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
162if (method.MethodKind == MethodKind.UserDefinedOperator)
Microsoft.CodeAnalysis.CSharp.Features (2)
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.ItemGetter.cs (1)
220case MethodKind.UserDefinedOperator:
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (1)
2549IMethodSymbol { MethodKind: MethodKind.Conversion or MethodKind.UserDefinedOperator }
Microsoft.CodeAnalysis.CSharp.Workspaces (4)
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.cs (1)
48if (symbolInfo.Symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
Recommendations\CSharpRecommendationServiceRunner_Operators.cs (1)
33if (member is not IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } method)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1126if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
162if (method.MethodKind == MethodKind.UserDefinedOperator)
Microsoft.CodeAnalysis.Extensions.Package (7)
Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
Microsoft.CodeAnalysis.Features (7)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (2)
354MethodKind.BuiltinOperator or MethodKind.UserDefinedOperator or MethodKind.Conversion => FeaturesResources.operator_, 3870MethodKind.UserDefinedOperator or
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (1)
129.Any(m => m.MethodKind == MethodKind.UserDefinedOperator &&
InheritanceMargin\AbstractInheritanceMarginService.cs (1)
79MethodKind: MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.UserDefinedOperator or MethodKind.Conversion
Rename\SymbolicRenameInfo.cs (1)
204if (symbol.Kind == SymbolKind.Method && ((IMethodSymbol)symbol).MethodKind == MethodKind.UserDefinedOperator)
RQName\RQNodeBuilder.cs (1)
200if (symbol.MethodKind is MethodKind.UserDefinedOperator or
Shared\Extensions\ISymbolExtensions_2.cs (1)
100if (methodSymbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion or MethodKind.BuiltinOperator)
Microsoft.CodeAnalysis.NetAnalyzers (7)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DoNotOverloadOperatorEqualsOnReferenceTypes.cs (1)
50if (method.MethodKind != MethodKind.UserDefinedOperator ||
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OperatorOverloadsHaveNamedAlternates.cs (2)
87method.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion) 97Debug.Assert(methodSymbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\MarkMembersAsStatic.cs (1)
236if (methodSymbol.MethodKind == MethodKind.UserDefinedOperator)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (1)
459return methodSymbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.BuiltinOperator;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\INamedTypeSymbolExtensions.cs (1)
83return symbol.GetMembers(op).OfType<IMethodSymbol>().Any(m => m.MethodKind == MethodKind.UserDefinedOperator);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\ISymbolExtensions.cs (1)
157return symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
Microsoft.CodeAnalysis.ResxSourceGenerator (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (1)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\BasicOverrideEqualsOnOverloadingOperatorEquals.vb (1)
54If Not type.GetMembers(WellKnownMemberNames.EqualityOperatorName).OfType(Of IMethodSymbol).Any(Function(m) m.MethodKind = MethodKind.UserDefinedOperator) Then
Microsoft.CodeAnalysis.Workspaces (14)
Editing\SyntaxGenerator.cs (3)
281if (method.MethodKind is not (MethodKind.UserDefinedOperator or MethodKind.Conversion)) 755case MethodKind.UserDefinedOperator or MethodKind.Conversion: 885case MethodKind.UserDefinedOperator:
FindSymbols\FindReferences\Finders\OperatorSymbolReferenceFinder.cs (1)
19=> symbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.BuiltinOperator;
Shared\Extensions\SyntaxGeneratorExtensions.cs (1)
242if (overriddenMethod.IsAbstract || overriddenMethod.MethodKind == MethodKind.UserDefinedOperator)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (1)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Roslyn.Diagnostics.Analyzers (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (3)
242if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 440if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 652IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (2)
204MethodKind.UserDefinedOperator or 296=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (1)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Roslyn.Diagnostics.CSharp.Analyzers (2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1126if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
162if (method.MethodKind == MethodKind.UserDefinedOperator)