3041 references to MethodKind
ConfigurationSchemaGenerator (1)
ILLink.RoslynAnalyzer (18)
Metrics (29)
Metrics.Legacy (29)
Microsoft.Analyzers.Local (4)
Microsoft.AspNetCore.App.Analyzers (1)
Microsoft.AspNetCore.Components.Analyzers (2)
Microsoft.AspNetCore.Components.SdkAnalyzers (2)
Microsoft.AspNetCore.Mvc.Analyzers (3)
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
Microsoft.AspNetCore.OpenApi.SourceGenerators (3)
Microsoft.CodeAnalysis (15)
Microsoft.CodeAnalysis.Analyzers (29)
Microsoft.CodeAnalysis.AnalyzerUtilities (45)
Microsoft.CodeAnalysis.BannedApiAnalyzers (29)
Microsoft.CodeAnalysis.CodeStyle (96)
Microsoft.CodeAnalysis.CodeStyle.Fixes (36)
Microsoft.CodeAnalysis.CodeStyle.UnitTestUtilities (6)
Microsoft.CodeAnalysis.CSharp (603)
Symbols\Metadata\PE\PEMethodSymbol.cs (38)
114public MethodKind MethodKind
118return (MethodKind)((_bits >> MethodKindOffset) & MethodKindMask);
157Debug.Assert(EnumUtilities.ContainsAllValues<MethodKind>(MethodKindMask));
181public void InitializeMethodKind(MethodKind methodKind)
630private bool IsDestructor => this.MethodKind == MethodKind.Destructor;
784internal bool SetAssociatedProperty(PEPropertySymbol propertySymbol, MethodKind methodKind)
786Debug.Assert((methodKind == MethodKind.PropertyGet) || (methodKind == MethodKind.PropertySet));
794internal bool SetAssociatedEvent(PEEventSymbol eventSymbol, MethodKind methodKind)
796Debug.Assert((methodKind == MethodKind.EventAdd) || (methodKind == MethodKind.EventRemove));
800private bool SetAssociatedPropertyOrEvent(Symbol propertyOrEventSymbol, MethodKind methodKind)
813_packedFlags.MethodKind == default(MethodKind) ||
814_packedFlags.MethodKind == MethodKind.Ordinary ||
815_packedFlags.MethodKind == MethodKind.ExplicitInterfaceImplementation);
975if (this.MethodKind == MethodKind.Ordinary && IsValidExtensionMethodSignature()
1003: this.MethodKind == MethodKind.Ordinary
1099public override MethodKind MethodKind
1168private MethodKind ComputeMethodKind()
1192return MethodKind.StaticConstructor;
1197return MethodKind.Constructor;
1201return MethodKind.Ordinary;
1229return IsValidUserDefinedOperatorSignature(2) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary;
1241return IsValidUserDefinedOperatorSignature(1) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary;
1245return IsValidUserDefinedOperatorSignature(1) ? MethodKind.Conversion : MethodKind.Ordinary;
1255return MethodKind.Ordinary;
1267return MethodKind.Destructor;
1273return MethodKind.DelegateInvoke;
1284return MethodKind.ExplicitInterfaceImplementation;
1287return MethodKind.Ordinary;
1321method.MethodKind == MethodKind.Destructor);
1413this.MethodKind == MethodKind.PropertySet &&
1475var diag = PEUtilities.DeriveCompilerFeatureRequiredAttributeDiagnostic(this, containingModule, Handle, allowedFeatures: MethodKind == MethodKind.Constructor ? CompilerFeatureRequiredFeatures.RequiredMembers : CompilerFeatureRequiredFeatures.None, decoder);
1563Debug.Assert(MethodKind == MethodKind.Constructor);
1585var result = ObsoleteAttributeHelpers.GetObsoleteDataFromMetadata(_handle, (PEModuleSymbol)ContainingModule, ignoreByRefLikeMarker: false, ignoreRequiredMemberMarker: MethodKind == MethodKind.Constructor);
Symbols\Source\SourceConstructorSymbol.cs (13)
25var methodKind = syntax.Modifiers.Any(SyntaxKind.StaticKeyword) ? MethodKind.StaticConstructor : MethodKind.Constructor;
33MethodKind methodKind,
57if (methodKind == MethodKind.Constructor && syntax.Initializer != null)
73if (methodKind == MethodKind.StaticConstructor)
92MethodKind methodKind,
133NamedTypeSymbol containingType, ConstructorDeclarationSyntax syntax, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics,
136var defaultAccess = (methodKind == MethodKind.StaticConstructor) ? DeclarationModifiers.None : DeclarationModifiers.Private;
145if (methodKind == MethodKind.Constructor)
154if (methodKind == MethodKind.StaticConstructor)
180private void CheckModifiers(MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics)
190else if (ContainingType.IsStatic && methodKind == MethodKind.Constructor)
Symbols\Source\SourceDelegateMethodSymbol.cs (5)
26MethodKind methodKind,
217: base(delegateType, voidType, syntax, MethodKind.Constructor, RefKind.None, DeclarationModifiers.Public)
262: base(delegateType, returnType, syntax, MethodKind.DelegateInvoke, refKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
355: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
393: base((SourceNamedTypeSymbol)invoke.ContainingType, invoke.ReturnTypeWithAnnotations, syntax, MethodKind.Ordinary, invoke.RefKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (16)
36var methodKind = interfaceSpecifier == null
37? MethodKind.Ordinary
38: MethodKind.ExplicitInterfaceImplementation;
52MethodKind methodKind,
75ModifierUtils.CheckAccessibility(this.DeclarationModifiers, this, isExplicitInterfaceImplementation: methodKind == MethodKind.ExplicitInterfaceImplementation, diagnostics, location);
89NamedTypeSymbol containingType, Location location, MethodDeclarationSyntax syntax, MethodKind methodKind,
104isExplicitInterfaceImplementation: methodKind == MethodKind.ExplicitInterfaceImplementation,
640Debug.Assert(this.MethodKind != MethodKind.UserDefinedOperator, "SourceUserDefinedOperatorSymbolBase overrides this");
685CheckModifiers(MethodKind == MethodKind.ExplicitInterfaceImplementation, _location, diagnostics);
702private static (DeclarationModifiers mods, bool hasExplicitAccessMod) MakeModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics)
706bool isExplicitInterfaceImplementation = methodKind == MethodKind.ExplicitInterfaceImplementation;
793private static DeclarationModifiers AddImpliedModifiers(DeclarationModifiers mods, bool containingTypeIsInterface, MethodKind methodKind, bool hasBody)
800methodKind == MethodKind.ExplicitInterfaceImplementation);
802else if (methodKind == MethodKind.ExplicitInterfaceImplementation)
951MethodKind methodKind,
1009MethodKind methodKind,
Microsoft.CodeAnalysis.CSharp.CodeStyle (20)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests (2)
Microsoft.CodeAnalysis.CSharp.EditorFeatures (1)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (28)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (13)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (16)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (11)
Microsoft.CodeAnalysis.CSharp.Features (46)
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (2)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (78)
Semantics\SimpleLambdaParametersWithModifiersTests.cs (43)
40Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
67Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
99Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
129Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
165Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
200Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
232Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
260Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
291Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
325Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
354Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
385Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
419Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
451Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
480Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
512Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
545Assert.Equal(MethodKind.LocalFunction, symbol.MethodKind);
578Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
611Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
640Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
668Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
700Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
729Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
758Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
789Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
823Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
857Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
889Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
935Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
963Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
999Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1039Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1074Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1103Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1132Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1159Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1188Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1222Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1331Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1361Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1388Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1421Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
1454Assert.Equal(MethodKind.LambdaMethod, symbol.MethodKind);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (401)
Symbols\CheckedUserDefinedOperatorsTests.cs (103)
51var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
53Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
84var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
87Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
88Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
118var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
120Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
121Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
165var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
168Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
169Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
356var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
381var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
457var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
484var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
515var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
533expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
541expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
687var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
705expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
713expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
810var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
818expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
826expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
859var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
867expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
875expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
904var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
906Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
938var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
942Assert.Equal(MethodKind.UserDefinedOperator, opSymbol1.MethodKind);
948Assert.Equal(MethodKind.UserDefinedOperator, opSymbol2.MethodKind);
981var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
984Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
985Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
1017var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
1020Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
1023Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
1026Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[2].MethodKind);
1268var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
1270Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
1302var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
1305Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
1306Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
1337var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
1339Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
1340Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
1371var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
1374Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
1375Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
1526var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1553var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1635var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1662var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1695var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
1714expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
1722expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
1818var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1836expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1851expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1884var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1892expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1900expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1928var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1946expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
1954expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2053var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2071expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2079expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2112var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2120expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2128expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2181var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2183Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
2226var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
2229Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind);
2230Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind);
2441var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2468var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2502var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
2504Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind);
2538var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
2541Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind);
2542Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind);
2578var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
2580Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind);
2581Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind);
2617var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
2620Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind);
2621Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind);
2758var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2781var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
2854var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
2872expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
2880expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
3020var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
3038expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
3046expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
3188var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
3190Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind);
3220var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
3223Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind);
3224Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind);
Symbols\InterfaceImplementationTests.cs (25)
131Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classExplicitImplementationBase.MethodKind);
134Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classExplicitImplementation.MethodKind);
137Assert.Equal(MethodKind.Ordinary, classImplicitImplementation.MethodKind);
257Assert.Equal(MethodKind.Ordinary, classImplicitImplementation.MethodKind);
260Assert.Equal(MethodKind.Ordinary, classImplicitImplementationBase.MethodKind);
440Assert.Equal(MethodKind.ExplicitInterfaceImplementation, baseClassExplicitImplementationBase.MethodKind);
443Assert.Equal(MethodKind.ExplicitInterfaceImplementation, baseClassExplicitImplementation.MethodKind);
446Assert.Equal(MethodKind.Ordinary, baseClassImplicitImplementation.MethodKind);
519Assert.Equal(MethodKind.Ordinary, baseClassImplicitImplementation.MethodKind);
522Assert.Equal(MethodKind.Ordinary, baseClassImplicitImplementationBase.MethodKind);
582Assert.Equal(MethodKind.Ordinary, baseClassMethod.MethodKind);
681Assert.Equal(MethodKind.ExplicitInterfaceImplementation, baseClassMethod.MethodKind);
688Assert.Equal(MethodKind.Ordinary, class1Method.MethodKind);
696Assert.Equal(MethodKind.Ordinary, class2Method.MethodKind);
744Assert.Equal(MethodKind.Ordinary, baseClassMethodVirtual.MethodKind);
748Assert.Equal(MethodKind.Ordinary, baseClassMethodNonVirtual.MethodKind);
760Assert.Equal(MethodKind.Ordinary, class1MethodVirtual.MethodKind);
764Assert.Equal(MethodKind.Ordinary, class1MethodNonVirtual.MethodKind);
778Assert.Equal(MethodKind.Ordinary, class2MethodVirtual.MethodKind);
782Assert.Equal(MethodKind.Ordinary, class2MethodNonVirtual.MethodKind);
1022Assert.Equal(MethodKind.PropertyGet, synthesizedExplicitImpls[1].MethodKind);
1026Assert.Equal(MethodKind.PropertySet, synthesizedExplicitImpls[2].MethodKind);
2220Where(m => m.MethodKind == MethodKind.ExplicitInterfaceImplementation).
2221Single(m => m.ExplicitInterfaceImplementations.Single().MethodKind == MethodKind.EventAdd);
2296Single(m => m.MethodKind == MethodKind.ExplicitInterfaceImplementation);
Symbols\Metadata\PE\LoadingMethods.cs (21)
398Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind);
428Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind); // because it has name without '.'
466Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind);
502Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind);
530Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind); // because it has name without '.'
553Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind);
593Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind);
619Assert.Equal(MethodKind.Ordinary, derivedClassMethod.MethodKind);
644Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind);
648Assert.Equal(MethodKind.Ordinary, classGenericMethod.MethodKind);
677Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind);
681Assert.Equal(MethodKind.Ordinary, classGenericMethod.MethodKind);
1182Assert.Equal(m.Name == ".cctor" ? MethodKind.StaticConstructor : MethodKind.Constructor, ((MethodSymbol)m).MethodKind);
1187Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1192Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1197Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1202Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1207Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1212Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
1217Assert.Equal(MethodKind.Ordinary, ((MethodSymbol)m).MethodKind);
Symbols\Source\PropertyTests.cs (20)
604Assert.True(accessor.MethodKind == MethodKind.PropertyGet || accessor.MethodKind == MethodKind.PropertySet,
724VerifyAccessor(goodStatic.GetMethod, goodStatic, MethodKind.PropertyGet);
725VerifyAccessor(goodStatic.SetMethod, goodStatic, MethodKind.PropertySet);
726VerifyAccessor(badStatic.GetMethod, goodStatic, MethodKind.PropertyGet);
727VerifyAccessor(badStatic.SetMethod, goodStatic, MethodKind.PropertySet);
728VerifyAccessor(mismatchedStatic.GetMethod, goodStatic, MethodKind.PropertyGet);
729VerifyAccessor(mismatchedStatic.SetMethod, null, MethodKind.Ordinary);
741VerifyAccessor(goodInstance.GetMethod, goodInstance, MethodKind.PropertyGet);
742VerifyAccessor(goodInstance.SetMethod, goodInstance, MethodKind.PropertySet);
743VerifyAccessor(badInstance.GetMethod, goodInstance, MethodKind.PropertyGet);
744VerifyAccessor(badInstance.SetMethod, goodInstance, MethodKind.PropertySet);
745VerifyAccessor(mismatchedInstance.GetMethod, goodInstance, MethodKind.PropertyGet);
746VerifyAccessor(mismatchedInstance.SetMethod, null, MethodKind.Ordinary);
750VerifyAccessor(staticAndInstance.GetMethod, goodStatic, MethodKind.PropertyGet);
751VerifyAccessor(staticAndInstance.SetMethod, goodInstance, MethodKind.PropertySet);
756VerifyAccessor(getUsedAsSet.GetMethod, goodInstance, MethodKind.PropertyGet);
757VerifyAccessor(getUsedAsSet.SetMethod, goodInstance, MethodKind.PropertyGet);
761private void VerifyAccessor(MethodSymbol accessor, PEPropertySymbol associatedProperty, MethodKind methodKind)
769var method = (methodKind == MethodKind.PropertyGet) ? associatedProperty.GetMethod : associatedProperty.SetMethod;
Symbols\StaticAbstractMembersInInterfacesTests.cs (122)
16065Assert.Equal(MethodKind.Ordinary, cM01.MethodKind);
16127Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
16476Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
16488Assert.Equal(MethodKind.Ordinary, c1M01.MethodKind);
16493Assert.Equal(MethodKind.Ordinary, c2M01.MethodKind);
16561Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
16574Assert.Equal(MethodKind.Ordinary, c1M01.MethodKind);
16580Assert.Equal(MethodKind.Ordinary, c1M01.MethodKind);
16595Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
19300Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind);
19381Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind);
19473Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind);
19571Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
19654Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
19746Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
19835Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
20261Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20262Assert.Equal(MethodKind.UserDefinedOperator, c1.GetMember<MethodSymbol>(opName).MethodKind);
20267Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
20283Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind);
20396Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20397Assert.Equal(MethodKind.UserDefinedOperator, c1.GetMember<MethodSymbol>(opName).MethodKind);
20402Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
20418Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind);
20475Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20555Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20647Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20712Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind);
20793Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
20808Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
20815Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind);
20909Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
20922Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
20928Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
20943Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
21020Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
21033Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
21039Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
21054Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
21155Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
21168Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
21174Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind);
21188Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
22939Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
22954Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
23035Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
23047Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
23125Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
23140Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
23658Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
23716Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
23728Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
23820Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
24010Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
24068Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
24080Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind);
24172Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind);
24399Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Get.MethodKind);
24405Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Set.MethodKind);
24429Assert.Equal(MethodKind.PropertyGet, c1M01Get.MethodKind);
24440Assert.Equal(MethodKind.PropertySet, c1M01Set.MethodKind);
24454Assert.Equal(MethodKind.PropertyGet, c2M01Get.MethodKind);
24460Assert.Equal(MethodKind.PropertySet, c2M01Set.MethodKind);
24578Assert.Equal(MethodKind.PropertyGet, c1M01Get.MethodKind);
24588Assert.Equal(MethodKind.PropertySet, c1M01Set.MethodKind);
24603Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Set.MethodKind);
24639Assert.Equal(MethodKind.PropertyGet, c2M01Get.MethodKind);
24650Assert.Equal(MethodKind.PropertySet, c2M01Set.MethodKind);
24679Assert.Equal(MethodKind.PropertyGet, c3M01Get.MethodKind);
24690Assert.Equal(MethodKind.PropertySet, c3M01Set.MethodKind);
25717Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind);
25732Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind);
25812Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind);
25827Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind);
26360Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind);
26372Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind);
26634Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind);
26646Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind);
26927Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Add.MethodKind);
26933Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Remove.MethodKind);
26957Assert.Equal(MethodKind.EventAdd, c1M01Add.MethodKind);
26968Assert.Equal(MethodKind.EventRemove, c1M01Remove.MethodKind);
26982Assert.Equal(MethodKind.EventAdd, c2M01Add.MethodKind);
26988Assert.Equal(MethodKind.EventRemove, c2M01Remove.MethodKind);
27118Assert.Equal(MethodKind.EventAdd, c1M01Add.MethodKind);
27129Assert.Equal(MethodKind.EventRemove, c1M01Remove.MethodKind);
27143Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Add.MethodKind);
27155Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Remove.MethodKind);
27195Assert.Equal(MethodKind.EventAdd, c2M01Add.MethodKind);
27207Assert.Equal(MethodKind.EventRemove, c2M01Remove.MethodKind);
27229Assert.Equal(MethodKind.EventAdd, c3M02Add.MethodKind);
27240Assert.Equal(MethodKind.EventRemove, c3M02Remove.MethodKind);
27254Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c3M02Add.MethodKind);
27266Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c3M02Remove.MethodKind);
27308Assert.Equal(MethodKind.EventAdd, c4M02Add.MethodKind);
27321Assert.Equal(MethodKind.EventRemove, c4M02Remove.MethodKind);
28657Assert.Equal(MethodKind.Conversion, cM01.MethodKind);
28682Assert.Equal(MethodKind.Conversion, cM02.MethodKind);
28783Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind);
28799Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM02.MethodKind);
29000Assert.Equal(MethodKind.Conversion, m01.MethodKind);
29001Assert.Equal(MethodKind.Conversion, c1.GetMember<MethodSymbol>(opName).MethodKind);
29006Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
29022Assert.Equal(MethodKind.Conversion, c2M01.MethodKind);
29080Assert.Equal(MethodKind.Conversion, m01.MethodKind);
29176Assert.Equal(MethodKind.Conversion, m01.MethodKind);
29252Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
29267Assert.Equal(MethodKind.Conversion, c1M01.MethodKind);
29274Assert.Equal(MethodKind.Conversion, c2M01.MethodKind);
29367Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind);
29380Assert.Equal(MethodKind.Conversion, c1M01.MethodKind);
29386Assert.Equal(MethodKind.Conversion, c1M01.MethodKind);
29401Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind);
32173var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
32175Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
32210var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray();
32214Assert.Equal(MethodKind.UserDefinedOperator, opSymbol1.MethodKind);
32220Assert.Equal(MethodKind.UserDefinedOperator, opSymbol2.MethodKind);
32421var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
32423Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind);
32608var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single();
32610Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind);
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (1)
Microsoft.CodeAnalysis.CSharp.Test.Utilities (8)
Microsoft.CodeAnalysis.CSharp.Workspaces (17)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (3)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
Microsoft.CodeAnalysis.Features (89)
Microsoft.CodeAnalysis.LanguageServer (1)
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (2)
Microsoft.CodeAnalysis.PublicApiAnalyzers (38)
Microsoft.CodeAnalysis.ResxSourceGenerator (29)
Microsoft.CodeAnalysis.Test.Utilities (25)
Diagnostics\TrackingDiagnosticAnalyzer.cs (18)
31public readonly MethodKind? MethodKind;
40MethodKind = symbol is IMethodSymbol ? ((IMethodSymbol)symbol).MethodKind : (MethodKind?)null;
107protected virtual bool IsOnCodeBlockSupported(SymbolKind symbolKind, MethodKind methodKind, bool returnsVoid)
114const MethodKind InvalidMethodKind = (MethodKind)(-1);
119new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.Constructor, ReturnsVoid = true },
120new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.Conversion, ReturnsVoid = false },
121new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.Destructor, ReturnsVoid = true }, // C# only
122new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.EventAdd, ReturnsVoid = true },
123new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.EventRemove, ReturnsVoid = true },
124new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.EventRaise, ReturnsVoid = true }, // VB only
125new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.ExplicitInterfaceImplementation, ReturnsVoid = true }, // C# only
126new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.Ordinary, ReturnsVoid = false },
127new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.Ordinary, ReturnsVoid = true },
128new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.PropertyGet, ReturnsVoid = false },
129new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.PropertySet, ReturnsVoid = true },
130new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.StaticConstructor, ReturnsVoid = true },
131new { SymbolKind = SymbolKind.Method, MethodKind = MethodKind.UserDefinedOperator, ReturnsVoid = false },
Microsoft.CodeAnalysis.VisualBasic (533)
Binding\DocumentationCommentCrefBinder.vb (27)
904CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.TrueOperatorName, opInfo, useSiteInfo)
910CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.FalseOperatorName, opInfo, useSiteInfo)
916CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator,
925CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.UnaryPlusOperatorName, opInfo, useSiteInfo)
928CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.AdditionOperatorName, opInfo, useSiteInfo)
934CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.UnaryNegationOperatorName, opInfo, useSiteInfo)
937CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.SubtractionOperatorName, opInfo, useSiteInfo)
943CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.MultiplyOperatorName, opInfo, useSiteInfo)
949CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.DivisionOperatorName, opInfo, useSiteInfo)
955CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.IntegerDivisionOperatorName, opInfo, useSiteInfo)
961CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.ModulusOperatorName, opInfo, useSiteInfo)
967CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.ExponentOperatorName, opInfo, useSiteInfo)
973CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.EqualityOperatorName, opInfo, useSiteInfo)
979CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.InequalityOperatorName, opInfo, useSiteInfo)
985CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.LessThanOperatorName, opInfo, useSiteInfo)
991CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.GreaterThanOperatorName, opInfo, useSiteInfo)
997CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.LessThanOrEqualOperatorName, opInfo, useSiteInfo)
1003CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.GreaterThanOrEqualOperatorName, opInfo, useSiteInfo)
1009CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.LikeOperatorName, opInfo, useSiteInfo)
1015CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.ConcatenateOperatorName, opInfo, useSiteInfo)
1021CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator,
1030CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator,
1039CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator, WellKnownMemberNames.ExclusiveOrOperatorName, opInfo, useSiteInfo)
1045CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator,
1054CollectOperatorsAndConversionsInType(type, symbols, MethodKind.UserDefinedOperator,
1063CollectOperatorsAndConversionsInType(type, symbols, MethodKind.Conversion,
1076kind As MethodKind,
Semantics\Operators.vb (29)
2814Debug.Assert(method.MethodKind = MethodKind.Conversion)
2836CollectUserDefinedOperators(source, destination, MethodKind.Conversion,
2850opKind As MethodKind,
2911opKind As MethodKind,
2955CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2969CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2992CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2997CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
3002CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
3028CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3033CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3038CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3043CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3048CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3053CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3058CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3063CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3068CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3073CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3078CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3083CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3088CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3093CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3098CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3104CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3111CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3116CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3122CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3128CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
SymbolDisplay\SymbolDisplayVisitor.Members.vb (40)
170If symbol.MethodKind = MethodKind.ReducedExtension AndAlso Format.ExtensionMethodStyle = SymbolDisplayExtensionMethodStyle.StaticMethod Then
172ElseIf symbol.MethodKind <> MethodKind.ReducedExtension AndAlso Format.ExtensionMethodStyle = SymbolDisplayExtensionMethodStyle.InstanceMethod Then
197Case MethodKind.Constructor, MethodKind.StaticConstructor
201Case MethodKind.PropertyGet
212Case MethodKind.PropertySet
223Case MethodKind.EventAdd,
224MethodKind.EventRemove,
225MethodKind.EventRaise
233symbol.MethodKind = MethodKind.EventAdd,
236symbol.MethodKind = MethodKind.EventRemove,
244Case MethodKind.Conversion
259Case MethodKind.UserDefinedOperator, MethodKind.BuiltinOperator
270Case MethodKind.Ordinary,
271MethodKind.DelegateInvoke,
272MethodKind.ReducedExtension,
273MethodKind.AnonymousFunction
296If symbol.MethodKind = MethodKind.ReducedExtension Then
311Case MethodKind.Ordinary, MethodKind.DelegateInvoke, MethodKind.DeclareMethod
314Case MethodKind.ReducedExtension
319Case MethodKind.PropertyGet,
320MethodKind.PropertySet,
321MethodKind.EventAdd,
322MethodKind.EventRemove,
323MethodKind.EventRaise
338Case MethodKind.Constructor, MethodKind.StaticConstructor
345Case MethodKind.UserDefinedOperator, MethodKind.BuiltinOperator
361Case MethodKind.Conversion
370Case MethodKind.AnonymousFunction
383If symbol.MethodKind = MethodKind.BuiltinOperator Then
427AddParametersIfRequired(isExtensionMethod:=method.IsExtensionMethod AndAlso method.MethodKind <> MethodKind.ReducedExtension,
436Case MethodKind.Constructor,
437MethodKind.StaticConstructor
687Return vbMethod IsNot Nothing AndAlso vbMethod.MethodKind = MethodKind.DeclareMethod
701DirectCast(symbol, IMethodSymbol).MethodKind = MethodKind.AnonymousFunction OrElse
Symbols\Metadata\PE\PEMethodSymbol.vb (50)
88Public Property MethodKind As MethodKind
90Return CType((_bits >> s_methodKindOffset) And s_methodKindMask, MethodKind)
92Set(value As MethodKind)
162Public Sub InitializeMethodKind(methodKind As MethodKind)
357Public Overrides ReadOnly Property MethodKind As MethodKind
374Private Function ComputeMethodKind() As MethodKind
396Return MethodKind.SharedConstructor
399Return MethodKind.Constructor
403Return MethodKind.Ordinary
417Return MethodKind.Ordinary
422Return MethodKind.DelegateInvoke
425Return MethodKind.Ordinary
430Return _packedFlags.MethodKind = MethodKind.Constructor AndAlso ParameterCount = 0
445_packedFlags.MethodKind = MethodKind.Constructor
452Private Function ComputeMethodKindForPotentialOperatorOrConversion(opInfo As OverloadResolution.OperatorInfo) As MethodKind
458Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.Conversion, WellKnownMemberNames.ExplicitConversionName, True)
460Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.Conversion, WellKnownMemberNames.ImplicitConversionName, True)
462Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
465Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
467Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, WellKnownMemberNames.OnesComplementOperatorName, False)
491Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
495Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
497Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, WellKnownMemberNames.BitwiseAndOperatorName, False)
501Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
503Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, WellKnownMemberNames.BitwiseOrOperatorName, False)
507Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
509Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, WellKnownMemberNames.LeftShiftOperatorName, False)
513Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, Nothing, False)
515Return ComputeMethodKindForPotentialOperatorOrConversion(opInfo, MethodKind.UserDefinedOperator, WellKnownMemberNames.RightShiftOperatorName, False)
532potentialMethodKind As MethodKind,
535) As MethodKind
536Debug.Assert(potentialMethodKind = MethodKind.Conversion OrElse potentialMethodKind = MethodKind.UserDefinedOperator)
538Dim result As MethodKind = potentialMethodKind
560Case MethodKind.Ordinary
573If potentialMethodKind = MethodKind.Conversion AndAlso Not outputType.IsSameTypeIgnoringAll(contender.ReturnType) Then
589result = MethodKind.Ordinary
593contender._packedFlags.InitializeMethodKind(MethodKind.Ordinary)
677Me.MethodKind = MethodKind.Ordinary AndAlso
924Me.MethodKind = MethodKind.PropertySet AndAlso
1007Friend Function SetAssociatedProperty(propertySymbol As PEPropertySymbol, methodKind As MethodKind) As Boolean
1008Debug.Assert((methodKind = MethodKind.PropertyGet) OrElse (methodKind = MethodKind.PropertySet))
1016Friend Function SetAssociatedEvent(eventSymbol As PEEventSymbol, methodKind As MethodKind) As Boolean
1017Debug.Assert((methodKind = MethodKind.EventAdd) OrElse (methodKind = MethodKind.EventRemove) OrElse (methodKind = MethodKind.EventRaise))
1021Private Function SetAssociatedPropertyOrEvent(propertyOrEventSymbol As Symbol, methodKind As MethodKind) As Boolean
1272MethodKind = MethodKind.Constructor AndAlso
1372If MethodKind <> MethodKind.Constructor Then
Symbols\Source\OverrideHidingHelper.vb (17)
497Case MethodKind.LambdaMethod, MethodKind.Constructor, MethodKind.SharedConstructor
499Case MethodKind.Conversion, MethodKind.DelegateInvoke, MethodKind.UserDefinedOperator, MethodKind.Ordinary, MethodKind.DeclareMethod,
500MethodKind.EventAdd, MethodKind.EventRaise, MethodKind.EventRemove,
501MethodKind.PropertyGet, MethodKind.PropertySet
626(DirectCast(DirectCast(overridingSym, Symbol), MethodSymbol).MethodKind = MethodKind.PropertyGet OrElse
627DirectCast(DirectCast(overridingSym, Symbol), MethodSymbol).MethodKind = MethodKind.PropertySet)))
688(DirectCast(DirectCast(overridingSym, Symbol), MethodSymbol).MethodKind = MethodKind.PropertyGet OrElse
689DirectCast(DirectCast(overridingSym, Symbol), MethodSymbol).MethodKind = MethodKind.PropertySet)))
Symbols\Source\SourceMethodSymbol.vb (30)
629Public Overrides ReadOnly Property MethodKind As MethodKind
1274Debug.Assert(Me.MethodKind <> MethodKind.EventAdd,
1499If Not (Me.MethodKind <> MethodKind.Ordinary AndAlso Me.MethodKind <> MethodKind.DeclareMethod) AndAlso
1623If Me.MethodKind <> MethodKind.Ordinary AndAlso Me.MethodKind <> MethodKind.DeclareMethod Then
1808Case MethodKind.DeclareMethod
1812Case MethodKind.PropertyGet, MethodKind.PropertySet
1816Case MethodKind.EventAdd, MethodKind.EventRaise, MethodKind.EventRemove
1900Debug.Assert(MethodKind <> MethodKind.DeclareMethod)
1991Case MethodKind.Constructor,
1992MethodKind.SharedConstructor,
1993MethodKind.PropertyGet,
1994MethodKind.PropertySet,
1995MethodKind.EventAdd,
1996MethodKind.EventRemove,
1997MethodKind.EventRaise,
1998MethodKind.Conversion,
1999MethodKind.UserDefinedOperator
2286Case MethodKind.Constructor,
2287MethodKind.SharedConstructor,
2288MethodKind.EventRemove,
2289MethodKind.EventRaise
2294Case MethodKind.EventAdd
2300Case MethodKind.PropertyGet, MethodKind.PropertySet
2322If Me.MethodKind = MethodKind.UserDefinedOperator Then
Symbols\Source\SourceNamedTypeSymbol_GroupClass.vb (2)
402ConflictsWithExistingMemberOrType(binder.GetAccessorName(propertyName, MethodKind.PropertyGet, False), membersBuilder, nestedTypes, conflictsWith) OrElse
403(disposeMethod.Length > 0 AndAlso ConflictsWithExistingMemberOrType(binder.GetAccessorName(propertyName, MethodKind.PropertySet, isWinMd), membersBuilder, nestedTypes, conflictsWith)) OrElse
Symbols\Symbol_Attributes.vb (12)
74Case MethodKind.Constructor,
75MethodKind.SharedConstructor
78Case MethodKind.Ordinary,
79MethodKind.DeclareMethod,
80MethodKind.UserDefinedOperator,
81MethodKind.Conversion,
82MethodKind.PropertyGet,
83MethodKind.PropertySet,
84MethodKind.EventAdd,
85MethodKind.EventRaise,
86MethodKind.EventRemove,
87MethodKind.DelegateInvoke
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (5)
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (3)
Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler (6)
Microsoft.CodeAnalysis.VisualBasic.Features (14)
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (23)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (259)
SymbolsTests\Metadata\PE\LoadingMethods.vb (16)
393Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
422Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
456Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
488Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
515Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
541Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind)
545Assert.Equal(MethodKind.Ordinary, classGenericMethod.MethodKind)
772Assert.Equal(If(m.Name = ".cctor", MethodKind.SharedConstructor, MethodKind.Constructor), DirectCast(m, MethodSymbol).MethodKind)
776Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
780Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
784Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
788Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
792Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
796Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
800Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
SymbolsTests\Metadata\PE\LoadingOperators.vb (122)
556New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"),
557New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"),
558New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalAnd(x As A1, y As A1) As A1"),
559New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"),
560New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalOr(x As A1, y As A1) As A1"),
561New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"),
562New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"),
563New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"),
564New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"),
565New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"),
566New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"),
567New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"),
568New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >(x As A1, y As A1) As A1"),
569New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >=(x As A1, y As A1) As A1"),
570New BaseLine(MethodKind.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"),
571New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"),
572New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"),
573New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"),
574New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedLeftShift(x As A1, y As Integer) As A1"),
575New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"),
576New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"),
577New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"),
578New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"),
579New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"),
580New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"),
581New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalNot(x As A1) As A1"),
582New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"),
583New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedRightShift(x As A1, y As Integer) As A1"),
584New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"),
585New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"),
586New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"),
587New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")}
608Public ReadOnly Kind As MethodKind
611Public Sub New(kind As MethodKind, display As String)
1152New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"),
1153New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"),
1154New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALAND(x As A1, y As A1) As A1"),
1155New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"),
1156New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALOR(x As A1, y As A1) As A1"),
1157New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"),
1158New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"),
1159New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"),
1160New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"),
1161New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"),
1162New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"),
1163New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"),
1164New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >(x As A1, y As A1) As A1"),
1165New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >=(x As A1, y As A1) As A1"),
1166New BaseLine(MethodKind.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"),
1167New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"),
1168New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"),
1169New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"),
1170New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_UNSIGNEDLEFTSHIFT(x As A1, y As Integer) As A1"),
1171New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"),
1172New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"),
1173New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"),
1174New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"),
1175New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"),
1176New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"),
1177New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALNOT(x As A1) As A1"),
1178New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"),
1179New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_UNSIGNEDRIGHTSHIFT(x As A1, y As Integer) As A1"),
1180New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"),
1181New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"),
1182New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"),
1183New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")}
1375Assert.Equal(MethodKind.Ordinary, method.MethodKind)
1914New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"),
1915New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"),
1916New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalAnd(x As A1, y As A1) As A1"),
1917New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"),
1918New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalOr(x As A1, y As A1) As A1"),
1919New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"),
1920New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"),
1921New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"),
1922New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"),
1923New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"),
1924New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"),
1925New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"),
1926New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >(x As A1, y As A1) As A1"),
1927New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >=(x As A1, y As A1) As A1"),
1928New BaseLine(MethodKind.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"),
1929New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"),
1930New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"),
1931New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"),
1932New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedLeftShift(x As A1, y As Integer) As A1"),
1933New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"),
1934New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"),
1935New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"),
1936New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"),
1937New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"),
1938New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"),
1939New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalNot(x As A1) As A1"),
1940New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"),
1941New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedRightShift(x As A1, y As Integer) As A1"),
1942New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"),
1943New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"),
1944New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"),
1945New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")}
2075New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"),
2076New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"),
2077New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"),
2078New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"),
2079New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1")}
2192Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind)
2195Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
2292Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind)
2293Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind)
2294Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind)
2390Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind)
2391Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind)
2392Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind)
2470Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind)
2471Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers("op_OnesComplement").Single(), MethodSymbol).MethodKind)
2549Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers("op_OnesComplement").Single(), MethodSymbol).MethodKind)
2550Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind)
2628Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind)
2629Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind)
2692Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind)
2782Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(m, MethodSymbol).MethodKind)
2804Assert.Equal(MethodKind.Conversion, op_Implicit.MethodKind)
2805Assert.Equal(MethodKind.Conversion, op_Explicit.MethodKind)
SymbolsTests\Source\OperatorsTests.vb (60)
155New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"),
156New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"),
157New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"),
158New BaseLine(MethodKind.UserDefinedOperator, "op_True"),
159New BaseLine(MethodKind.UserDefinedOperator, "op_False"),
160New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"),
161New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"),
162New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"),
163New BaseLine(MethodKind.UserDefinedOperator, "op_Division"),
164New BaseLine(MethodKind.UserDefinedOperator, "op_IntegerDivision"),
165New BaseLine(MethodKind.UserDefinedOperator, "op_Modulus"),
166New BaseLine(MethodKind.UserDefinedOperator, "op_Exponent"),
167New BaseLine(MethodKind.UserDefinedOperator, "op_Equality"),
168New BaseLine(MethodKind.UserDefinedOperator, "op_Inequality"),
169New BaseLine(MethodKind.UserDefinedOperator, "op_LessThan"),
170New BaseLine(MethodKind.UserDefinedOperator, "op_GreaterThan"),
171New BaseLine(MethodKind.UserDefinedOperator, "op_LessThanOrEqual"),
172New BaseLine(MethodKind.UserDefinedOperator, "op_GreaterThanOrEqual"),
173New BaseLine(MethodKind.UserDefinedOperator, "op_Like"),
174New BaseLine(MethodKind.UserDefinedOperator, "op_Concatenate"),
175New BaseLine(MethodKind.UserDefinedOperator, "op_BitwiseAnd"),
176New BaseLine(MethodKind.UserDefinedOperator, "op_BitwiseOr"),
177New BaseLine(MethodKind.UserDefinedOperator, "op_ExclusiveOr"),
178New BaseLine(MethodKind.UserDefinedOperator, "op_LeftShift"),
179New BaseLine(MethodKind.UserDefinedOperator, "op_RightShift"),
180New BaseLine(MethodKind.Conversion, "op_Implicit"),
181New BaseLine(MethodKind.Conversion, "op_Explicit")
240Public ReadOnly Kind As MethodKind
243Public Sub New(kind As MethodKind, name As String)
360New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"),
361New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"),
362New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"),
363New BaseLine(MethodKind.UserDefinedOperator, "op_True"),
364New BaseLine(MethodKind.UserDefinedOperator, "op_False"),
365New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"),
366New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"),
367New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"),
368New BaseLine(MethodKind.UserDefinedOperator, "op_Division"),
369New BaseLine(MethodKind.UserDefinedOperator, "op_IntegerDivision"),
370New BaseLine(MethodKind.UserDefinedOperator, "op_Modulus"),
371New BaseLine(MethodKind.UserDefinedOperator, "op_Exponent"),
372New BaseLine(MethodKind.UserDefinedOperator, "op_Equality"),
373New BaseLine(MethodKind.UserDefinedOperator, "op_Inequality"),
374New BaseLine(MethodKind.Conversion, "op_Explicit"),
375New BaseLine(MethodKind.Conversion, "op_Implicit"),
376New BaseLine(MethodKind.Conversion, "op_Explicit"),
377New BaseLine(MethodKind.UserDefinedOperator, "op_LeftShift"),
378New BaseLine(MethodKind.UserDefinedOperator, "op_RightShift"),
379New BaseLine(MethodKind.UserDefinedOperator, "op_ExclusiveOr")
528New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"),
529New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"),
530New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"),
531New BaseLine(MethodKind.UserDefinedOperator, "op_True"),
532New BaseLine(MethodKind.UserDefinedOperator, "op_False"),
533New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"),
534New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"),
535New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"),
536New BaseLine(MethodKind.UserDefinedOperator, "op_Division"),
537New BaseLine(MethodKind.Conversion, "op_Implicit"),
538New BaseLine(MethodKind.Conversion, "op_Explicit")
SymbolsTests\Source\PropertyTests.vb (20)
5601VerifyAccessor(goodStatic.GetMethod, goodStatic, MethodKind.PropertyGet)
5602VerifyAccessor(goodStatic.SetMethod, goodStatic, MethodKind.PropertySet)
5603VerifyAccessor(badStatic.GetMethod, goodStatic, MethodKind.PropertyGet)
5604VerifyAccessor(badStatic.SetMethod, goodStatic, MethodKind.PropertySet)
5605VerifyAccessor(mismatchedStatic.GetMethod, goodStatic, MethodKind.PropertyGet)
5606VerifyAccessor(mismatchedStatic.SetMethod, mismatchedStatic, MethodKind.PropertySet)
5618VerifyAccessor(goodInstance.GetMethod, goodInstance, MethodKind.PropertyGet)
5619VerifyAccessor(goodInstance.SetMethod, goodInstance, MethodKind.PropertySet)
5620VerifyAccessor(badInstance.GetMethod, goodInstance, MethodKind.PropertyGet)
5621VerifyAccessor(badInstance.SetMethod, goodInstance, MethodKind.PropertySet)
5622VerifyAccessor(mismatchedInstance.GetMethod, goodInstance, MethodKind.PropertyGet)
5623VerifyAccessor(mismatchedInstance.SetMethod, mismatchedInstance, MethodKind.PropertySet)
5627VerifyAccessor(staticAndInstance.GetMethod, goodStatic, MethodKind.PropertyGet)
5628VerifyAccessor(staticAndInstance.SetMethod, goodInstance, MethodKind.PropertySet)
5633VerifyAccessor(getUsedAsSet.GetMethod, goodInstance, MethodKind.PropertyGet)
5634VerifyAccessor(getUsedAsSet.SetMethod, goodInstance, MethodKind.PropertyGet)
8297Dim isAccessor = accessor.MethodKind = MethodKind.PropertyGet OrElse accessor.MethodKind = MethodKind.PropertySet
8352Private Sub VerifyAccessor(accessor As MethodSymbol, associatedProperty As PEPropertySymbol, methodKind As MethodKind)
8357Dim method = If((methodKind = MethodKind.PropertyGet), associatedProperty.GetMethod, associatedProperty.SetMethod)
Microsoft.CodeAnalysis.VisualBasic.Test.Utilities (5)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (13)
Microsoft.CodeAnalysis.Workspaces (161)
Microsoft.CodeAnalysis.Workspaces.Test.Utilities (1)
Microsoft.CodeAnalysis.Workspaces.UnitTests (28)
Options\EditorConfigNamingStyleParserTests.cs (12)
43new SymbolKindOrTypeKind(MethodKind.Ordinary),
113new SymbolKindOrTypeKind(MethodKind.Ordinary),
114new SymbolKindOrTypeKind(MethodKind.LocalFunction)
172new SymbolKindOrTypeKind(MethodKind.Ordinary),
220new SymbolKindOrTypeKind(MethodKind.Ordinary),
304var expectedApplicableSymbolKindList = new[] { new SymbolKindOrTypeKind(MethodKind.LocalFunction) };
334[InlineData("property,method", new object[] { SymbolKind.Property, MethodKind.Ordinary })]
338[InlineData("*", new object[] { SymbolKind.Namespace, TypeKind.Class, TypeKind.Struct, TypeKind.Interface, TypeKind.Enum, SymbolKind.Property, MethodKind.Ordinary, MethodKind.LocalFunction, SymbolKind.Field, SymbolKind.Event, TypeKind.Delegate, SymbolKind.Parameter, SymbolKind.TypeParameter, SymbolKind.Local })]
339[InlineData(null, new object[] { SymbolKind.Namespace, TypeKind.Class, TypeKind.Struct, TypeKind.Interface, TypeKind.Enum, SymbolKind.Property, MethodKind.Ordinary, MethodKind.LocalFunction, SymbolKind.Field, SymbolKind.Event, TypeKind.Delegate, SymbolKind.Parameter, SymbolKind.TypeParameter, SymbolKind.Local })]
340[InlineData("property,method,invalid", new object[] { SymbolKind.Property, MethodKind.Ordinary })]
UtilityTest\DocumentationCommentIdTests.cs (8)
155CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.#cctor", compilation, s => s.MethodKind == MethodKind.StaticConstructor);
156CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.#ctor", compilation, s => s.MethodKind == MethodKind.Constructor && s.Parameters.Length == 0);
157CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.#ctor(System.String)", compilation, s => s.MethodKind == MethodKind.Constructor && s.Parameters.Length == 1);
174CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.Finalize", compilation, s => s.MethodKind == MethodKind.Destructor);
281CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.op_UnaryPlus(Acme.Widget)", compilation, m => m.MethodKind == MethodKind.UserDefinedOperator && m.Parameters.Length == 1);
297CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.op_Addition(Acme.Widget,Acme.Widget)", compilation, m => m.MethodKind == MethodKind.UserDefinedOperator && m.Parameters.Length == 2);
314CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.op_Explicit(Acme.Widget)~System.Int32", compilation, m => m.MethodKind == MethodKind.Conversion && m.Parameters.Length == 1 && m.ReturnType.Name == "Int32");
315CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.op_Implicit(Acme.Widget)~System.Int64", compilation, m => m.MethodKind == MethodKind.Conversion && m.Parameters.Length == 1 && m.ReturnType.Name == "Int64");
Microsoft.Gen.Logging (1)
Microsoft.Interop.ComInterfaceGenerator (2)
Microsoft.VisualStudio.LanguageServices (23)
Microsoft.VisualStudio.LanguageServices.CSharp (37)
CodeModel\CSharpCodeModelService.cs (27)
996if (methodSymbol.MethodKind is MethodKind.PropertyGet or
997MethodKind.PropertySet or
998MethodKind.EventAdd or
999MethodKind.EventRemove or
1000MethodKind.EventRaise)
1491public override MethodKind GetAccessorKind(SyntaxNode node)
1494SyntaxKind.GetAccessorDeclaration => MethodKind.PropertyGet,
1495SyntaxKind.SetAccessorDeclaration => MethodKind.PropertySet,
1496SyntaxKind.AddAccessorDeclaration => MethodKind.EventAdd,
1497SyntaxKind.RemoveAccessorDeclaration => MethodKind.EventRemove,
1501private static SyntaxKind GetAccessorSyntaxKind(MethodKind methodKind)
1504MethodKind.PropertyGet => SyntaxKind.GetAccessorDeclaration,
1505MethodKind.PropertySet => SyntaxKind.SetAccessorDeclaration,
1506MethodKind.EventAdd => SyntaxKind.AddAccessorDeclaration,
1507MethodKind.EventRemove => SyntaxKind.RemoveAccessorDeclaration,
1511public override bool TryGetAccessorNode(SyntaxNode parentNode, MethodKind kind, [NotNullWhen(true)] out SyntaxNode? accessorNode)
2190case MethodKind.Ordinary:
2191case MethodKind.ExplicitInterfaceImplementation:
2194case MethodKind.Constructor:
2195case MethodKind.StaticConstructor:
2198case MethodKind.Destructor:
2201case MethodKind.UserDefinedOperator:
2202case MethodKind.Conversion:
2205case MethodKind.PropertyGet:
2206case MethodKind.EventRemove:
2209case MethodKind.PropertySet:
2210case MethodKind.EventAdd:
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (7)
Microsoft.VisualStudio.LanguageServices.UnitTests (2)
Microsoft.VisualStudio.LanguageServices.VisualBasic (33)
Roslyn.Diagnostics.Analyzers (30)
Roslyn.Diagnostics.CSharp.Analyzers (1)
Test.Utilities (29)
Text.Analyzers (33)