4280 references to MethodKind
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (1)
111IMethodReferenceOperation m when m.Method.MethodKind == MethodKind.Constructor => m.Method.ContainingType,
GenerateDocumentationAndConfigFiles (122)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
ILLink.RoslynAnalyzer (18)
DataFlow\LocalDataFlowAnalysis.cs (2)
83methodSymbol.MethodKind is not (MethodKind.LambdaMethod or MethodKind.LocalFunction));
DataFlow\LocalDataFlowVisitor.cs (3)
617Debug.Assert(localFunction.MethodKind == MethodKind.LocalFunction); 764Debug.Assert(lambda.MethodKind == MethodKind.LambdaMethod); 877Debug.Assert(localFunction.MethodKind == MethodKind.LocalFunction);
DynamicallyAccessedMembersAnalyzer.cs (4)
307if ((methodSymbol.MethodKind != MethodKind.PropertyGet && methodSymbol.MethodKind != MethodKind.PropertySet) 314if (methodSymbol.MethodKind == MethodKind.PropertyGet 317|| methodSymbol.MethodKind == MethodKind.PropertySet
ISymbolExtensions.cs (3)
213=> (symbol as IMethodSymbol)?.MethodKind is MethodKind.Constructor or MethodKind.StaticConstructor; 216=> (symbol as IMethodSymbol)?.MethodKind == MethodKind.StaticConstructor;
TrimAnalysis\FlowAnnotations.cs (2)
175if (parameterMethod!.MethodKind == MethodKind.PropertySet 197if (method.MethodKind is MethodKind.PropertyGet && returnDamt == DynamicallyAccessedMemberTypes.None)
TrimAnalysis\HandleCallAction.cs (2)
312if (method.Method.MethodKind == MethodKind.PropertyGet || method.Method.MethodKind == MethodKind.PropertySet)
TrimAnalysis\MethodReturnValue.cs (1)
23Debug.Assert(!isNewObj || methodSymbol.MethodKind == MethodKind.Constructor, "isNewObj can only be true for constructors");
TrimAnalysis\TrimAnalysisVisitor.cs (1)
409if (method.MethodKind != MethodKind.PropertyGet)
Metrics (101)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Metrics.Legacy (101)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.Analyzers.Local (4)
ApiLifecycle\AssemblyAnalysis.cs (4)
209is not MethodKind.PropertyGet 210and not MethodKind.PropertySet 211and not MethodKind.EventAdd 212and not MethodKind.EventRemove;
Microsoft.AspNetCore.App.Analyzers (1)
src\Shared\Roslyn\MvcFacts.cs (1)
62if (method.MethodKind != MethodKind.Ordinary)
Microsoft.AspNetCore.Components.Analyzers (2)
InternalUsageAnalyzer.cs (2)
100if (method.MethodKind != MethodKind.PropertyGet) 107if (method.MethodKind != MethodKind.PropertySet)
Microsoft.AspNetCore.Components.SdkAnalyzers (2)
InternalUsageAnalyzer.cs (2)
100if (method.MethodKind != MethodKind.PropertyGet) 107if (method.MethodKind != MethodKind.PropertySet)
Microsoft.AspNetCore.Mvc.Analyzers (3)
AttributesShouldNotBeAppliedToPageModelAnalyzer.cs (1)
69return method.MethodKind == MethodKind.Ordinary &&
src\Shared\Roslyn\MvcFacts.cs (1)
62if (method.MethodKind != MethodKind.Ordinary)
TopLevelParameterNameAnalyzer.cs (1)
41if (method.MethodKind != MethodKind.Ordinary)
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
src\Shared\Roslyn\MvcFacts.cs (1)
62if (method.MethodKind != MethodKind.Ordinary)
Microsoft.AspNetCore.OpenApi.SourceGenerators (3)
XmlCommentGenerator.Parser.cs (1)
73if (method.MethodKind == MethodKind.Constructor)
XmlComments\XmlComment.InheritDoc.cs (2)
282if (methodSymbol.MethodKind is MethodKind.Constructor or MethodKind.StaticConstructor)
Microsoft.CodeAnalysis (15)
CodeGen\CompilationTestData.cs (1)
128var format = (iMethod.MethodKind == MethodKind.UserDefinedOperator) ?
Compilation\Compilation.cs (2)
1540/// cref="MethodKind.BuiltinOperator"/> for a binary operator. Built-in operators are commonly created for 1568/// cref="MethodKind.BuiltinOperator"/> for a unary operator. Built-in operators are commonly created for
Operations\ControlFlowGraph.cs (1)
57Debug.Assert(method.MethodKind == MethodKind.LocalFunction);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (2)
98Debug.Assert(symbol.MethodKind == MethodKind.LocalFunction); 117Debug.Assert(others.All(((IMethodSymbol m, ILocalFunctionOperation _) tuple) => tuple.m.MethodKind == MethodKind.LocalFunction));
SymbolDisplay\SymbolDisplayExtensionMethodStyle.cs (1)
15/// Displays the extension method based on its <see cref="MethodKind"/>.
Symbols\IMethodSymbol.cs (6)
26MethodKind MethodKind { get; } 223/// Modifier types that are considered part of the calling convention of this method, if the <see cref="MethodKind"/> is <see cref="MethodKind.FunctionPointerSignature"/> 233/// If this method has <see cref="MethodKind"/> of <see cref="MethodKind.PropertyGet"/> or <see cref="MethodKind.PropertySet"/>, 235/// If this method has <see cref="MethodKind"/> of <see cref="MethodKind.EventAdd"/> or <see cref="MethodKind.EventRemove"/>,
Symbols\ISymbolExtensions.cs (2)
19if (method.MethodKind != MethodKind.ReducedExtension) 184MethodKind: MethodKind.Ordinary,
Microsoft.CodeAnalysis.Analyzers (122)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.AnalyzerUtilities (117)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
156containingMethod.MethodKind == MethodKind.Constructor &&
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (2)
358Debug.Assert(targetMethod.MethodKind is MethodKind.LambdaMethod or MethodKind.LocalFunction);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (2)
638if (method.MethodKind == MethodKind.Constructor 695if (method.MethodKind == MethodKind.Constructor
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebInputSources.cs (1)
117|| methodSymbol.MethodKind != MethodKind.Ordinary
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (1)
159Debug.Assert(localFunction.MethodKind == MethodKind.LocalFunction);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (9)
634Debug.Assert(localFunction.MethodKind == MethodKind.LocalFunction); 2482else if (invokedMethod.MethodKind == MethodKind.Constructor) 2553method.MethodKind == MethodKind.DelegateInvoke) 3293if (targetMethod.MethodKind == MethodKind.LocalFunction) 3337if (targetMethod.MethodKind == MethodKind.LocalFunction) 3347Debug.Assert(targetMethod.MethodKind is MethodKind.LambdaMethod or 3348MethodKind.DelegateInvoke); 3473computeValueForInvocation: () => method.MethodKind == MethodKind.LocalFunction ? 3624if (methodReference.Method.MethodKind == MethodKind.LocalFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.CodeAnalysis.BannedApiAnalyzers (122)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.CodeStyle (97)
src\Analyzers\Core\Analyzers\Helpers\DeserializationConstructorCheck.cs (1)
17methodSymbol.MethodKind == MethodKind.Constructor &&
src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
146return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (3)
790/// 4. If method, then it is a constructor OR a method with <see cref="MethodKind.Ordinary"/>, 812case MethodKind.Constructor: 842case MethodKind.Ordinary:
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (1)
298if (method.MethodKind != MethodKind.Constructor)
src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.CodeAnalysis.CodeStyle.Fixes (36)
src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (1)
139var isConstructorInitializer = candidates.All(m => m.MethodKind == MethodKind.Constructor);
src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (3)
141if (method.MethodKind == MethodKind.ReducedExtension && insertionIndex < existingParameters.Count) 167if (method.MethodKind != MethodKind.Constructor) 193if (parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.Constructor, DeclaringSyntaxReferences: [var reference] } constructor)
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.State.cs (2)
59MethodKind = MethodKind.Conversion; 83MethodKind = MethodKind.Conversion;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (1)
54MethodKind = MethodKind.Ordinary;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (2)
85MethodKind = MethodKind.Ordinary; 124MethodKind = MethodKind.Ordinary;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.State.cs (1)
42public MethodKind MethodKind { get; internal set; }
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator.cs (2)
364return method1.MethodKind == MethodKind.Ordinary && 365method2.MethodKind == MethodKind.Ordinary &&
src\Analyzers\Core\CodeFixes\Naming\FallbackNamingRules.cs (3)
59var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary)); 78var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary)); 88var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.CodeStyle.UnitTestUtilities (6)
src\Features\DiagnosticsTestUtilities\NamingStyles\NamingStylesTestOptionSets.cs (6)
119case MethodKind methodKind: 299[new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.Ordinary)], 330[new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.Ordinary)], 551[new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction)], 769new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.Ordinary), 770new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction),
Microsoft.CodeAnalysis.CSharp (620)
Binder\Binder.cs (1)
754return symbol.GetIsNewExtensionMember() && (symbol.IsStatic || symbol.MethodKind != MethodKind.Ordinary);
Binder\Binder.ValueChecks.cs (7)
1461MethodKind desiredMethodKind = fieldIsStatic ? MethodKind.StaticConstructor : MethodKind.Constructor; 1923if (method.MethodKind == MethodKind.Constructor || method.IsInitOnly) 2602if (method.MethodKind == MethodKind.Constructor) 5601MethodKind.Ordinary, 5641MethodKind.Ordinary,
Binder\Binder_Await.cs (1)
175if (method.MethodKind == MethodKind.AnonymousFunction)
Binder\Binder_Conversions.cs (2)
2674Debug.Assert(memberSymbol is not MethodSymbol { MethodKind: not MethodKind.Constructor } || 2679if (receiverOpt != null || memberSymbol is not MethodSymbol { MethodKind: MethodKind.Constructor })
Binder\Binder_Crefs.cs (4)
280methodKind: MethodKind.Ordinary, 308methodKind: MethodKind.Ordinary, 959MethodKind candidateMethodKind = candidateMethod.MethodKind; 963int signatureMemberArity = candidateMethodKind == MethodKind.Constructor
Binder\Binder_Expressions.cs (11)
1513ContainingMember() is MethodSymbol { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet, AssociatedSymbol: PropertySymbol { IsIndexer: false } }) 1983return (containingMethod.MethodKind == MethodKind.AnonymousFunction || containingMethod.MethodKind == MethodKind.LocalFunction) && !IsInsideNameof; // false in EE evaluation method 2121(this.ContainingMember() is MethodSymbol { MethodKind: MethodKind.Constructor } containingMember && (object)containingMember != primaryCtor)) && // We are in a non-primary instance constructor 2184this.ContainingMemberOrLambda is MethodSymbol { MethodKind: MethodKind.AnonymousFunction or MethodKind.LocalFunction } && 4825Debug.Assert(constructor.MethodKind == MethodKind.Constructor || 4826constructor.MethodKind == MethodKind.StaticConstructor); // error scenario: constructor initializer on static constructor 6634Debug.Assert(constructor.MethodKind == MethodKind.Constructor || constructor.MethodKind == MethodKind.StaticConstructor);
Binder\Binder_Invocation.cs (2)
816if (result is null && finalApplicableCandidates[0].LeastOverriddenMember.MethodKind != MethodKind.LocalFunction) 905if (singleCandidate.MethodKind != MethodKind.LocalFunction)
Binder\Binder_Lookup.cs (1)
1490else if ((options & LookupOptions.MustBeOperator) != 0 && unwrappedSymbol is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
Binder\Binder_Statements.cs (3)
1810MethodKind.StaticConstructor : 1811MethodKind.Constructor) || 3823if (constructor.MethodKind != MethodKind.Constructor || constructor.IsExtern)
Binder\InMethodBinder.cs (3)
88internal override bool IsNestedFunctionBinder => _methodSymbol.MethodKind == MethodKind.LocalFunction; 273if (((MethodSymbol)newSymbol).MethodKind == MethodKind.LocalFunction) 309if (((MethodSymbol)newSymbol).MethodKind == MethodKind.LocalFunction)
Binder\LocalBinderFactory.cs (1)
310SourcePropertyAccessorSymbol { MethodKind: MethodKind.PropertySet } setter => getSetterParameters(setter),
Binder\LockBinder.cs (1)
122MethodKind: MethodKind.Ordinary,
Binder\MethodGroupResolution.cs (1)
104MethodGroup.Methods[0].MethodKind == MethodKind.LocalFunction;
Binder\Semantics\AccessCheck.cs (1)
196case SymbolKind.Method when ((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction:
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
4575Debug.Assert(candidate is MethodSymbol { MethodKind: MethodKind.UserDefinedOperator });
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
512Debug.Assert(firstSupported.Member is MethodSymbol { MethodKind: MethodKind.Constructor });
BoundTree\BoundNodeExtensions.cs (1)
62return method.MethodKind == MethodKind.Constructor &&
CodeGen\CodeGenerator_HasHome.cs (2)
252return containingSymbol is MethodSymbol { MethodKind: MethodKind.StaticConstructor } or FieldSymbol { IsStatic: true }; 256return (containingSymbol is MethodSymbol { MethodKind: MethodKind.Constructor } or FieldSymbol { IsStatic: false } or MethodSymbol { IsInitOnly: true }) &&
CodeGen\EmitExpression.cs (1)
2186if (method.IsEffectivelyReadOnly && method.MethodKind != MethodKind.Constructor)
Compilation\CSharpCompilation.cs (1)
3102if (symbol.Kind == SymbolKind.Method && symbol.IsImplicitlyDeclared && ((MethodSymbol)symbol).MethodKind == MethodKind.Constructor)
Compilation\CSharpSemanticModel.cs (2)
1795case MethodSymbol { MethodKind: MethodKind.LambdaMethod }: 4793if (call.InvokedAsExtensionMethod && method.IsExtensionMethod && method.MethodKind != MethodKind.ReducedExtension)
Compilation\MemberSemanticModel.cs (1)
2343Debug.Assert(symbol is LocalSymbol or ParameterSymbol or MethodSymbol { MethodKind: MethodKind.LambdaMethod });
Compilation\MethodBodySemanticModel.cs (1)
241if (MemberSymbol is MethodSymbol methodSymbol && methodSymbol.MethodKind == MethodKind.Constructor &&
Compilation\SyntaxTreeSemanticModel.cs (1)
2442Debug.Assert(symbol is LocalSymbol or ParameterSymbol or MethodSymbol { MethodKind: MethodKind.LambdaMethod });
Compiler\ClsComplianceChecker.cs (1)
736if (method.MethodKind == MethodKind.DelegateInvoke)
Compiler\MethodBodySynthesizer.cs (5)
176Debug.Assert(accessor.MethodKind == MethodKind.PropertyGet || accessor.MethodKind == MethodKind.PropertySet); 191if (accessor.MethodKind == MethodKind.PropertyGet) 197Debug.Assert(accessor.MethodKind == MethodKind.PropertySet); 532Debug.Assert(method.MethodKind == MethodKind.Destructor);
Compiler\MethodCompiler.cs (7)
540(method.MethodKind == MethodKind.Constructor || method.IsScriptInitializer) ? processedInstanceInitializers : 541method.MethodKind == MethodKind.StaticConstructor ? processedStaticInitializers : 1105if ((methodSymbol.MethodKind == MethodKind.Constructor || methodSymbol.MethodKind == MethodKind.StaticConstructor) && 1870if (method.MethodKind == MethodKind.StaticConstructor && 2046if (method.MethodKind == MethodKind.Destructor && body != null) 2448if (method.MethodKind == MethodKind.Constructor && !method.IsExtern)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
116if (symbol.MethodKind == MethodKind.Conversion)
Emitter\Model\MethodSymbolAdapter.cs (5)
388return AdaptedMethodSymbol.MethodKind == MethodKind.Constructor; 637return this.MethodKind == MethodKind.Constructor 638|| this.MethodKind == MethodKind.StaticConstructor; 647Debug.Assert(this.MethodKind != MethodKind.Destructor); 651!(this.IsVirtual || this.IsOverride || this.IsAbstract || this.MethodKind == MethodKind.Destructor));
Emitter\Model\NamedTypeSymbolAdapter.cs (3)
359else if (method.MethodKind == MethodKind.Destructor && AdaptedNamedTypeSymbol.SpecialType != SpecialType.System_Object) 370if ((object)objectMethod != null && objectMethod.MethodKind == MethodKind.Destructor) 632if ((alwaysIncludeConstructors && method.MethodKind == MethodKind.Constructor) || method is SynthesizedExtensionMarker || method.GetCciAdapter().ShouldInclude(context))
Emitter\Model\PropertySymbolAdapter.cs (3)
78return GetSynthesizedSealedAccessor(MethodKind.PropertyGet); 133return GetSynthesizedSealedAccessor(MethodKind.PropertySet); 277private IMethodReference GetSynthesizedSealedAccessor(MethodKind targetMethodKind)
Emitter\Model\SynthesizedPrivateImplementationDetailsStaticConstructor.cs (2)
24public override MethodKind MethodKind => MethodKind.StaticConstructor;
Emitter\NoPia\EmbeddedMethod.cs (1)
70return UnderlyingMethod.AdaptedMethodSymbol.MethodKind == MethodKind.Constructor;
FlowAnalysis\AbstractFlowPass.cs (2)
1420if (method is null || method.MethodKind != MethodKind.Constructor) 1517Debug.Assert(method?.OriginalDefinition.MethodKind != MethodKind.LocalFunction);
FlowAnalysis\DefiniteAssignment.cs (6)
103&& CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }; 1259Debug.Assert(CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }); 1312if (CurrentSymbol is not MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }) 2384(currentMethod.MethodKind == MethodKind.AnonymousFunction || 2385currentMethod.MethodKind == MethodKind.LocalFunction) && 2427if (method.MethodKind == MethodKind.LocalFunction)
FlowAnalysis\DefiniteAssignment.LocalFunctions.cs (1)
163((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction)
FlowAnalysis\DefiniteAssignment.VariableIdentifier.cs (1)
36SymbolKind.Method when symbol is MethodSymbol m && m.MethodKind == MethodKind.LocalFunction => true,
FlowAnalysis\FlowAnalysisPass.cs (2)
76Debug.Assert(method.MethodKind != MethodKind.AnonymousFunction); 113Debug.Assert(method.MethodKind == MethodKind.Constructor);
FlowAnalysis\NullableWalker.cs (7)
474Debug.Assert(baseOrThisInitializer is null or { MethodKind: MethodKind.Constructor }); 1549return constructorBody is BoundConstructorMethodBody { Initializer: BoundExpressionStatement { Expression: BoundCall { Method: { MethodKind: MethodKind.Constructor } initializerMethod } } } 1832Debug.Assert(getterNullResilienceData is null || symbol is SourcePropertyAccessorSymbol { MethodKind: MethodKind.PropertyGet }); 2230while (enclosingMemberMethod?.MethodKind is MethodKind.AnonymousFunction or MethodKind.LocalFunction) 6728|| method.MethodKind != MethodKind.Ordinary 8674if (((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
460if (node.Method.MethodKind == MethodKind.LocalFunction) 471if (node.MethodOpt?.MethodKind == MethodKind.LocalFunction)
Lowering\ClosureConversion\ClosureConversion.cs (11)
194_seenBaseCall = method.MethodKind != MethodKind.Constructor; // only used for ctors 208(localOrParameter as MethodSymbol)?.MethodKind == MethodKind.LocalFunction); 440originalMethod.MethodKind == MethodKind.LambdaMethod && 794if (_currentMethod.MethodKind == MethodKind.Constructor && 863var loweredSymbol = (node.Method.MethodKind is MethodKind.LambdaMethod or MethodKind.LocalFunction) ? 881Debug.Assert(localFunc.MethodKind == MethodKind.LocalFunction); 1076if (node.Method.MethodKind == MethodKind.LocalFunction) 1341if (node.MethodOpt?.MethodKind == MethodKind.LocalFunction) 1367if (node.TargetMethod.MethodKind == MethodKind.LocalFunction) 1676_currentMethod.MethodKind != MethodKind.StaticConstructor &&
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (2)
39originalMethod is { MethodKind: MethodKind.LocalFunction } 106Debug.Assert(originalMethod is not { MethodKind: MethodKind.LocalFunction } || !originalMethod.IsStatic || IsStatic);
Lowering\DiagnosticsPass_ExpressionTrees.cs (4)
197var diagnostic = _staticLocalOrAnonymousFunction.MethodKind == MethodKind.LocalFunction 212var diagnostic = _staticLocalOrAnonymousFunction.MethodKind == MethodKind.LocalFunction 352else if (method.MethodKind == MethodKind.LocalFunction) 940if ((node.LookupSymbolOpt as MethodSymbol)?.MethodKind == MethodKind.LocalFunction)
Lowering\DiagnosticsPass_Warnings.cs (1)
368if ((object)op == null || op.MethodKind != MethodKind.UserDefinedOperator) continue;
Lowering\ExtensionMethodBodyRewriter.cs (2)
152case MethodKind.LambdaMethod: 155case MethodKind.LocalFunction:
Lowering\ExtensionMethodReferenceRewriter.cs (3)
77Debug.Assert(node.Method.MethodKind == MethodKind.LocalFunction || node.Method.IsStatic || node.ReceiverOpt is not null); 173method.MethodKind is (MethodKind.Constructor or MethodKind.StaticConstructor) ||
Lowering\InitializerRewriter.cs (2)
22Debug.Assert((method.MethodKind == MethodKind.Constructor) || (method.MethodKind == MethodKind.StaticConstructor));
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (2)
143Debug.Assert(method.MethodKind != MethodKind.LocalFunction && method.MethodKind != MethodKind.AnonymousFunction);
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (5)
50if (method.MethodKind is not (MethodKind.Constructor or MethodKind.StaticConstructor) && 84if (isMethodBody && _factory.TopLevelMethod.MethodKind == MethodKind.StaticConstructor) 156if (method.MethodKind is not (MethodKind.Ordinary or MethodKind.Constructor))
Lowering\Instrumentation\StackOverflowProbingInstrumenter.cs (3)
40if (method.MethodKind is not (MethodKind.Constructor or MethodKind.StaticConstructor) && 74if (isMethodBody && _factory.TopLevelMethod.MethodKind == MethodKind.StaticConstructor)
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
70public override MethodKind MethodKind 72get { return MethodKind.Ordinary; }
Lowering\LocalRewriter\DelegateCacheRewriter.cs (2)
128if (targetMethod.MethodKind == MethodKind.LocalFunction) 167Debug.Assert(targetMethod.MethodKind == MethodKind.Ordinary);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
155node.Method.MethodKind == MethodKind.LocalFunction || 216if (conversion.Method.MethodKind == MethodKind.LocalFunction) 240node.MethodOpt?.MethodKind == MethodKind.LocalFunction;
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
193if (method.MethodKind is not MethodKind.Ordinary) 682var requiresInstanceReceiver = methodOrIndexer.RequiresInstanceReceiver() && methodOrIndexer is not MethodSymbol { MethodKind: MethodKind.Constructor } and not FunctionPointerMethodSymbol;
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
921if (asSpanMethod is MethodSymbol { MethodKind: MethodKind.Constructor } constructor)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
580&& _factory.TopLevelMethod.MethodKind != MethodKind.StaticConstructor // Avoid caching twice if people do it manually.
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
72if ((curMethod.MethodKind != MethodKind.SharedConstructor ||
Lowering\LocalRewriter\LocalRewriter_Range.cs (3)
167case MethodKind.Constructor: 177case MethodKind.Ordinary: 189case MethodKind.PropertyGet:
Lowering\SynthesizedMethodBaseSymbol.cs (1)
42methodKind: MethodKind.Ordinary,
Lowering\SyntheticBoundNodeFactory.cs (4)
72value.MethodKind != MethodKind.AnonymousFunction && 73value.MethodKind != MethodKind.LocalFunction) 141CurrentFunction.MethodKind == MethodKind.AnonymousFunction || 142CurrentFunction.MethodKind == MethodKind.LocalFunction ||
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (1)
110Debug.Assert(ctor.MethodKind == MethodKind.Constructor && typeDeclaration.ParameterList is object);
SymbolDisplay\SymbolDisplayVisitor.cs (1)
388return ((IMethodSymbol)symbol).MethodKind == MethodKind.LocalFunction;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (30)
280if (symbol.MethodKind == MethodKind.AnonymousFunction) 287else if (symbol.MethodKind == MethodKind.FunctionPointerSignature) 295if (symbol.MethodKind == MethodKind.ReducedExtension && Format.ExtensionMethodStyle == SymbolDisplayExtensionMethodStyle.StaticMethod) 299else if (symbol.MethodKind != MethodKind.ReducedExtension && Format.ExtensionMethodStyle == SymbolDisplayExtensionMethodStyle.InstanceMethod) 325case MethodKind.Constructor: 326case MethodKind.StaticConstructor: 328case MethodKind.Destructor: 339case MethodKind.Conversion: 386if (symbol.MethodKind == MethodKind.LocalFunction) 391else if (symbol.MethodKind == MethodKind.ReducedExtension) 423case MethodKind.Ordinary: 424case MethodKind.DelegateInvoke: 425case MethodKind.LocalFunction: 431case MethodKind.ReducedExtension: 438case MethodKind.PropertyGet: 439case MethodKind.PropertySet: 445goto case MethodKind.Ordinary; 449AddKeyword(symbol.MethodKind == MethodKind.PropertyGet ? SyntaxKind.GetKeyword : 453case MethodKind.EventAdd: 454case MethodKind.EventRemove: 460goto case MethodKind.Ordinary; 464AddKeyword(symbol.MethodKind == MethodKind.EventAdd ? SyntaxKind.AddKeyword : SyntaxKind.RemoveKeyword); 467case MethodKind.Constructor: 468case MethodKind.StaticConstructor: 483case MethodKind.Destructor: 499case MethodKind.ExplicitInterfaceImplementation: 529case MethodKind.UserDefinedOperator: 530case MethodKind.BuiltinOperator: 551case MethodKind.Conversion: 783hasThisParameter: symbol.IsExtensionMethod && symbol.MethodKind != MethodKind.ReducedExtension,
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.ConstructorSymbol.cs (2)
43public override MethodKind MethodKind 45get { return MethodKind.Constructor; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.EqualsMethodSymbol.cs (2)
28public override MethodKind MethodKind 30get { return MethodKind.Ordinary; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.GetHashCodeMethodSymbol.cs (2)
32public override MethodKind MethodKind 34get { return MethodKind.Ordinary; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertyAccessorSymbol.cs (2)
29public override MethodKind MethodKind 31get { return MethodKind.PropertyGet; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.ToStringMethodSymbol.cs (2)
32public override MethodKind MethodKind 34get { return MethodKind.Ordinary; }
Symbols\Compilation_WellKnownMembers.cs (8)
256MethodKind targetMethodKind = MethodKind.Ordinary; 264targetMethodKind = MethodKind.Constructor; 275targetMethodKind = MethodKind.PropertyGet; 308MethodKind methodKind = method.MethodKind; 311if (methodKind == MethodKind.Conversion || methodKind == MethodKind.UserDefinedOperator) 313methodKind = MethodKind.Ordinary;
Symbols\ErrorMethodSymbol.cs (4)
201public override MethodKind MethodKind 208return MethodKind.Constructor; 211return MethodKind.Ordinary; 285Debug.Assert(MethodKind == MethodKind.Constructor);
Symbols\Extensions\SourceExtensionImplementationMethodSymbol.cs (3)
35public override MethodKind MethodKind => MethodKind.Ordinary; 48public sealed override bool IsExtensionMethod => !_originalMethod.IsStatic && _originalMethod.MethodKind is MethodKind.Ordinary;
Symbols\Extensions\SynthesizedExtensionMarker.cs (1)
24MethodKind.Ordinary, RefKind.None, GetDeclarationModifiers(), returnsVoid: false, returnsVoidIsSet: false,
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
772public override MethodKind MethodKind => MethodKind.FunctionPointerSignature;
Symbols\MemberSymbolExtensions.cs (7)
407return methodSymbol.MethodKind == MethodKind.UserDefinedOperator || methodSymbol.MethodKind == MethodKind.Conversion; 427return symbol.Kind == SymbolKind.Method && ((MethodSymbol)symbol).MethodKind == MethodKind.Conversion; 596case MethodKind.Constructor: 597case MethodKind.StaticConstructor: 609if ((object)method != null && method.MethodKind == MethodKind.Constructor) 674return method.MethodKind == MethodKind.Constructor && method.ParameterCount == 0;
Symbols\Metadata\PE\PEEventSymbol.cs (2)
125_addMethod.SetAssociatedEvent(this, MethodKind.EventAdd); 126_removeMethod.SetAssociatedEvent(this, MethodKind.EventRemove);
Symbols\Metadata\PE\PEMethodSymbol.cs (42)
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 1100public override MethodKind MethodKind 1184private MethodKind ComputeMethodKind() 1208return MethodKind.StaticConstructor; 1213return MethodKind.Constructor; 1217return MethodKind.Ordinary; 1247return IsValidStaticUserDefinedOperatorSignature(2) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1259return IsValidStaticUserDefinedOperatorSignature(1) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1263return IsValidStaticUserDefinedOperatorSignature(1) ? MethodKind.Conversion : MethodKind.Ordinary; 1281return IsValidInstanceUserDefinedOperatorSignature(0) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1298return IsValidInstanceUserDefinedOperatorSignature(1) ? MethodKind.UserDefinedOperator : MethodKind.Ordinary; 1302return MethodKind.Ordinary; 1314return MethodKind.Destructor; 1320return MethodKind.DelegateInvoke; 1331return MethodKind.ExplicitInterfaceImplementation; 1334return MethodKind.Ordinary; 1368method.MethodKind == MethodKind.Destructor); 1460this.MethodKind == MethodKind.PropertySet && 1523allowedFeatures: MethodKind == MethodKind.Constructor ? 1616Debug.Assert(MethodKind == MethodKind.Constructor); 1638var result = ObsoleteAttributeHelpers.GetObsoleteDataFromMetadata(_handle, (PEModuleSymbol)ContainingModule, ignoreByRefLikeMarker: false, ignoreRequiredMemberMarker: MethodKind == MethodKind.Constructor);
Symbols\Metadata\PE\PEParameterSymbol.cs (2)
885case "" when !ContainingSymbol.RequiresInstanceReceiver() || ContainingSymbol is MethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.DelegateInvoke }:
Symbols\Metadata\PE\PEPropertySymbol.cs (2)
326_getMethod.SetAssociatedProperty(this, MethodKind.PropertyGet); 331_setMethod.SetAssociatedProperty(this, MethodKind.PropertySet);
Symbols\MethodSymbol.cs (31)
66public abstract MethodKind MethodKind 371protected bool IsValidReadOnlyTarget => !IsStatic && ContainingType.IsStructType() && MethodKind != MethodKind.Constructor && !IsInitOnly; 591internal bool HasSetsRequiredMembers => MethodKind == MethodKind.Constructor && HasSetsRequiredMembersImpl; 602internal static bool CanOverrideOrHide(MethodKind kind) 606case MethodKind.AnonymousFunction: 607case MethodKind.Constructor: 608case MethodKind.Destructor: 609case MethodKind.ExplicitInterfaceImplementation: 610case MethodKind.StaticConstructor: 611case MethodKind.ReducedExtension: 613case MethodKind.Conversion: 614case MethodKind.DelegateInvoke: 615case MethodKind.EventAdd: 616case MethodKind.EventRemove: 617case MethodKind.LocalFunction: 618case MethodKind.UserDefinedOperator: 619case MethodKind.Ordinary: 620case MethodKind.PropertyGet: 621case MethodKind.PropertySet: 657return MethodKind == MethodKind.Constructor && ContainingType.IsScriptClass; 673return ((MethodKind == MethodKind.Constructor || MethodKind == MethodKind.StaticConstructor) && IsImplicitlyDeclared); 684return MethodKind == MethodKind.Constructor && IsImplicitlyDeclared; 761if (!this.IsExtensionMethod || this.MethodKind == MethodKind.ReducedExtension || receiverType.IsVoidType()) 776return (this.IsExtensionMethod && this.MethodKind != MethodKind.ReducedExtension) ? ReducedExtensionMethodSymbol.Create(this) : null; 1044if (!IsStatic || IsAbstract || IsVirtual || MethodKind is not (MethodKind.Ordinary or MethodKind.LocalFunction)) 1204MethodKind is MethodKind.Ordinary 1205or MethodKind.Constructor 1206or MethodKind.UserDefinedOperator 1207or MethodKind.ReducedExtension
Symbols\MethodSymbolExtensions.cs (18)
24return method.IsImplicitlyDeclared && method.MethodKind == MethodKind.AnonymousFunction; 53if (!skipFirstMethodKindCheck && method.MethodKind == MethodKind.Destructor) 100if (hiddenMethod.MethodKind == MethodKind.Destructor) 129case MethodKind.Destructor: 130case MethodKind.Constructor: 131case MethodKind.StaticConstructor: 132case MethodKind.Conversion: 134case MethodKind.UserDefinedOperator: 135return !method.IsStatic && hidingMember is MethodSymbol { IsStatic: false, MethodKind: MethodKind.UserDefinedOperator }; 137case MethodKind.EventAdd: 138case MethodKind.EventRemove: 139case MethodKind.PropertyGet: 140case MethodKind.PropertySet: 223method.MethodKind is (MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.PropertyGet or MethodKind.PropertySet or MethodKind.UserDefinedOperator) &&
Symbols\NamedTypeSymbol.cs (5)
221if (candidate is MethodSymbol { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } method) 282Debug.Assert(method.MethodKind == MethodKind.Constructor); 290Debug.Assert(method.MethodKind == MethodKind.StaticConstructor); 370Debug.Assert(method.MethodKind != MethodKind.ReducedExtension);
Symbols\NativeIntegerTypeSymbol.cs (2)
97case MethodKind.Ordinary: 114case MethodKind.Constructor:
Symbols\OverriddenOrHiddenMembersHelpers.cs (2)
246bool accessorIsGetter = accessor.MethodKind == MethodKind.PropertyGet; 338bool accessorIsAdder = accessor.MethodKind == MethodKind.EventAdd;
Symbols\PublicModel\MethodSymbol.cs (35)
33MethodKind IMethodSymbol.MethodKind 39case MethodKind.AnonymousFunction: 40return MethodKind.AnonymousFunction; 41case MethodKind.Constructor: 42return MethodKind.Constructor; 43case MethodKind.Conversion: 44return MethodKind.Conversion; 45case MethodKind.DelegateInvoke: 46return MethodKind.DelegateInvoke; 47case MethodKind.Destructor: 48return MethodKind.Destructor; 49case MethodKind.EventAdd: 50return MethodKind.EventAdd; 51case MethodKind.EventRemove: 52return MethodKind.EventRemove; 53case MethodKind.ExplicitInterfaceImplementation: 54return MethodKind.ExplicitInterfaceImplementation; 55case MethodKind.UserDefinedOperator: 56return MethodKind.UserDefinedOperator; 57case MethodKind.BuiltinOperator: 58return MethodKind.BuiltinOperator; 59case MethodKind.Ordinary: 60return MethodKind.Ordinary; 61case MethodKind.PropertyGet: 62return MethodKind.PropertyGet; 63case MethodKind.PropertySet: 64return MethodKind.PropertySet; 65case MethodKind.ReducedExtension: 66return MethodKind.ReducedExtension; 67case MethodKind.StaticConstructor: 68return MethodKind.StaticConstructor; 69case MethodKind.LocalFunction: 70return MethodKind.LocalFunction; 71case MethodKind.FunctionPointerSignature: 72return MethodKind.FunctionPointerSignature;
Symbols\ReducedExtensionMethodSymbol.cs (5)
39Debug.Assert(method.IsExtensionMethod && method.MethodKind != MethodKind.ReducedExtension); 74Debug.Assert(method.IsExtensionMethod && method.MethodKind != MethodKind.ReducedExtension); 116Debug.Assert(method.MethodKind != MethodKind.ReducedExtension); 469public override MethodKind MethodKind 471get { return MethodKind.ReducedExtension; }
Symbols\SignatureOnlyMethodSymbol.cs (3)
23private readonly MethodKind _methodKind; 37MethodKind methodKind, 93public override MethodKind MethodKind { get { return _methodKind; } }
Symbols\Source\ExplicitInterfaceHelpers.cs (3)
97if (method.MethodKind != MethodKind.ExplicitInterfaceImplementation) 263(interfaceMethod.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion) != isOperator)
Symbols\Source\LambdaSymbol.cs (2)
76public override MethodKind MethodKind 78get { return MethodKind.AnonymousFunction; }
Symbols\Source\LocalFunctionSymbol.cs (2)
332public override MethodKind MethodKind => MethodKind.LocalFunction;
Symbols\Source\ParameterHelpers.cs (3)
227Debug.Assert(methodOwner?.MethodKind != MethodKind.LambdaMethod); 229methodOwner?.MethodKind == MethodKind.LocalFunction; 1107if (method.MethodKind != MethodKind.AnonymousFunction)
Symbols\Source\SourceComplexParameterSymbol.cs (3)
1342if (!ContainingSymbol.RequiresInstanceReceiver() || ContainingSymbol is MethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.DelegateInvoke or MethodKind.LambdaMethod })
Symbols\Source\SourceConstructorSymbol.cs (13)
26var methodKind = syntax.Modifiers.Any(SyntaxKind.StaticKeyword) ? MethodKind.StaticConstructor : MethodKind.Constructor; 34MethodKind methodKind, 58if (methodKind == MethodKind.Constructor && syntax.Initializer != null) 74if (methodKind == MethodKind.StaticConstructor) 93MethodKind methodKind, 134NamedTypeSymbol containingType, ConstructorDeclarationSyntax syntax, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics, 137var defaultAccess = (methodKind == MethodKind.StaticConstructor) ? DeclarationModifiers.None : DeclarationModifiers.Private; 146if (methodKind == MethodKind.Constructor) 155if (methodKind == MethodKind.StaticConstructor) 181private void CheckModifiers(MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics) 191else if (ContainingType.IsStatic && methodKind == MethodKind.Constructor)
Symbols\Source\SourceConstructorSymbolBase.cs (1)
65if (MethodKind == MethodKind.StaticConstructor && (_lazyParameters.Length != 0) &&
Symbols\Source\SourceDelegateMethodSymbol.cs (5)
27MethodKind methodKind, 218: base(delegateType, voidType, syntax, MethodKind.Constructor, RefKind.None, DeclarationModifiers.Public) 263: base(delegateType, returnType, syntax, MethodKind.DelegateInvoke, refKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public) 356: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None, DeclarationModifiers.Virtual | DeclarationModifiers.Public) 394: base((SourceNamedTypeSymbol)invoke.ContainingType, invoke.ReturnTypeWithAnnotations, syntax, MethodKind.Ordinary, invoke.RefKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
Symbols\Source\SourceDestructorSymbol.cs (1)
69MethodKind.Destructor, RefKind.None, declarationModifiers, returnsVoid: true, returnsVoidIsSet: true,
Symbols\Source\SourceEventAccessorSymbol.cs (6)
36isAdder ? MethodKind.EventAdd : MethodKind.EventRemove, 118if (this.MethodKind == MethodKind.EventAdd) 127Debug.Assert(this.MethodKind == MethodKind.EventRemove); 241? (MethodKind == MethodKind.EventAdd ? other.AddMethod : other.RemoveMethod) 245? (MethodKind == MethodKind.EventAdd ? other.AddMethod : other.RemoveMethod)
Symbols\Source\SourceFieldLikeEventSymbol.cs (1)
262return IsExtern && this.MethodKind == MethodKind.EventAdd
Symbols\Source\SourceMemberContainerSymbol.cs (48)
2094if (symbol is MethodSymbol { MethodKind: MethodKind.Conversion } conversion) 2171if (method1.OriginalDefinition is SourceMemberMethodSymbol { MethodKind: MethodKind.Constructor } constructor && 2203var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD; 2216var methodName = (method1.MethodKind == MethodKind.Destructor && method2.MethodKind == MethodKind.Destructor) ? 2715if (member.Kind != SymbolKind.Method || ((MethodSymbol)member).MethodKind != MethodKind.Destructor) 3871if (member is MethodSymbol { IsImplicitlyDeclared: false, MethodKind: not (MethodKind.Constructor or MethodKind.StaticConstructor or MethodKind.Destructor or MethodKind.ExplicitInterfaceImplementation) } method && 4410if ((methodSymbol.MethodKind == MethodKind.Ordinary) && 4449if ((methodSymbol.MethodKind == MethodKind.Ordinary) && 4604case MethodKind.Constructor: 4607case MethodKind.Conversion: 4609case MethodKind.UserDefinedOperator: 4611case MethodKind.Destructor: 4614case MethodKind.ExplicitInterfaceImplementation: 4616case MethodKind.Ordinary: 4617case MethodKind.LocalFunction: 4618case MethodKind.PropertyGet: 4619case MethodKind.PropertySet: 4620case MethodKind.EventAdd: 4621case MethodKind.EventRemove: 4622case MethodKind.StaticConstructor: 4666case MethodKind.Constructor: 4667case MethodKind.Conversion: 4668case MethodKind.Destructor: 4669case MethodKind.EventAdd: 4670case MethodKind.EventRemove: 4671case MethodKind.StaticConstructor: 4672case MethodKind.ExplicitInterfaceImplementation: 4674case MethodKind.Ordinary: 4675case MethodKind.UserDefinedOperator: 4676case MethodKind.PropertyGet: 4677case MethodKind.PropertySet: 4713if (m.MethodKind == MethodKind.Constructor && m.ParameterCount == 0) 4755if (hasInitializers && !builder.NonTypeMembersWithPartialImplementations.Any(member => member is MethodSymbol { MethodKind: MethodKind.Constructor })) 4807case MethodSymbol { MethodKind: not (MethodKind.Ordinary or MethodKind.Constructor) }: 4903MethodKind.Ordinary, 4950MethodKind.Constructor, 5003MethodKind.Ordinary, 5063MethodKind.Ordinary, 5237MethodKind.Ordinary, 5330MethodKind.Ordinary, 5422case MethodKind.Constructor: 5432case MethodKind.StaticConstructor: 6032if (member is MethodSymbol { MethodKind: MethodKind.Ordinary })
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
553else if (method.MethodKind == MethodKind.Destructor) 892!(overridingMemberIsMethod && ((MethodSymbol)overriddenMember).MethodKind == MethodKind.Destructor)) //destructors are metadata virtual
Symbols\Source\SourceMemberMethodSymbol.cs (13)
126public MethodKind MethodKind 128get { return (MethodKind)((_flags >> MethodKindOffset) & MethodKindMask); } 176Debug.Assert(EnumUtilities.ContainsAllValues<MethodKind>(MethodKindMask)); 188MethodKind methodKind, 234MethodKind methodKind, 352if (this.DeclaredAccessibility <= Accessibility.Private || MethodKind == MethodKind.ExplicitInterfaceImplementation) 357ErrorCode code = (this.MethodKind == MethodKind.Conversion || this.MethodKind == MethodKind.UserDefinedOperator) ? 368code = (this.MethodKind == MethodKind.Conversion || this.MethodKind == MethodKind.UserDefinedOperator) ? 422MethodKind methodKind, 554public sealed override MethodKind MethodKind 1058if ((!IsStatic || MethodKind is MethodKind.StaticConstructor) &&
Symbols\Source\SourceMethodSymbol.cs (1)
238if (target.MethodKind == MethodKind.UserDefinedOperator && !target.IsStatic)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (24)
155case MethodKind.Constructor: 156case MethodKind.Destructor: 157case MethodKind.StaticConstructor: 160case MethodKind.PropertySet: 161case MethodKind.EventRemove: 162case MethodKind.EventAdd: 733else if (!this.CanBeReferencedByName || this.MethodKind == MethodKind.Destructor) 748else if (this is { MethodKind: MethodKind.LocalFunction, IsStatic: false }) 946if (MethodKind != MethodKind.Ordinary || this.GetIsNewExtensionMember()) 1356if (MethodKind != MethodKind.Ordinary) 1475case MethodKind.Constructor: 1476case MethodKind.StaticConstructor: 1503var errorCode = (this.MethodKind == MethodKind.Constructor || this.MethodKind == MethodKind.StaticConstructor) ? 1555if (this.MethodKind != MethodKind.LambdaMethod) 1659case MethodKind.Constructor: 1660case MethodKind.StaticConstructor: 1661case MethodKind.PropertyGet: 1662case MethodKind.PropertySet: 1663case MethodKind.EventAdd: 1664case MethodKind.EventRemove: 1665case MethodKind.UserDefinedOperator: 1666case MethodKind.Conversion: 1741if (this.ContainingType.IsComImport && this.MethodKind == MethodKind.Constructor)
Symbols\Source\SourceNamedTypeSymbol.cs (1)
1850&& !GetMembers().All(m => m is not MethodSymbol { MethodKind: MethodKind.Constructor, ObsoleteKind: ObsoleteAttributeKind.None } method
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (4)
61if (MethodKind == MethodKind.ExplicitInterfaceImplementation) 92if (MethodKind != MethodKind.ExplicitInterfaceImplementation) 198return MethodKind == MethodKind.ExplicitInterfaceImplementation; 266if (this.GetIsNewExtensionMember() && MethodKind != MethodKind.Ordinary)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (16)
37var methodKind = interfaceSpecifier == null 38? MethodKind.Ordinary 39: MethodKind.ExplicitInterfaceImplementation; 53MethodKind methodKind, 76ModifierUtils.CheckAccessibility(this.DeclarationModifiers, this, isExplicitInterfaceImplementation: methodKind == MethodKind.ExplicitInterfaceImplementation, diagnostics, location); 90NamedTypeSymbol containingType, Location location, MethodDeclarationSyntax syntax, MethodKind methodKind, 105isExplicitInterfaceImplementation: methodKind == MethodKind.ExplicitInterfaceImplementation, 645Debug.Assert(this.MethodKind != MethodKind.UserDefinedOperator, "SourceUserDefinedOperatorSymbolBase overrides this"); 690CheckModifiers(MethodKind == MethodKind.ExplicitInterfaceImplementation, _location, diagnostics); 707private static (DeclarationModifiers mods, bool hasExplicitAccessMod) MakeModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics) 711bool isExplicitInterfaceImplementation = methodKind == MethodKind.ExplicitInterfaceImplementation; 793private static DeclarationModifiers AddImpliedModifiers(DeclarationModifiers mods, bool containingTypeIsInterface, MethodKind methodKind, bool hasBody) 800methodKind == MethodKind.ExplicitInterfaceImplementation, 803else if (methodKind == MethodKind.ExplicitInterfaceImplementation) 948MethodKind methodKind, 1006MethodKind methodKind,
Symbols\Source\SourcePropertyAccessorSymbol.cs (19)
42var methodKind = isGetMethod ? MethodKind.PropertyGet : MethodKind.PropertySet; 95var methodKind = isGetMethod ? MethodKind.PropertyGet : MethodKind.PropertySet; 157methodKind: MethodKind.PropertyGet, 184MethodKind methodKind, 225bool hasBlockBody, bool hasExpressionBody, SyntaxTokenList modifiers, MethodKind methodKind, bool isNullableAnalysisEnabled, 359if (MethodKind == MethodKind.PropertySet) 381if (this.MethodKind == MethodKind.PropertyGet) 485MethodKind == MethodKind.PropertyGet; 567else if (LocalDeclaredReadOnly && _isAutoPropertyAccessor && MethodKind == MethodKind.PropertySet) 622MethodSymbol implementedAccessor = this.MethodKind == MethodKind.PropertyGet 651Debug.Assert(MethodKind == MethodKind.PropertySet); 685bool isGetMethod = this.MethodKind == MethodKind.PropertyGet; 769bool isGetMethod = this.MethodKind == MethodKind.PropertyGet; 820? (MethodKind == MethodKind.PropertyGet ? other.GetMethod : other.SetMethod) 824? (MethodKind == MethodKind.PropertyGet ? other.GetMethod : other.SetMethod)
Symbols\Source\SourcePropertySymbolBase.cs (4)
348{ MethodKind: MethodKind.PropertyGet, IsInitOnly: false } => SyntaxFacts.GetText(SyntaxKind.GetKeyword), 349{ MethodKind: MethodKind.PropertySet, IsInitOnly: false } => SyntaxFacts.GetText(SyntaxKind.SetKeyword), 350{ MethodKind: MethodKind.PropertySet, IsInitOnly: true } => SyntaxFacts.GetText(SyntaxKind.InitKeyword), 1206Debug.Assert(thisAccessor.MethodKind == MethodKind.PropertySet);
Symbols\Source\SourceUserDefinedConversionSymbol.cs (4)
43var methodKind = interfaceSpecifier == null 44? MethodKind.Conversion 45: MethodKind.ExplicitInterfaceImplementation; 55MethodKind methodKind,
Symbols\Source\SourceUserDefinedOperatorSymbol.cs (4)
49var methodKind = interfaceSpecifier == null 50? MethodKind.UserDefinedOperator 51: MethodKind.ExplicitInterfaceImplementation; 61MethodKind methodKind,
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (5)
26MethodKind methodKind, 49isExplicitInterfaceImplementation: methodKind == MethodKind.ExplicitInterfaceImplementation, 175protected static DeclarationModifiers MakeDeclarationModifiers(bool isCompoundAssignmentOrIncrementAssignment, MethodKind methodKind, SourceMemberContainerTypeSymbol containingType, BaseMethodDeclarationSyntax syntax, Location location, BindingDiagnosticBag diagnostics) 179bool isExplicitInterfaceImplementation = methodKind == MethodKind.ExplicitInterfaceImplementation; 483if (MethodKind == MethodKind.ExplicitInterfaceImplementation)
Symbols\Source\ThisParameterSymbol.cs (1)
157if (_containingMethod?.MethodKind == MethodKind.Constructor)
Symbols\Symbol.cs (14)
670case MethodKind.Ordinary: 671case MethodKind.LocalFunction: 672case MethodKind.ReducedExtension: 674case MethodKind.Destructor: 679case MethodKind.DelegateInvoke: 681case MethodKind.PropertyGet: 682case MethodKind.PropertySet: 731case MethodKind.Ordinary: 732case MethodKind.LocalFunction: 733case MethodKind.DelegateInvoke: 734case MethodKind.Destructor: // See comment in CanBeReferencedByName. 736case MethodKind.PropertyGet: 737case MethodKind.PropertySet: 1250this is MethodSymbol method && method.MethodKind == MethodKind.FunctionPointerSignature ?
Symbols\Symbol_Attributes.cs (4)
58case MethodKind.Constructor: 59case MethodKind.StaticConstructor: 673Debug.Assert(!binder.InAttributeArgument || this is MethodSymbol { MethodKind: MethodKind.LambdaMethod or MethodKind.LocalFunction }, "Possible cycle in attribute binding");
Symbols\SymbolExtensions.cs (5)
150if (method.MethodKind != MethodKind.AnonymousFunction && method.MethodKind != MethodKind.LocalFunction) break; 170if (method.MethodKind == MethodKind.AnonymousFunction || method.MethodKind == MethodKind.LocalFunction) 815=> method is { MethodKind: MethodKind.Constructor, HasSetsRequiredMembers: false };
Symbols\Synthesized\Records\SynthesizedPrimaryConstructor.cs (1)
43MethodKind.Constructor,
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (1)
135if (member is MethodSymbol { ContainingType.IsRecord: true, MethodKind: MethodKind.Constructor } method)
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (1)
151MethodKind.PropertyGet,
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperatorBase.cs (1)
40: base(MethodKind.UserDefinedOperator, explicitInterfaceType: null, name, isCompoundAssignmentOrIncrementAssignment: false,
Symbols\Synthesized\Records\SynthesizedRecordOrdinaryMethod.cs (1)
17MethodKind.Ordinary, RefKind.None, declarationModifiers, returnsVoid: false, returnsVoidIsSet: false,
Symbols\Synthesized\SynthesizedAccessorValueParameterSymbol.cs (1)
133if (accessor.MethodKind == MethodKind.EventAdd)
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (2)
93public override MethodKind MethodKind 95get { return MethodKind.DelegateInvoke; }
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
151public override MethodKind MethodKind 153get { return MethodKind.Ordinary; }
Symbols\Synthesized\SynthesizedEventAccessorSymbol.cs (2)
61return this.MethodKind == MethodKind.EventAdd 147BoundBlock body = CSharp.MethodBodySynthesizer.ConstructFieldLikeEventAccessorBody(fieldLikeEvent, isAddMethod: MethodKind == MethodKind.EventAdd, compilationState.Compilation, diagnostics);
Symbols\Synthesized\SynthesizedExplicitImplementationForwardingMethod.cs (2)
38public override MethodKind MethodKind 44MethodKind.ExplicitInterfaceImplementation;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
246public override MethodKind MethodKind 248get { return MethodKind.Ordinary; }
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
138public override MethodKind MethodKind 142return MethodKind.ExplicitInterfaceImplementation;
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
188public sealed override MethodKind MethodKind 190get { return MethodKind.Constructor; }
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (2)
129public override MethodKind MethodKind 131get { return MethodKind.Ordinary; }
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
67public override MethodKind MethodKind 71return MethodKind.BuiltinOperator;
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (1)
133public override MethodKind MethodKind
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (1)
72MethodKind.Ordinary,
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
189public override MethodKind MethodKind 193return MethodKind.StaticConstructor;
Symbols\TypeMap.cs (2)
187stopAt?.MethodKind == MethodKind.StaticConstructor || 188stopAt?.MethodKind == MethodKind.Constructor);
Symbols\TypeSymbol.cs (9)
1581case MethodKind.PropertyGet: 1584case MethodKind.PropertySet: 1587case MethodKind.EventAdd: 1590case MethodKind.EventRemove: 1714else if (implicitImplMethod.IsStatic && implicitImplMethod.MethodKind == MethodKind.Ordinary && implicitImplMethod.GetUnmanagedCallersOnlyAttributeData(forceComplete: true) is not null) 2196isOperator = interfaceMethod.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion; 2204(((MethodSymbol)member).MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion) != isOperator.GetValueOrDefault())
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
280public override MethodKind MethodKind
Microsoft.CodeAnalysis.CSharp.CodeStyle (20)
src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
87if (context.OwningSymbol is IMethodSymbol { MethodKind: MethodKind.Constructor })
src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (4)
175if (owningMethod.MethodKind is not (MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.PropertyGet or MethodKind.PropertySet)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs (1)
55if (symbol is not IMethodSymbol { MethodKind: MethodKind.Constructor, Parameters: [var constructorParameter] } ||
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (1)
68MethodKind: MethodKind.Constructor,
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.InfoCache.cs (2)
79if (method.MethodKind == MethodKind.PropertyGet) 93Debug.Assert(method.MethodKind == MethodKind.Ordinary);
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (3)
73method.MethodKind is MethodKind.PropertyGet or MethodKind.Ordinary && 146=> method.MethodKind != MethodKind.Ordinary
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
19conversion.MethodSymbol.MethodKind == MethodKind.Conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
372MethodKind: MethodKind.ReducedExtension,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
68if (symbol is IMethodSymbol { MethodKind: MethodKind.Conversion })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
1001if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op) 1246method.MethodKind is not (MethodKind.LocalFunction or MethodKind.LambdaMethod) && 1416if (originalMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } originalMethodSymbol || 1417rewrittenMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } rewrittenMethodSymbol)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (1)
214methodKind: MethodKind.Conversion);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
156if (method.MethodKind == MethodKind.Conversion) 162if (method.MethodKind == MethodKind.UserDefinedOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2018while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests (2)
src\Analyzers\CSharp\Tests\NamingStyles\NamingStylesTests.cs (2)
241[InlineData("void [|m|]() {}", "void M() {}", MethodKind.Ordinary, Accessibility.Private)] 242[InlineData("void Outer() { void [|m|]() {} }", "void Outer() { void M() {} }", MethodKind.LocalFunction, Accessibility.NotApplicable)]
Microsoft.CodeAnalysis.CSharp.EditorFeatures (1)
EventHookup\EventHookupSessionManager_EventHookupSession.cs (1)
157new SymbolKindOrTypeKind(MethodKind.Ordinary),
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (28)
Completion\CompletionProviders\DeclarationNameCompletionProviderTests.cs (2)
2975SpecificationStyle(new SymbolKindOrTypeKind(MethodKind.Ordinary), "Method"), 2977SpecificationStyle(new SymbolKindOrTypeKind(MethodKind.LocalFunction), "LocalFunction"),
Completion\CompletionProviders\DeclarationNameCompletionProviderTests_NameDeclarationInfoTests.cs (22)
36new SymbolKindOrTypeKind(MethodKind.Ordinary)); 54new SymbolKindOrTypeKind(MethodKind.Ordinary)); 71new SymbolKindOrTypeKind(MethodKind.Ordinary)); 89new SymbolKindOrTypeKind(MethodKind.Ordinary)); 125new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 164new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 430new SymbolKindOrTypeKind(MethodKind.Ordinary)); 444new SymbolKindOrTypeKind(MethodKind.Ordinary)); 458new SymbolKindOrTypeKind(MethodKind.Ordinary)); 472new SymbolKindOrTypeKind(MethodKind.Ordinary)); 485new SymbolKindOrTypeKind(MethodKind.Ordinary)); 501new SymbolKindOrTypeKind(MethodKind.Ordinary)); 586new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 606new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 628new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 648new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 668new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 690new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 710new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 730new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 750new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 769new SymbolKindOrTypeKind(MethodKind.LocalFunction));
Diagnostics\DiagnosticAnalyzerDriver\DiagnosticAnalyzerDriverTests.cs (4)
98Assert.False(ideEngineAnalyzer.CallLog.Any(e => e.CallerName == method && e.MethodKind == MethodKind.DelegateInvoke && e.ReturnsVoid)); 99Assert.False(ideEngineAnalyzer.CallLog.Any(e => e.CallerName == method && e.MethodKind == MethodKind.DelegateInvoke && !e.ReturnsVoid)); 111Assert.False(compilerEngineAnalyzer.CallLog.Any(e => e.CallerName == method && e.MethodKind == MethodKind.DelegateInvoke && e.ReturnsVoid)); 112Assert.False(compilerEngineAnalyzer.CallLog.Any(e => e.CallerName == method && e.MethodKind == MethodKind.DelegateInvoke && !e.ReturnsVoid));
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (13)
BreakingChanges.cs (2)
128Assert.Equal(MethodKind.PropertySet, derivedProperty1Synthesized.MethodKind); 131Assert.Equal(MethodKind.PropertyGet, derivedProperty2Synthesized.MethodKind);
CodeGen\CodeGenTupleTest.cs (1)
14341Assert.Equal(MethodKind.ReducedExtension, m6Method.MethodKind);
CodeGen\DestructorTests.cs (1)
824Assert.Equal(MethodKind.Destructor, destructor.MethodKind);
CodeGen\EventTests.cs (2)
216Assert.Equal(MethodKind.EventAdd, addMethod.MethodKind); 222Assert.Equal(MethodKind.EventRemove, removeMethod.MethodKind);
CodeGen\IndexerTests.cs (4)
162Assert.Equal(MethodKind.ExplicitInterfaceImplementation, getMethod.MethodKind); //since CallMethodsDirectly 167Assert.Equal(MethodKind.ExplicitInterfaceImplementation, setMethod.MethodKind); //since CallMethodsDirectly 270Assert.Equal(MethodKind.PropertyGet, getMethod.MethodKind); 282Assert.Equal(MethodKind.PropertySet, setMethod.MethodKind);
Emit\CompilationEmitTests.cs (1)
2733var cciMethods = class1TypeDef.GetMethods(context).Where(m => ((MethodSymbol)m.GetInternalSymbol()).MethodKind != MethodKind.Constructor);
Emit\EmitMetadataTests.cs (2)
603Assert.Equal(MethodKind.Constructor, ctor.MethodKind); 624Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (16)
Emit\EditAndContinue\SymbolMatcherTests.cs (16)
1719var members1 = compilation1.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1720var members0 = compilation0.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1761var members1 = compilation1.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1762var members0 = compilation0.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1813var members1 = compilation1.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1814var members0 = compilation0.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1860var members1 = compilation1.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray(); 1905var members1 = compilation1.GetMember<NamedTypeSymbol>("A").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind is (MethodKind.Conversion or MethodKind.UserDefinedOperator)).ToArray();
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (104)
Attributes\AttributeTests_CallerInfoAttributes.cs (2)
4405Assert.Equal(MethodKind.Constructor, ctor.MethodKind); 4435Assert.Equal(MethodKind.Constructor, ctor.MethodKind);
Semantics\ExtensionOperatorsTests.cs (9)
450Assert.Equal(MethodKind.Ordinary, method.MethodKind); 489Assert.Equal(MethodKind.Ordinary, method.MethodKind); 530Assert.Equal(MethodKind.Ordinary, method.MethodKind); 4481Assert.Equal(MethodKind.Ordinary, method.MethodKind); 4517Assert.Equal(MethodKind.Ordinary, method.MethodKind); 4528Assert.Equal(MethodKind.Ordinary, method.MethodKind); 11011Assert.Equal(MethodKind.Ordinary, method.MethodKind); 11083Assert.Equal(MethodKind.Ordinary, method.MethodKind); 19765Assert.Equal(MethodKind.Ordinary, method.MethodKind);
Semantics\ExtensionTests.cs (5)
4986Assert.Equal(MethodKind.Ordinary, implementation.MethodKind); 6441Assert.Equal(MethodKind.Ordinary, implementation.MethodKind); 7916Assert.Equal(MethodKind.Ordinary, implementation.MethodKind); 9422Assert.Equal(MethodKind.Ordinary, implementation.MethodKind); 9711Assert.Equal(MethodKind.Ordinary, implementation.MethodKind);
Semantics\ParamsCollectionTests.cs (1)
8885bool hasBody = p.ContainingSymbol is not MethodSymbol { MethodKind: MethodKind.DelegateInvoke };
Semantics\PrimaryConstructorTests.cs (2)
135Assert.Equal(MethodKind.Constructor, members.Cast<MethodSymbol>().Single().MethodKind); 822Assert.All(c.GetMembers(), m => Assert.True(m is MethodSymbol { MethodKind: MethodKind.Constructor }));
Semantics\RecordTests.cs (1)
22631var ordinaryMethods = comp.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray();
Symbols\UserDefinedCompoundAssignmentOperatorsTests.cs (84)
74Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 402Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 460Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 516Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 583Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 636Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 695Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 925Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 959Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1015Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 1069Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 1122Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1424Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1482Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1532Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1740Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 1801Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2334Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2388Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2442Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2528Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2568Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2609Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 2650Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 7433private static void AssertMetadataSymbol(MethodSymbol m, MethodKind kind, string display) 7504MethodKind.UserDefinedOperator, 7508MethodKind.Ordinary, 7512MethodKind.Ordinary, 7516MethodKind.Ordinary, 7520MethodKind.Ordinary, 7524MethodKind.Ordinary, 7528MethodKind.Ordinary, 7557MethodKind.Ordinary, 7969Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8047Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8112Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8223Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8387Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8473Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8546Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 8632Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 8695Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 8764Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 9040Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9086Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9159Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 9223Assert.Equal(MethodKind.ExplicitInterfaceImplementation, m.MethodKind); 9286Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9572Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9621Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9679Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9738Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9785Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 9821Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10014Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10063Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10120Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10177Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10756Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10803Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10857Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10904Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 10958Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11005Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11127Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11162Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11202Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11238Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11279Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11315Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11356Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 11392Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind); 19295MethodKind.UserDefinedOperator, 19299MethodKind.Ordinary, 19303MethodKind.Ordinary, 19307MethodKind.Ordinary, 19311MethodKind.Ordinary, 19315MethodKind.Ordinary, 19319MethodKind.Ordinary, 19323MethodKind.Ordinary, 19327MethodKind.Ordinary, 19331MethodKind.UserDefinedOperator, 19363MethodKind.Ordinary, 19395MethodKind.Ordinary,
Microsoft.CodeAnalysis.CSharp.Features (46)
ChangeSignature\CSharpChangeSignatureService.cs (1)
430symbolInfo.Symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension },
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (4)
175_ => [new SymbolKindOrTypeKind(SymbolKind.Local), new SymbolKindOrTypeKind(MethodKind.LocalFunction)], 528new SymbolKindOrTypeKind(MethodKind.Ordinary)); 551? [new SymbolKindOrTypeKind(MethodKind.LocalFunction)] : 552[new SymbolKindOrTypeKind(SymbolKind.Local), new SymbolKindOrTypeKind(MethodKind.LocalFunction)];
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.ItemGetter.cs (4)
218case MethodKind.Ordinary: 221case MethodKind.UserDefinedOperator: 222case MethodKind.BuiltinOperator: 226case MethodKind.Conversion:
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (13)
936if (symbol is not IMethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.StaticConstructor } method) 1975MethodKind.PropertyGet => symbol.AssociatedSymbol is IPropertySymbol { IsIndexer: true } ? CSharpFeaturesResources.indexer_getter : CSharpFeaturesResources.property_getter, 1976MethodKind.PropertySet => symbol.AssociatedSymbol is IPropertySymbol { IsIndexer: true } ? CSharpFeaturesResources.indexer_setter : CSharpFeaturesResources.property_setter, 1977MethodKind.StaticConstructor => FeaturesResources.static_constructor, 1978MethodKind.Destructor => CSharpFeaturesResources.destructor, 1979MethodKind.Conversion => CSharpFeaturesResources.conversion_operator, 1980MethodKind.LocalFunction => FeaturesResources.local_function, 1981MethodKind.LambdaMethod => CSharpFeaturesResources.lambda, 1982MethodKind.Ordinary when symbol.Name == WellKnownMemberNames.TopLevelStatementsEntryPointMethodName => CSharpFeaturesResources.top_level_code, 2528IMethodSymbol { MethodKind: MethodKind.Destructor } 2532IMethodSymbol { MethodKind: MethodKind.Conversion or MethodKind.UserDefinedOperator }
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (4)
106methodKind: this.LocalFunction ? MethodKind.LocalFunction : MethodKind.Ordinary); 1156var localFunctionPreferences = Options.NamingStyle.SymbolSpecifications.Where(symbol => symbol.AppliesTo(new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction), CreateMethodModifiers().Modifiers, null)); 1159var localFunctionKind = new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction);
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider.cs (1)
56if (parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.Constructor } constructor)
InlineHints\CSharpInlineTypeHintsService.cs (1)
77if (parameter?.ContainingSymbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction } &&
NavigationBar\CSharpNavigationBarItemService.cs (2)
182return method.MethodKind is MethodKind.PropertyGet or MethodKind.PropertySet;
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_DelegateAndFunctionPointerInvoke.cs (1)
64if (invokeMethod.MethodKind == MethodKind.FunctionPointerSignature)
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (1)
75methodGroup = methodGroup.Where(m => m.IsStatic || m is IMethodSymbol { MethodKind: MethodKind.LocalFunction });
src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
87if (context.OwningSymbol is IMethodSymbol { MethodKind: MethodKind.Constructor })
src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (4)
175if (owningMethod.MethodKind is not (MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.PropertyGet or MethodKind.PropertySet)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs (1)
55if (symbol is not IMethodSymbol { MethodKind: MethodKind.Constructor, Parameters: [var constructorParameter] } ||
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (1)
68MethodKind: MethodKind.Constructor,
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.InfoCache.cs (2)
79if (method.MethodKind == MethodKind.PropertyGet) 93Debug.Assert(method.MethodKind == MethodKind.Ordinary);
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (3)
73method.MethodKind is MethodKind.PropertyGet or MethodKind.Ordinary && 146=> method.MethodKind != MethodKind.Ordinary
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (1)
214methodKind: MethodKind.Conversion);
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (1)
110Debug.Assert(ctor.MethodKind == MethodKind.Constructor && typeDeclaration.ParameterList is object);
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (2)
src\Analyzers\CSharp\Tests\NamingStyles\NamingStylesTests.cs (2)
241[InlineData("void [|m|]() {}", "void M() {}", MethodKind.Ordinary, Accessibility.Private)] 242[InlineData("void Outer() { void [|m|]() {} }", "void Outer() { void M() {} }", MethodKind.LocalFunction, Accessibility.NotApplicable)]
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (78)
Semantics\DelegateTypeTests.cs (3)
902Assert.Equal(MethodKind.LambdaMethod, method.MethodKind); 945Assert.Equal(MethodKind.LambdaMethod, method.MethodKind); 8156Assert.Equal(MethodKind.LambdaMethod, method.MethodKind);
Semantics\InitOnlyMemberTests.cs (1)
2565bool isSetter = method.MethodKind == MethodKind.PropertySet;
Semantics\LambdaTests.cs (5)
857Assert.Equal(MethodKind.AnonymousFunction, (sym as IMethodSymbol).MethodKind); 867Assert.Equal(MethodKind.AnonymousFunction, (sym as IMethodSymbol).MethodKind); 3043Assert.Equal(MethodKind.AnonymousFunction, lambda.MethodKind); 3050Assert.Equal(MethodKind.AnonymousFunction, lambda.MethodKind); 5642Assert.Equal(MethodKind.LambdaMethod, method.MethodKind);
Semantics\LocalFunctionTests.cs (1)
1063Assert.Equal(MethodKind.Constructor, attrConstructor.MethodKind);
Semantics\NamedAndOptionalTests.cs (5)
2047var methods = module.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray(); 2129var methods = module.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray(); 2180var methods = module.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray(); 2263var methods = module.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray(); 2345var methods = module.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind == MethodKind.Ordinary).ToArray();
Semantics\NativeIntegerTests.cs (8)
332case MethodKind.Ordinary: 334case MethodKind.PropertyGet: 335case MethodKind.PropertySet: 350return !(nativeIntegerMember is IMethodSymbol { MethodKind: MethodKind.Constructor }); 446case MethodKind.Ordinary: 448case MethodKind.PropertyGet: 449case MethodKind.PropertySet: 464return !(nativeIntegerMember is MethodSymbol { MethodKind: MethodKind.Constructor });
Semantics\OperatorTests.cs (4)
7619Assert.Equal(MethodKind.BuiltinOperator, symbol1.MethodKind); 8104Assert.Equal(MethodKind.UserDefinedOperator, s.MethodKind); 8292Assert.Equal(MethodKind.UserDefinedOperator, symbol1.MethodKind); 8395Assert.Equal(MethodKind.BuiltinOperator, symbol1.MethodKind);
Semantics\QueryTests.cs (4)
1462Assert.NotEqual(MethodKind.ReducedExtension, ((IMethodSymbol)info0.CastInfo.Symbol).MethodKind); 1471Assert.NotEqual(MethodKind.ReducedExtension, ((IMethodSymbol)info1.OperationInfo.Symbol).MethodKind); 1671Assert.Equal(MethodKind.ReducedExtension, ((IMethodSymbol)info0.CastInfo.Symbol).MethodKind); 1680Assert.Equal(MethodKind.ReducedExtension, ((IMethodSymbol)info1.OperationInfo.Symbol).MethodKind);
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);
Semantics\TopLevelStatementsTests.cs (1)
4222Assert.Equal(MethodKind.LocalFunction, ((IMethodSymbol)local).MethodKind);
Semantics\UnsafeTests.cs (2)
8873Assert.Equal(MethodKind.BuiltinOperator, summaryMethod.MethodKind); 9335Assert.Equal(MethodKind.BuiltinOperator, summaryMethod.MethodKind);
Semantics\Utf8StringsLiteralsTests.cs (1)
4086Assert.Equal(MethodKind.BuiltinOperator, method.MethodKind);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (401)
Compilation\GetSemanticInfoTests.cs (7)
1074Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)baseConstructor).MethodKind); 1093Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)baseConstructor).MethodKind); 1116Assert.Equal(MethodKind.Constructor, invokedConstructor.MethodKind); 1172Assert.Equal(MethodKind.EventAdd, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 1201Assert.Equal(MethodKind.EventRemove, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 2360Assert.Equal(MethodKind.AnonymousFunction, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 2542Assert.Equal(MethodKind.Conversion, ((IMethodSymbol)symbol.ContainingSymbol).MethodKind);
Compilation\SemanticModelAPITests.cs (3)
1371Assert.Equal(MethodKind.Constructor, method.MethodKind); 2087Assert.Equal(MethodKind.Constructor, method.MethodKind); 2104Assert.Equal(MethodKind.Constructor, method.MethodKind);
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (10)
354Assert.Equal(MethodKind.PropertyGet, getterSymbol.MethodKind); 360Assert.Equal(MethodKind.PropertySet, setterSymbol.MethodKind); 1722symbol.Kind == SymbolKind.Method && (((IMethodSymbol)symbol).IsExtensionMethod || ((IMethodSymbol)symbol).MethodKind == MethodKind.ReducedExtension); 1885symbol.Kind == SymbolKind.Method && (((IMethodSymbol)symbol).IsExtensionMethod || ((IMethodSymbol)symbol).MethodKind == MethodKind.ReducedExtension); 2854Assert.Equal(MethodKind.ExplicitInterfaceImplementation, explicitMethodSymbol.MethodKind); 2874Assert.Equal(MethodKind.PropertyGet, explicitPropertyGetterSymbol.MethodKind); 2884Assert.Equal(MethodKind.PropertySet, explicitPropertySetterSymbol.MethodKind); 4435Assert.Equal(MethodKind.Conversion, conversion.MethodKind); 4466Assert.Equal(MethodKind.Conversion, conversion.MethodKind); 4497Assert.Equal(MethodKind.UserDefinedOperator, @operator.MethodKind);
Compilation\SemanticModelGetSemanticInfoTests.cs (5)
4881Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol.ContainingSymbol).MethodKind); 4888Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol.ContainingSymbol).MethodKind); 5408Assert.Equal(MethodKind.PropertySet, ((IMethodSymbol)sortedCandidates[0]).MethodKind); 6368Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)symbol).MethodKind); 7290Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol).MethodKind);
DocumentationComments\CrefTests.cs (5)
3230Assert.Equal(MethodKind.Ordinary, ((IMethodSymbol)info.CandidateSymbols[0]).MethodKind); 3278Assert.Equal(MethodKind.Conversion, ((IMethodSymbol)info.CandidateSymbols[0]).MethodKind); 3302Assert.Equal(MethodKind.UserDefinedOperator, ((IMethodSymbol)info.CandidateSymbols[0]).MethodKind); 3326Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)info.CandidateSymbols[0]).MethodKind); 5718Assert.Equal(MethodKind.UserDefinedOperator, ((IMethodSymbol)symbol).MethodKind);
DocumentationComments\DocumentationCommentIDTests.cs (1)
351var method = type.GetMembersUnordered().OfType<MethodSymbol>().Single(m => m.MethodKind == MethodKind.ExplicitInterfaceImplementation);
SymbolDisplay\SymbolDisplayTests.cs (4)
6729Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6772Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6807Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6901Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind);
Symbols\AccessorOverriddenOrHiddenMembersTests.cs (4)
433Assert.Equal(MethodKind.Ordinary, derivedMethod.MethodKind); 483Assert.Equal(MethodKind.PropertyGet, derivedGetter.MethodKind); 883if (m.MethodKind == MethodKind.Constructor) 887Assert.NotEqual(MethodKind.Ordinary, m.MethodKind);
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); 375var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 406var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 482var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 509var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 540var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 558expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 566expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 712var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 730expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 738expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 835var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 843expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 851expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 884var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 892expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 900expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 929var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 931Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind); 963var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 967Assert.Equal(MethodKind.UserDefinedOperator, opSymbol1.MethodKind); 973Assert.Equal(MethodKind.UserDefinedOperator, opSymbol2.MethodKind); 1006var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 1009Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 1010Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 1042var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 1045Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 1048Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 1051Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[2].MethodKind); 1293var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 1295Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind); 1327var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 1330Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 1331Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 1362var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 1364Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 1365Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 1396var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 1399Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 1400Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 1551var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1578var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1660var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1687var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1720var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 1739expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 1747expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 1843var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1861expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1876expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1909var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1917expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1925expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1953var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1971expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 1979expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2078var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2096expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2104expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2137var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2145expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2153expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2206var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2208Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind); 2251var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 2254Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[0].MethodKind); 2255Assert.Equal(MethodKind.UserDefinedOperator, opSymbols[1].MethodKind); 2466var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2493var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2527var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2529Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind); 2563var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 2566Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind); 2567Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind); 2603var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 2605Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind); 2606Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind); 2642var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 2645Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind); 2646Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind); 2783var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2806var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 2879var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2897expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2905expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 3045var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 3063expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 3071expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 3213var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 3215Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind); 3245var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 3248Assert.Equal(MethodKind.Conversion, opSymbols[0].MethodKind); 3249Assert.Equal(MethodKind.Conversion, opSymbols[1].MethodKind);
Symbols\ConversionTests.cs (3)
2064var conversionSymbols = destinationType.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Conversion); 2145Assert.Equal(MethodKind.Conversion, method.MethodKind); 2179Assert.Equal(MethodKind.Conversion, method.MethodKind);
Symbols\DefaultInterfaceImplementationTests.cs (5)
43953Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind); 44676Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind); 44774Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind); 45242Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind); 45710Assert.Equal(MethodKind.StaticConstructor, cctor.MethodKind);
Symbols\DestructorTests.cs (1)
401Assert.Equal(MethodKind.Destructor, destructor.MethodKind);
Symbols\ExtensionMethodTests.cs (2)
229Assert.Equal(MethodKind.ReducedExtension, gooSymbol.MethodKind); 232Assert.Equal(MethodKind.Ordinary, gooOriginal.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\MetadataMemberTests.cs (2)
164Assert.Equal(MethodKind.Constructor, ctor.MethodKind); 205Assert.Equal(MethodKind.Ordinary, member1.MethodKind);
Symbols\Metadata\PE\LoadingEvents.cs (2)
98case MethodKind.EventAdd: 101case MethodKind.EventRemove:
Symbols\Metadata\PE\LoadingIndexers.cs (5)
1072Assert.Equal(MethodKind.Ordinary, accessor.MethodKind); 1077Assert.Equal(propertyIsIndexer ? MethodKind.PropertyGet : MethodKind.Ordinary, accessor.MethodKind); 1084Assert.Equal(propertyIsIndexer ? MethodKind.PropertySet : MethodKind.Ordinary, accessor.MethodKind);
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\ModuleInitializers\ModuleInitializersTests.cs (1)
133Assert.Equal(MethodKind.StaticConstructor, staticConstructor.MethodKind);
Symbols\RequiredMembersTests.cs (1)
70foreach (var ctor in type.GetMembers().Where(m => m is MethodSymbol { MethodKind: MethodKind.Constructor }))
Symbols\Retargeting\RetargetExplicitInterfaceImplementation.cs (5)
87if (method.MethodKind == MethodKind.ExplicitInterfaceImplementation) 157Assert.Equal(MethodKind.ExplicitInterfaceImplementation, retargetedClassCMethod1.MethodKind); 168Assert.Equal(MethodKind.ExplicitInterfaceImplementation, retargetedClassCMethod2.MethodKind); 177Assert.Equal(MethodKind.ExplicitInterfaceImplementation, retargetedClassCMethod3.MethodKind); 186Assert.Equal(MethodKind.ExplicitInterfaceImplementation, retargetedClassCMethod4.MethodKind);
Symbols\Source\CustomModifierCopyTests.cs (5)
533AssertAllParametersHaveConstModOpt(explicitImpl, ignoreLast: explicitImpl.MethodKind == MethodKind.PropertySet); 738var explicitGetterImpl = explicitImpls.Where(impl => impl.ImplementingMethod.MethodKind == MethodKind.PropertyGet).Single(); 741var explicitSetterImpl = explicitImpls.Where(impl => impl.ImplementingMethod.MethodKind == MethodKind.PropertySet).Single(); 1486m => m.MethodKind == MethodKind.ExplicitInterfaceImplementation); 1530m => m.MethodKind == MethodKind.ExplicitInterfaceImplementation);
Symbols\Source\DeclaringSyntaxNodeTests.cs (2)
159Assert.Equal(MethodKind.AnonymousFunction, sym.MethodKind); 523if (memb.Kind == SymbolKind.Method && ((IMethodSymbol)memb).MethodKind == MethodKind.Constructor)
Symbols\Source\DelegateTests.cs (1)
112Assert.Equal(MethodKind.DelegateInvoke, invoke.MethodKind);
Symbols\Source\EventTests.cs (8)
89Assert.Equal(MethodKind.EventAdd, addMethod.MethodKind); 94Assert.Equal(MethodKind.EventRemove, removeMethod.MethodKind); 127Assert.Equal(MethodKind.EventAdd, addMethod.MethodKind); 132Assert.Equal(MethodKind.EventRemove, removeMethod.MethodKind); 166Assert.Equal(MethodKind.EventAdd, addMethod.MethodKind); 171Assert.Equal(MethodKind.EventRemove, removeMethod.MethodKind); 201Assert.Equal(MethodKind.EventAdd, addMethod.MethodKind); 206Assert.Equal(MethodKind.EventRemove, removeMethod.MethodKind);
Symbols\Source\MethodTests.cs (8)
121Assert.Equal(MethodKind.Constructor, m.MethodKind); 145Assert.Equal(MethodKind.Ordinary, m.MethodKind); 1677Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind); 1721Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind); 1767Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind); 1821Assert.Equal(MethodKind.ExplicitInterfaceImplementation, classMethod.MethodKind); 1905Assert.Equal(MethodKind.StaticConstructor, staticConstructor.MethodKind); 1929Assert.Equal(MethodKind.StaticConstructor, staticConstructor.MethodKind);
Symbols\Source\NullablePublicAPITests.cs (4)
3491Assert.Equal(MethodKind.LambdaMethod, lambdaSymbol.MethodKind); 3544Assert.Equal(MethodKind.LambdaMethod, innerLambdaSymbol.MethodKind); 3605Assert.Equal(MethodKind.LambdaMethod, innerLambdaSymbol.MethodKind); 4131var localFunctionResult = lookupResults.OfType<IMethodSymbol>().First(m => m.MethodKind == MethodKind.LocalFunction);
Symbols\Source\PropertyTests.cs (20)
605Assert.True(accessor.MethodKind == MethodKind.PropertyGet || accessor.MethodKind == MethodKind.PropertySet, 725VerifyAccessor(goodStatic.GetMethod, goodStatic, MethodKind.PropertyGet); 726VerifyAccessor(goodStatic.SetMethod, goodStatic, MethodKind.PropertySet); 727VerifyAccessor(badStatic.GetMethod, goodStatic, MethodKind.PropertyGet); 728VerifyAccessor(badStatic.SetMethod, goodStatic, MethodKind.PropertySet); 729VerifyAccessor(mismatchedStatic.GetMethod, goodStatic, MethodKind.PropertyGet); 730VerifyAccessor(mismatchedStatic.SetMethod, null, MethodKind.Ordinary); 742VerifyAccessor(goodInstance.GetMethod, goodInstance, MethodKind.PropertyGet); 743VerifyAccessor(goodInstance.SetMethod, goodInstance, MethodKind.PropertySet); 744VerifyAccessor(badInstance.GetMethod, goodInstance, MethodKind.PropertyGet); 745VerifyAccessor(badInstance.SetMethod, goodInstance, MethodKind.PropertySet); 746VerifyAccessor(mismatchedInstance.GetMethod, goodInstance, MethodKind.PropertyGet); 747VerifyAccessor(mismatchedInstance.SetMethod, null, MethodKind.Ordinary); 751VerifyAccessor(staticAndInstance.GetMethod, goodStatic, MethodKind.PropertyGet); 752VerifyAccessor(staticAndInstance.SetMethod, goodInstance, MethodKind.PropertySet); 757VerifyAccessor(getUsedAsSet.GetMethod, goodInstance, MethodKind.PropertyGet); 758VerifyAccessor(getUsedAsSet.SetMethod, goodInstance, MethodKind.PropertyGet); 762private void VerifyAccessor(MethodSymbol accessor, PEPropertySymbol associatedProperty, MethodKind methodKind) 770var method = (methodKind == MethodKind.PropertyGet) ? associatedProperty.GetMethod : associatedProperty.SetMethod;
Symbols\Source\RecordTests.cs (2)
153Assert.Equal(MethodKind.PropertyGet, x.GetMethod!.MethodKind); 187Assert.Equal(MethodKind.PropertyGet, y.GetMethod!.MethodKind);
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); 19856Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind); 19937Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind); 20029Assert.Equal(MethodKind.UserDefinedOperator, cM01.MethodKind); 20127Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind); 20210Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind); 20302Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind); 20391Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind); 20817Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 20818Assert.Equal(MethodKind.UserDefinedOperator, c1.GetMember<MethodSymbol>(opName).MethodKind); 20823Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 20839Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind); 20952Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 20953Assert.Equal(MethodKind.UserDefinedOperator, c1.GetMember<MethodSymbol>(opName).MethodKind); 20958Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 20974Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind); 21031Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 21111Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 21203Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 21268Assert.Equal(MethodKind.UserDefinedOperator, m01.MethodKind); 21349Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 21364Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21371Assert.Equal(MethodKind.UserDefinedOperator, c2M01.MethodKind); 21465Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 21478Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21484Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21499Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 21576Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 21589Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21595Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21610Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 21711Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 21724Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21730Assert.Equal(MethodKind.UserDefinedOperator, c1M01.MethodKind); 21744Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 23495Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 23510Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 23591Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 23603Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 23681Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 23696Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 24214Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 24272Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 24284Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 24376Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 24566Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 24624Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 24636Assert.Equal(MethodKind.PropertyGet, cM01Get.MethodKind); 24728Assert.Equal(MethodKind.PropertySet, cM01Set.MethodKind); 24955Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Get.MethodKind); 24961Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Set.MethodKind); 24985Assert.Equal(MethodKind.PropertyGet, c1M01Get.MethodKind); 24996Assert.Equal(MethodKind.PropertySet, c1M01Set.MethodKind); 25010Assert.Equal(MethodKind.PropertyGet, c2M01Get.MethodKind); 25016Assert.Equal(MethodKind.PropertySet, c2M01Set.MethodKind); 25134Assert.Equal(MethodKind.PropertyGet, c1M01Get.MethodKind); 25144Assert.Equal(MethodKind.PropertySet, c1M01Set.MethodKind); 25159Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Set.MethodKind); 25195Assert.Equal(MethodKind.PropertyGet, c2M01Get.MethodKind); 25206Assert.Equal(MethodKind.PropertySet, c2M01Set.MethodKind); 25235Assert.Equal(MethodKind.PropertyGet, c3M01Get.MethodKind); 25246Assert.Equal(MethodKind.PropertySet, c3M01Set.MethodKind); 26273Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind); 26288Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind); 26368Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind); 26383Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind); 26916Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind); 26928Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind); 27190Assert.Equal(MethodKind.EventRemove, cM01Remove.MethodKind); 27202Assert.Equal(MethodKind.EventAdd, cM01Add.MethodKind); 27483Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Add.MethodKind); 27489Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01Remove.MethodKind); 27513Assert.Equal(MethodKind.EventAdd, c1M01Add.MethodKind); 27524Assert.Equal(MethodKind.EventRemove, c1M01Remove.MethodKind); 27538Assert.Equal(MethodKind.EventAdd, c2M01Add.MethodKind); 27544Assert.Equal(MethodKind.EventRemove, c2M01Remove.MethodKind); 27674Assert.Equal(MethodKind.EventAdd, c1M01Add.MethodKind); 27685Assert.Equal(MethodKind.EventRemove, c1M01Remove.MethodKind); 27699Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Add.MethodKind); 27711Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01Remove.MethodKind); 27751Assert.Equal(MethodKind.EventAdd, c2M01Add.MethodKind); 27763Assert.Equal(MethodKind.EventRemove, c2M01Remove.MethodKind); 27785Assert.Equal(MethodKind.EventAdd, c3M02Add.MethodKind); 27796Assert.Equal(MethodKind.EventRemove, c3M02Remove.MethodKind); 27810Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c3M02Add.MethodKind); 27822Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c3M02Remove.MethodKind); 27864Assert.Equal(MethodKind.EventAdd, c4M02Add.MethodKind); 27877Assert.Equal(MethodKind.EventRemove, c4M02Remove.MethodKind); 29213Assert.Equal(MethodKind.Conversion, cM01.MethodKind); 29238Assert.Equal(MethodKind.Conversion, cM02.MethodKind); 29339Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM01.MethodKind); 29355Assert.Equal(MethodKind.ExplicitInterfaceImplementation, cM02.MethodKind); 29556Assert.Equal(MethodKind.Conversion, m01.MethodKind); 29557Assert.Equal(MethodKind.Conversion, c1.GetMember<MethodSymbol>(opName).MethodKind); 29562Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 29578Assert.Equal(MethodKind.Conversion, c2M01.MethodKind); 29636Assert.Equal(MethodKind.Conversion, m01.MethodKind); 29732Assert.Equal(MethodKind.Conversion, m01.MethodKind); 29808Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 29823Assert.Equal(MethodKind.Conversion, c1M01.MethodKind); 29830Assert.Equal(MethodKind.Conversion, c2M01.MethodKind); 29923Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c1M01.MethodKind); 29936Assert.Equal(MethodKind.Conversion, c1M01.MethodKind); 29942Assert.Equal(MethodKind.Conversion, c1M01.MethodKind); 29957Assert.Equal(MethodKind.ExplicitInterfaceImplementation, c2M01.MethodKind); 32729var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 32731Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind); 32766var opSymbols = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).ToArray(); 32770Assert.Equal(MethodKind.UserDefinedOperator, opSymbol1.MethodKind); 32776Assert.Equal(MethodKind.UserDefinedOperator, opSymbol2.MethodKind); 32977var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 32979Assert.Equal(MethodKind.UserDefinedOperator, opSymbol.MethodKind); 33164var opSymbol = c.GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).Single(); 33166Assert.Equal(MethodKind.Conversion, opSymbol.MethodKind);
Symbols\TypeTests.cs (2)
1205.Count(m => !(m is MethodSymbol) || (m as MethodSymbol).MethodKind != MethodKind.Constructor)); 2466var method = typeMembers.OfType<MethodSymbol>().First(m => m is { MethodKind: not MethodKind.Constructor });
Symbols\UnsignedRightShiftTests.cs (12)
1988Assert.Equal(MethodKind.UserDefinedOperator, compilation1.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 1997Assert.Equal(MethodKind.UserDefinedOperator, compilation2.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 2003Assert.Equal(MethodKind.UserDefinedOperator, compilation3.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 2240Assert.Equal(MethodKind.UserDefinedOperator, compilation1.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 2249Assert.Equal(MethodKind.UserDefinedOperator, compilation2.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 2255Assert.Equal(MethodKind.UserDefinedOperator, compilation3.GetMember<MethodSymbol>("C1.op_UnsignedRightShift").MethodKind); 2706var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2724expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2732expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2875var expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2893expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First(); 2901expectedSymbol = compilation.SourceModule.GlobalNamespace.GetTypeMember("C").GetMembers().OfType<MethodSymbol>().Where(m => m.MethodKind != MethodKind.Constructor).First();
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (1)
Syntax\LambdaUtilitiesTests.cs (1)
49bool expected = enclosingMethod.MethodKind == MethodKind.LambdaMethod && enclosingSyntax.Span.Contains(span.Value);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (8)
CSharpTrackingDiagnosticAnalyzer.cs (2)
22protected override bool IsOnCodeBlockSupported(SymbolKind symbolKind, MethodKind methodKind, bool returnsVoid) 24return base.IsOnCodeBlockSupported(symbolKind, methodKind, returnsVoid) && methodKind != MethodKind.EventRaise;
Extensions.cs (5)
575case MethodKind.EventAdd: 576case MethodKind.EventRemove: 580case MethodKind.PropertyGet: 581case MethodKind.PropertySet: 583var isSetter = accessor.MethodKind == MethodKind.PropertySet;
FunctionPointerUtilities.cs (1)
58Assert.Equal(MethodKind.FunctionPointerSignature, symbol.MethodKind);
Microsoft.CodeAnalysis.CSharp.Workspaces (17)
Classification\SyntaxClassification\NameSyntaxClassifier.cs (2)
255if (methodSymbol.MethodKind == MethodKind.Constructor) 261if (methodSymbol.MethodKind == MethodKind.ReducedExtension)
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.cs (1)
48if (symbolInfo.Symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
Recommendations\CSharpRecommendationServiceRunner.cs (1)
768if (symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction })
Recommendations\CSharpRecommendationServiceRunner_Operators.cs (1)
33if (member is not IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } method)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
19conversion.MethodSymbol.MethodKind == MethodKind.Conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
372MethodKind: MethodKind.ReducedExtension,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
68if (symbol is IMethodSymbol { MethodKind: MethodKind.Conversion })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
1001if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op) 1246method.MethodKind is not (MethodKind.LocalFunction or MethodKind.LambdaMethod) && 1416if (originalMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } originalMethodSymbol || 1417rewrittenMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } rewrittenMethodSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
156if (method.MethodKind == MethodKind.Conversion) 162if (method.MethodKind == MethodKind.UserDefinedOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2018while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (3)
CodeGeneration\SyntaxGeneratorTests.cs (3)
1079var op = c.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Conversion).Single(); 2577var method = type.GetMembers().Single(m => m is IMethodSymbol { MethodKind: MethodKind.ExplicitInterfaceImplementation }); 4360var method = symbolC.GetMembers().OfType<IMethodSymbol>().Single(m => m.MethodKind == MethodKind.Ordinary);
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
Utilities\SymbolEquivalenceComparerTests.cs (2)
1870Assert.Equal(MethodKind.ReducedExtension, method1.MethodKind); 1873Assert.Equal(MethodKind.ReducedExtension, method2.MethodKind);
Microsoft.CodeAnalysis.Extensions.Package (49)
Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.CodeAnalysis.Features (113)
ChangeSignature\AbstractChangeSignatureService.cs (3)
271if (methodSymbol is { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet }) 311if (methodSymbol.MethodKind == MethodKind.DelegateInvoke)
ChangeSignature\DelegateInvokeMethodReferenceFinder.cs (1)
38=> symbol.MethodKind == MethodKind.DelegateInvoke;
CodeLens\CodeLensFindReferenceProgress.cs (1)
122(definition as IMethodSymbol)?.MethodKind == MethodKind.Constructor;
CodeLens\CodeLensReferencesService.cs (1)
236if (method.MethodKind != MethodKind.AnonymousFunction)
Completion\Providers\AbstractContextVariableArgumentProvider.cs (2)
90while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction })
ConvertAnonymousType\AbstractConvertAnonymousTypeToClassCodeRefactoringProvider.cs (3)
352var getMethod = prop.GetMethod != null ? CreateAccessorSymbol(prop, MethodKind.PropertyGet) : null; 353var setMethod = prop.SetMethod != null ? CreateAccessorSymbol(prop, MethodKind.PropertySet) : null; 370private static IMethodSymbol CreateAccessorSymbol(IPropertySymbol prop, MethodKind kind)
ConvertToInterpolatedString\AbstractConvertConcatenationToInterpolatedStringRefactoringProvider.cs (1)
293MethodKind: MethodKind.BuiltinOperator,
Debugging\AbstractDataTipInfoGetter.cs (1)
47MethodKind: MethodKind.ReducedExtension,
DocumentHighlighting\AbstractDocumentHighlightsService.cs (6)
144case MethodKind.AnonymousFunction: 145case MethodKind.PropertyGet: 146case MethodKind.PropertySet: 147case MethodKind.EventAdd: 148case MethodKind.EventRaise: 149case MethodKind.EventRemove:
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (33)
346MethodKind.Constructor => FeaturesResources.constructor, 347MethodKind.PropertyGet or MethodKind.PropertySet => FeaturesResources.property_accessor, 348MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove => FeaturesResources.event_accessor, 349MethodKind.BuiltinOperator or MethodKind.UserDefinedOperator or MethodKind.Conversion => FeaturesResources.operator_, 3689MethodKind.Ordinary or 3690MethodKind.Constructor or 3691MethodKind.EventAdd or 3692MethodKind.EventRemove or 3693MethodKind.EventRaise or 3694MethodKind.Conversion or 3695MethodKind.UserDefinedOperator or 3696MethodKind.PropertyGet or 3697MethodKind.PropertySet 3959return oldMethod.MethodKind == MethodKind.StaticConstructor || HasRestartRequiredAttribute(oldMethod); 4134else if (oldMethod.MethodKind == MethodKind.Conversion) 4138else if (oldMethod.MethodKind == MethodKind.ExplicitInterfaceImplementation || newMethod.MethodKind == MethodKind.ExplicitInterfaceImplementation) 4239if (oldMethod is { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet, AssociatedSymbol: IPropertySymbol oldProperty } && !oldProperty.IsAutoProperty() && 4240newMethod is { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet, AssociatedSymbol: IPropertySymbol newProperty } && newProperty.IsAutoProperty() && 4247if (oldMethod.MethodKind == MethodKind.DeclareMethod || newMethod.MethodKind == MethodKind.DeclareMethod) 5406Contract.ThrowIfFalse(oldCtor is { MethodKind: MethodKind.Constructor or MethodKind.StaticConstructor }); 6216var lambda = parameter.ContainingSymbol is IMethodSymbol { MethodKind: MethodKind.LambdaMethod or MethodKind.LocalFunction } containingLambda ? 6810=> symbol is IMethodSymbol { IsStatic: false, MethodKind: MethodKind.Constructor, DeclaringSyntaxReferences: [_] } && IsPrimaryConstructorDeclaration(GetSymbolDeclarationSyntax(symbol, cancellationToken));
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (1)
152method.MethodKind == MethodKind.Ordinary &&
ExtractMethod\Extensions.cs (1)
21if (methodSymbol?.MethodKind != MethodKind.AnonymousFunction)
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (1)
130.Any(m => m.MethodKind == MethodKind.UserDefinedOperator &&
GoToBase\AbstractGoToBaseService.cs (1)
45if (bases.Length == 0 && symbol is IMethodSymbol { MethodKind: MethodKind.Constructor } constructor)
InheritanceMargin\AbstractInheritanceMarginService.cs (4)
78MethodKind: MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation or MethodKind.UserDefinedOperator or MethodKind.Conversion
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (1)
67if (method.MethodKind != MethodKind.Constructor)
InlineHints\AbstractInlineParameterNameHintsService.cs (2)
231if (parameter is not { ContainingSymbol: IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction } method })
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (6)
89var methodKind = methodSymbol.MethodKind; 90if (methodKind is not (MethodKind.Ordinary or MethodKind.LocalFunction or MethodKind.Constructor)) 165if (methodSymbol.MethodKind is not MethodKind.Constructor) 176if (methodSymbol.MethodKind is not MethodKind.LocalFunction)
LanguageServiceIndexFormat\SymbolMoniker.cs (1)
33if (symbol is IMethodSymbol method && method.MethodKind == MethodKind.BuiltinOperator)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (1)
630var extension = method.IsExtensionMethod || method.MethodKind == MethodKind.ReducedExtension;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedMethodSymbol.cs (1)
50public MethodKind MethodKind => _symbol.MethodKind;
PullMemberUp\MemberAndDestinationValidator.cs (1)
47IMethodSymbol methodSymbol => methodSymbol.MethodKind == MethodKind.Ordinary,
Rename\SymbolicRenameInfo.cs (1)
206if (symbol.Kind == SymbolKind.Method && ((IMethodSymbol)symbol).MethodKind == MethodKind.UserDefinedOperator)
RQName\RQNodeBuilder.cs (8)
200if (symbol.MethodKind is MethodKind.UserDefinedOperator or 201MethodKind.BuiltinOperator or 202MethodKind.EventAdd or 203MethodKind.EventRemove or 204MethodKind.PropertySet or 205MethodKind.PropertyGet) 212if (symbol.MethodKind == MethodKind.Constructor) 216else if (symbol.MethodKind == MethodKind.Destructor)
Shared\Extensions\ISymbolExtensions_2.cs (9)
99if (methodSymbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.Conversion or MethodKind.BuiltinOperator) 104methodSymbol.MethodKind == MethodKind.ReducedExtension || 253case MethodKind.EventAdd: 254case MethodKind.EventRaise: 255case MethodKind.EventRemove: 256case MethodKind.PropertyGet: 257case MethodKind.PropertySet:
src\Analyzers\Core\Analyzers\Helpers\DeserializationConstructorCheck.cs (1)
17methodSymbol.MethodKind == MethodKind.Constructor &&
src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
146return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (3)
790/// 4. If method, then it is a constructor OR a method with <see cref="MethodKind.Ordinary"/>, 812case MethodKind.Constructor: 842case MethodKind.Ordinary:
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (1)
298if (method.MethodKind != MethodKind.Constructor)
src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction)
src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (1)
139var isConstructorInitializer = candidates.All(m => m.MethodKind == MethodKind.Constructor);
src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (3)
141if (method.MethodKind == MethodKind.ReducedExtension && insertionIndex < existingParameters.Count) 167if (method.MethodKind != MethodKind.Constructor) 193if (parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.Constructor, DeclaringSyntaxReferences: [var reference] } constructor)
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.State.cs (2)
59MethodKind = MethodKind.Conversion; 83MethodKind = MethodKind.Conversion;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (1)
54MethodKind = MethodKind.Ordinary;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (2)
85MethodKind = MethodKind.Ordinary; 124MethodKind = MethodKind.Ordinary;
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.State.cs (1)
42public MethodKind MethodKind { get; internal set; }
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator.cs (2)
364return method1.MethodKind == MethodKind.Ordinary && 365method2.MethodKind == MethodKind.Ordinary &&
src\Analyzers\Core\CodeFixes\Naming\FallbackNamingRules.cs (3)
59var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary)); 78var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary)); 88var kinds = ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.Ordinary));
Microsoft.CodeAnalysis.LanguageServer (1)
Services\LspExtractClassOptionsService.cs (1)
29IMethodSymbol methodSymbol => methodSymbol.MethodKind == MethodKind.Ordinary,
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (2)
Options\SolutionAnalyzerConfigOptionsUpdaterTests.cs (2)
159([MethodKind.Ordinary], Capitalization.PascalCase, ReportDiagnostic.Error), 160([MethodKind.Ordinary, SymbolKind.Field], Capitalization.PascalCase, ReportDiagnostic.Error));
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (124)
AbstractAllocationAnalyzer.cs (2)
82(methodSymbol.MethodKind == MethodKind.PropertyGet || methodSymbol.MethodKind == MethodKind.PropertySet) &&
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.PublicApiAnalyzers (114)
DeclarePublicApiAnalyzer.Impl.cs (13)
71private static readonly ImmutableArray<MethodKind> s_ignorableMethodKinds 72= ImmutableArray.Create(MethodKind.EventAdd, MethodKind.EventRemove); 207if (method.MethodKind is not (MethodKind.PropertyGet or MethodKind.PropertySet) || 208method is { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet, AssociatedSymbol.IsImplicitlyDeclared: true }) 313method.MethodKind == MethodKind.Constructor && 561if (sibling is not IMethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.PropertyGet or MethodKind.PropertySet }) 793if (methodSymbol is { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Enum }) 798if (methodSymbol is { ContainingType.TypeKind: TypeKind.Delegate, MethodKind: not MethodKind.DelegateInvoke })
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.CodeAnalysis.ResxSourceGenerator (101)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Microsoft.CodeAnalysis.Test.Utilities (25)
Compilation\CompilationExtensions.cs (2)
387if ((parameterInitializerOperation.Parameter.ContainingSymbol as IMethodSymbol)?.MethodKind is not (MethodKind.LocalFunction or MethodKind.AnonymousFunction))
Compilation\ControlFlowGraphVerifier.cs (2)
1716if (method.MethodKind == MethodKind.LocalFunction) 1731if (method.MethodKind == MethodKind.LocalFunction)
Compilation\TestOperationVisitor.cs (1)
811if (method.MethodKind == MethodKind.BuiltinOperator)
Diagnostics\FieldCouldBeReadOnlyAnalyzer.cs (2)
48bool inConstructor = containingMethod.MethodKind == MethodKind.Constructor; 49ITypeSymbol staticConstructorType = containingMethod.MethodKind == MethodKind.StaticConstructor ? containingMethod.ContainingType : null;
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 (534)
Analysis\FlowAnalysis\AbstractFlowPass.vb (2)
1226Debug.Assert(method.Kind <> MethodKind.Constructor) 1297Debug.Assert(method.Kind <> MethodKind.Constructor)
Analysis\FlowAnalysis\DataFlowPass.vb (18)
1231(Me.MethodSymbol.MethodKind = MethodKind.EventAdd AndAlso DirectCast(Me.MethodSymbol.AssociatedSymbol, EventSymbol).IsWindowsRuntimeEvent) Then 1258Case MethodKind.Conversion, MethodKind.UserDefinedOperator 1260Case MethodKind.PropertyGet 1263Debug.Assert(MethodSymbol.MethodKind = MethodKind.Ordinary OrElse MethodSymbol.MethodKind = MethodKind.LambdaMethod) 1270Case MethodKind.Conversion, MethodKind.UserDefinedOperator 1272Case MethodKind.PropertyGet 1275Debug.Assert(MethodSymbol.MethodKind = MethodKind.Ordinary OrElse MethodSymbol.MethodKind = MethodKind.LambdaMethod) 1286Case MethodKind.Conversion, MethodKind.UserDefinedOperator 1288Case MethodKind.PropertyGet 1290Case MethodKind.EventAdd 1321Case MethodKind.LambdaMethod 1324Case MethodKind.Conversion, MethodKind.UserDefinedOperator
Analysis\InitializerRewriter.vb (1)
273If methodSymbol.MethodKind = MethodKind.Constructor Then
Binding\Binder_Delegates.vb (2)
1147Debug.Assert(delegateInvoke.MethodKind = MethodKind.DelegateInvoke) 1238If method.MethodKind = MethodKind.DelegateInvoke AndAlso
Binding\Binder_Expressions.vb (7)
1872Dim containingMethodKind As MethodKind = Me.KindOfContainingMethodAtRunTime() 1874If containingMethodKind = MethodKind.Constructor Then 1878ElseIf containingMethodKind = MethodKind.SharedConstructor Then 1902Private Function KindOfContainingMethodAtRunTime() As MethodKind 1914Return MethodKind.SharedConstructor 1916Return MethodKind.Constructor 1928Return MethodKind.Ordinary ' Looks like a good default.
Binding\Binder_Invocation.vb (2)
58If Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.Constructor Then 716Return methodGroup.Methods(0).MethodKind = MethodKind.Constructor
Binding\Binder_Lambda.vb (3)
727Dim containingMethodKind As MethodKind = binderForExpressionContainingLambda.KindOfContainingMethodAtRunTime() 730Case MethodKind.SharedConstructor, MethodKind.Constructor
Binding\Binder_Lookup.vb (1)
1963containingMethod.MethodKind = MethodKind.Constructor AndAlso
Binding\Binder_Statements.vb (8)
347If methodSymbol.MethodKind = MethodKind.Constructor Then 416If Not methodSymbol.IsImplicitlyDeclared AndAlso methodSymbol.MethodKind = MethodKind.Constructor Then 1873If DirectCast(altSymbol.ContainingSymbol, MethodSymbol).MethodKind = MethodKind.LambdaMethod Then 5041Debug.Assert(Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.LambdaMethod) 5052Debug.Assert(Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.LambdaMethod) 5082Debug.Assert(Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.LambdaMethod) 5150Debug.Assert(Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.LambdaMethod) 5162Debug.Assert(Me.ContainingMember.Kind = SymbolKind.Method AndAlso DirectCast(Me.ContainingMember, MethodSymbol).MethodKind = MethodKind.LambdaMethod)
Binding\Binder_Utils.vb (22)
862Debug.Assert(Not (container.Kind = SymbolKind.Method AndAlso DirectCast(container, MethodSymbol).MethodKind = MethodKind.DelegateInvoke)) 902If Not methodSymbol.MethodKind = MethodKind.DeclareMethod Then 1519Friend Shared Function GetAccessorName(name As String, kind As MethodKind, isWinMd As Boolean) As String 1522Case MethodKind.PropertyGet 1524Case MethodKind.PropertySet 1530Case MethodKind.EventAdd 1532Case MethodKind.EventRemove 1534Case MethodKind.EventRaise 1644MethodKindOrdinary = CUInt(MethodKind.Ordinary) << MethodKindShift 1645MethodKindConstructor = CUInt(MethodKind.Constructor) << MethodKindShift 1646MethodKindSharedConstructor = CUInt(MethodKind.SharedConstructor) << MethodKindShift 1647MethodKindDelegateInvoke = CUInt(MethodKind.DelegateInvoke) << MethodKindShift 1648MethodKindOperator = CUInt(MethodKind.UserDefinedOperator) << MethodKindShift 1649MethodKindConversion = CUInt(MethodKind.Conversion) << MethodKindShift 1650MethodKindPropertyGet = CUInt(MethodKind.PropertyGet) << MethodKindShift 1651MethodKindPropertySet = CUInt(MethodKind.PropertySet) << MethodKindShift 1652MethodKindEventAdd = CUInt(MethodKind.EventAdd) << MethodKindShift 1653MethodKindEventRemove = CUInt(MethodKind.EventRemove) << MethodKindShift 1654MethodKindEventRaise = CUInt(MethodKind.EventRaise) << MethodKindShift 1655MethodKindDeclare = CUInt(MethodKind.DeclareMethod) << MethodKindShift 1663Friend Function ToMethodKind(flags As SourceMemberFlags) As MethodKind 1664Return CType((flags >> SourceMemberFlags.MethodKindShift) And SourceMemberFlags.MethodKindMask, MethodKind)
Binding\Binder_XmlLiterals.vb (1)
1922Public Overrides ReadOnly Property MethodKind As MethodKind
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,
Binding\SyntheticBoundTrees\SynthesizedPropertyAccessorBase.vb (2)
72If accessor.MethodKind = MethodKind.PropertyGet Then 88Debug.Assert(accessor.MethodKind = MethodKind.PropertySet)
BoundTree\BoundCall.vb (1)
80Dim isOperator As Boolean = (Method.MethodKind = MethodKind.UserDefinedOperator)
BoundTree\BoundUserDefinedBinaryOperator.vb (1)
41Debug.Assert(underlyingCall.Method.MethodKind = MethodKind.UserDefinedOperator AndAlso underlyingCall.Method.ParameterCount = 2)
BoundTree\BoundUserDefinedConversion.vb (1)
62Debug.Assert(underlyingCall.Method.MethodKind = MethodKind.Conversion AndAlso underlyingCall.Method.ParameterCount = 1)
BoundTree\BoundUserDefinedUnaryOperator.vb (1)
33Debug.Assert(underlyingCall.Method.MethodKind = MethodKind.UserDefinedOperator AndAlso underlyingCall.Method.ParameterCount = 1)
CodeGen\EmitAddress.vb (2)
279Return Me._method.MethodKind = MethodKind.SharedConstructor 281Return Me._method.MethodKind = MethodKind.Constructor AndAlso
Compilation\ClsComplianceChecker.vb (5)
217Dim methodKind As MethodKind = symbol.MethodKind 219Case MethodKind.PropertyGet, MethodKind.PropertySet 232Case MethodKind.EventAdd, MethodKind.EventRemove
Compilation\DocumentationComments\DocumentationCommentCompiler.Common.vb (3)
725Return If(method.MethodKind = MethodKind.DeclareMethod, "declare", 726If(method.MethodKind = MethodKind.UserDefinedOperator OrElse method.MethodKind = MethodKind.Conversion, "operator",
Compilation\DocumentationComments\DocumentationCommentCompiler.Includes.vb (2)
108Me.IsDeclareMethod = method.MethodKind = MethodKind.DeclareMethod 112Me.TypeParamSupported = Not Me.IsDeclareMethod AndAlso method.MethodKind <> MethodKind.UserDefinedOperator
Compilation\DocumentationComments\DocumentationCommentCompiler.Method.vb (3)
92If method.MethodKind = MethodKind.DeclareMethod Then 106If method.MethodKind = MethodKind.UserDefinedOperator OrElse method.MethodKind = MethodKind.DeclareMethod Then
Compilation\MethodCompiler.vb (10)
137DirectCast(symbol, MethodSymbol).MethodKind = MethodKind.Constructor Then 427Dim sourceTypeBinder As Binder = If(method.MethodKind = MethodKind.Ordinary, Nothing, 695If method.MethodKind = MethodKind.SharedConstructor Then 697ElseIf method.MethodKind = MethodKind.Constructor OrElse method.IsScriptInitializer Then 771sourceMethod.MethodKind = MethodKind.Constructor AndAlso 1479If method.MethodKind = MethodKind.Constructor OrElse method.MethodKind = MethodKind.SharedConstructor Then 1815If method.MethodKind = MethodKind.Constructor Then 1851If referencedMethod IsNot Nothing AndAlso referencedMethod.MethodKind = MethodKind.Constructor Then 1912Debug.Assert(constructor.MethodKind = MethodKind.Constructor)
Compilation\SemanticModel.vb (1)
1867(result.Kind = SymbolKind.Method AndAlso DirectCast(result, MethodSymbol).MethodKind = MethodKind.Constructor) Then
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.vb (1)
86If symbol.MethodKind = MethodKind.Conversion Then
Emit\MethodSymbolAdapter.vb (3)
307Return AdaptedMethodSymbol.MethodKind = MethodKind.Constructor 547Dim result = Me.MethodKind = MethodKind.Constructor OrElse 548Me.MethodKind = MethodKind.SharedConstructor
Emit\NamedTypeSymbolAdapter.vb (1)
482If handledEvent.hookupMethod.MethodKind = MethodKind.SharedConstructor Then
Emit\NoPia\EmbeddedMethod.vb (1)
55Return UnderlyingMethod.AdaptedMethodSymbol.MethodKind = MethodKind.Constructor
Emit\SynthesizedPrivateImplementationDetailsSharedConstructor.vb (2)
56Public Overrides ReadOnly Property MethodKind As MethodKind 58Return MethodKind.SharedConstructor
Lowering\Diagnostics\DiagnosticsPass.vb (1)
109If _containingSymbol.MethodKind = MethodKind.LambdaMethod Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (1)
391If method.MethodKind = MethodKind.DelegateInvoke Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (2)
270Debug.Assert(helper.MethodKind = MethodKind.Ordinary OrElse helper.MethodKind = MethodKind.UserDefinedOperator)
Lowering\LambdaRewriter\LambdaFrameConstructor.vb (2)
23Public Overrides ReadOnly Property MethodKind As MethodKind 25Return MethodKind.Constructor
Lowering\LambdaRewriter\LambdaRewriter.Analysis.vb (2)
404If _currentParent.MethodKind <> MethodKind.LambdaMethod Then 431Loop While parent.MethodKind = MethodKind.LambdaMethod AndAlso parent IsNot container
Lowering\LambdaRewriter\LambdaRewriter.vb (4)
563If _innermostFramePointer.Kind = SymbolKind.Parameter AndAlso _topLevelMethod.MethodKind = MethodKind.Constructor AndAlso 1209(closureKind = ClosureKind.Static AndAlso CurrentMethod.MethodKind <> MethodKind.SharedConstructor AndAlso Not referencedMethod.IsGenericMethod) 1419If node.Method.MethodKind = MethodKind.Constructor AndAlso receiver IsNot Nothing AndAlso receiver.IsInstanceReference Then 1466If method.MethodKind = MethodKind.DelegateInvoke AndAlso
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (1)
197If boundCall.Method.MethodKind = MethodKind.PropertyGet AndAlso
Lowering\LocalRewriter\LocalRewriter_Constant.vb (2)
46If currentMethod.MethodKind <> MethodKind.SharedConstructor OrElse 146(currentMethod.MethodKind <> MethodKind.SharedConstructor OrElse
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (2)
978If memberSymbol.MethodKind = MethodKind.Constructor Then 1117If memberSymbol.MethodKind = MethodKind.Constructor Then
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (1)
36Debug.Assert(delegateInvoke.MethodKind = MethodKind.DelegateInvoke)
Lowering\LocalRewriter\LocalRewriter_RaiseEvent.vb (1)
160Dim accessorName As String = Binder.GetAccessorName(invocationListProperty.Name, MethodKind.PropertyGet, isWinMd:=False)
Semantics\Conversions.vb (1)
4177Debug.Assert(toDelegateInvokeMethod.MethodKind = MethodKind.DelegateInvoke)
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,
Semantics\OverloadResolution.vb (2)
971possiblyConstructor.MethodKind = MethodKind.Constructor AndAlso 3754DirectCast(candidate.Candidate.UnderlyingSymbol, MethodSymbol).MethodKind = MethodKind.Constructor AndAlso
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\AnonymousTypes\PublicSymbols\AnonymousType_PropertyPublicAccessors.vb (4)
57Public Overrides ReadOnly Property MethodKind As MethodKind 59Return MethodKind.PropertyGet 89Public Overrides ReadOnly Property MethodKind As MethodKind 91Return MethodKind.PropertySet
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType_PropertyAccessors.vb (4)
76Public Overrides ReadOnly Property MethodKind As MethodKind 78Return MethodKind.PropertyGet 108Public Overrides ReadOnly Property MethodKind As MethodKind 110Return MethodKind.PropertySet
Symbols\EmbeddedSymbols\EmbeddedSymbolManager.SymbolsCollection.vb (13)
232Dim methKind As MethodKind = DirectCast(symbol, MethodSymbol).MethodKind 234Case MethodKind.PropertyGet, MethodKind.PropertySet 239Case MethodKind.Ordinary, 240MethodKind.Constructor, 241MethodKind.SharedConstructor 288Case MethodKind.SharedConstructor, 289MethodKind.Constructor 372Debug.Assert(kind = MethodKind.Constructor OrElse 373kind = MethodKind.SharedConstructor OrElse 374kind = MethodKind.Ordinary OrElse 375kind = MethodKind.PropertyGet OrElse 376kind = MethodKind.PropertySet)
Symbols\ErrorMethodSymbol.vb (2)
191Public Overrides ReadOnly Property MethodKind As MethodKind 193Return MethodKind.Ordinary
Symbols\Metadata\PE\PEEventSymbol.vb (3)
90Me._addMethod.SetAssociatedEvent(Me, MethodKind.EventAdd) 94Me._removeMethod.SetAssociatedEvent(Me, MethodKind.EventRemove) 98Me._raiseMethod.SetAssociatedEvent(Me, MethodKind.EventRaise)
Symbols\Metadata\PE\PEMethodSymbol.vb (51)
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) 644Dim checkForRequiredMembers = MethodKind = MethodKind.Constructor AndAlso 696Me.MethodKind = MethodKind.Ordinary AndAlso 943Me.MethodKind = MethodKind.PropertySet AndAlso 1026Friend Function SetAssociatedProperty(propertySymbol As PEPropertySymbol, methodKind As MethodKind) As Boolean 1027Debug.Assert((methodKind = MethodKind.PropertyGet) OrElse (methodKind = MethodKind.PropertySet)) 1035Friend Function SetAssociatedEvent(eventSymbol As PEEventSymbol, methodKind As MethodKind) As Boolean 1036Debug.Assert((methodKind = MethodKind.EventAdd) OrElse (methodKind = MethodKind.EventRemove) OrElse (methodKind = MethodKind.EventRaise)) 1040Private Function SetAssociatedPropertyOrEvent(propertyOrEventSymbol As Symbol, methodKind As MethodKind) As Boolean 1291MethodKind = MethodKind.Constructor AndAlso 1391If MethodKind <> MethodKind.Constructor Then
Symbols\Metadata\PE\PEPropertySymbol.vb (2)
129_getMethod.SetAssociatedProperty(Me, MethodKind.PropertyGet) 133_setMethod.SetAssociatedProperty(Me, MethodKind.PropertySet)
Symbols\MethodKindExtensions.vb (6)
14Friend Function TryGetAccessorDisplayName(kind As MethodKind) As String 16Case MethodKind.EventAdd 19Case MethodKind.EventRaise 22Case MethodKind.EventRemove 25Case MethodKind.PropertyGet 28Case MethodKind.PropertySet
Symbols\MethodSymbol.vb (11)
23Public MustOverride ReadOnly Property MethodKind As MethodKind 32Return Me.ParameterCount = 0 AndAlso Me.MethodKind = MethodKind.Constructor 230Me.MethodKind <> MethodKind.PropertySet AndAlso 323Return DirectCast(Me.AssociatedSymbol, PropertySymbol).GetAccessorOverride(getter:=(MethodKind = MethodKind.PropertyGet)) 426Return IsExtensionMethod AndAlso MethodKind <> MethodKind.ReducedExtension 457Case MethodKind.Ordinary, 458MethodKind.Constructor, 459MethodKind.UserDefinedOperator, 460MethodKind.ReducedExtension 496Return Me.MethodKind = MethodKind.Constructor AndAlso Me.ContainingType.IsScriptClass 953Private ReadOnly Property IMethodSymbol_MethodKind As MethodKind Implements IMethodSymbol.MethodKind
Symbols\MethodSymbolExtensions.vb (2)
86Case MethodKind.UserDefinedOperator, MethodKind.Conversion
Symbols\NamedTypeSymbol.vb (2)
423Debug.Assert(method.MethodKind = MethodKind.Constructor) 431Debug.Assert(method.MethodKind = MethodKind.StaticConstructor)
Symbols\ObsoleteAttributeHelpers.vb (1)
163Dim accessorString = If(accessorSymbol.MethodKind = MethodKind.PropertyGet, "Get", "Set")
Symbols\PropertySymbol.vb (1)
172If If(TryCast(containingMember, MethodSymbol)?.MethodKind <> MethodKind.Constructor, True) Then
Symbols\ReducedExtensionMethodSymbol.vb (4)
49possiblyExtensionMethod.MethodKind <> MethodKind.ReducedExtension) Then 185If Not possiblyExtensionMethod.IsExtensionMethod OrElse possiblyExtensionMethod.MethodKind = MethodKind.ReducedExtension Then 353Public Overrides ReadOnly Property MethodKind As MethodKind 355Return MethodKind.ReducedExtension
Symbols\Retargeting\RetargetingMethodSymbol.vb (1)
438Public Overrides ReadOnly Property MethodKind As MethodKind
Symbols\SignatureOnlyMethodSymbol.vb (3)
23Private ReadOnly _methodKind As MethodKind 34Public Sub New(ByVal name As String, ByVal m_containingType As TypeSymbol, ByVal methodKind As MethodKind, ByVal callingConvention As CallingConvention, ByVal typeParameters As ImmutableArray(Of TypeParameterSymbol), ByVal parameters As ImmutableArray(Of ParameterSymbol), 124Public Overrides ReadOnly Property MethodKind() As MethodKind
Symbols\Source\CustomEventAccessorSymbol.vb (6)
57If Me.MethodKind = MethodKind.EventRaise Then 144Return Not (Me.MethodKind = MethodKind.EventAdd AndAlso _event.IsWindowsRuntimeEvent) 168If(Me.MethodKind = MethodKind.EventRaise, 175If Me.MethodKind = MethodKind.EventRaise Then 215If Me.MethodKind = MethodKind.EventAdd Then 221Debug.Assert(Me.MethodKind = MethodKind.EventRemove)
Symbols\Source\LambdaSymbol.vb (2)
276Public Overrides ReadOnly Property MethodKind As MethodKind 278Return MethodKind.LambdaMethod
Symbols\Source\LocalSymbol.vb (1)
155Debug.Assert((Me.IsFunctionValue AndAlso _container.Kind = SymbolKind.Method AndAlso DirectCast(_container, MethodSymbol).MethodKind = MethodKind.LambdaMethod) OrElse type.Equals(ComputeType()))
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\SourceDeclareMethodSymbol.vb (1)
36Debug.Assert(MyBase.MethodKind = MethodKind.DeclareMethod)
Symbols\Source\SourceDelegateMethodSymbol.vb (1)
199Return Me.MethodKind = MethodKind.Constructor
Symbols\Source\SourceEventSymbol.vb (7)
105Case MethodKind.EventAdd 112Case MethodKind.EventRemove 119Case MethodKind.EventRaise 389Friend Function GetAccessorImplementations(kind As MethodKind) As ImmutableArray(Of MethodSymbol) 403Case MethodKind.EventAdd 405Case MethodKind.EventRemove 407Case MethodKind.EventRaise
Symbols\Source\SourceMemberContainerTypeSymbol.vb (19)
962Case MethodKind.EventAdd, MethodKind.EventRemove, MethodKind.PropertyGet, MethodKind.PropertySet 975If syntax Is Nothing AndAlso method.MethodKind = MethodKind.DelegateInvoke Then 1749If method IsNot Nothing AndAlso method.IsPartial AndAlso method.MethodKind = MethodKind.Ordinary Then 1799If candidate IsNot Nothing AndAlso candidate IsNot originalPartialMethod AndAlso candidate.MethodKind = MethodKind.Ordinary Then 2475Return sourceMethodSymbol.MethodKind = MethodKind.Ordinary OrElse sourceMethodSymbol.MethodKind = MethodKind.DeclareMethod 2778(DirectCast(sym, MethodSymbol).MethodKind = MethodKind.Constructor OrElse 2779DirectCast(sym, MethodSymbol).MethodKind = MethodKind.SharedConstructor) 2783If method.MethodKind = MethodKind.Constructor AndAlso method.ParameterCount = 0 Then 3453method.MethodKind <> MethodKind.Ordinary AndAlso 3454method.MethodKind <> MethodKind.UserDefinedOperator AndAlso 3455method.MethodKind <> MethodKind.Conversion Then 3617Dim methodMethodKind As MethodKind = method.MethodKind 3620Case MethodKind.Conversion 3622Case MethodKind.UserDefinedOperator 3642If methodMethodKind = MethodKind.Conversion Then
Symbols\Source\SourceMemberMethodSymbol.vb (1)
108If MethodKind = MethodKind.Ordinary Then
Symbols\Source\SourceMethodSymbol.vb (30)
630Public Overrides ReadOnly Property MethodKind As MethodKind 1275Debug.Assert(Me.MethodKind <> MethodKind.EventAdd, 1500If Not (Me.MethodKind <> MethodKind.Ordinary AndAlso Me.MethodKind <> MethodKind.DeclareMethod) AndAlso 1624If Me.MethodKind <> MethodKind.Ordinary AndAlso Me.MethodKind <> MethodKind.DeclareMethod Then 1809Case MethodKind.DeclareMethod 1813Case MethodKind.PropertyGet, MethodKind.PropertySet 1817Case MethodKind.EventAdd, MethodKind.EventRaise, MethodKind.EventRemove 1901Debug.Assert(MethodKind <> MethodKind.DeclareMethod) 1992Case MethodKind.Constructor, 1993MethodKind.SharedConstructor, 1994MethodKind.PropertyGet, 1995MethodKind.PropertySet, 1996MethodKind.EventAdd, 1997MethodKind.EventRemove, 1998MethodKind.EventRaise, 1999MethodKind.Conversion, 2000MethodKind.UserDefinedOperator 2287Case MethodKind.Constructor, 2288MethodKind.SharedConstructor, 2289MethodKind.EventRemove, 2290MethodKind.EventRaise 2295Case MethodKind.EventAdd 2301Case MethodKind.PropertyGet, MethodKind.PropertySet 2323If Me.MethodKind = MethodKind.UserDefinedOperator Then
Symbols\Source\SourceNamedTypeSymbol.vb (2)
2722If method.MethodKind = MethodKind.Constructor AndAlso method.ParameterCount = 0 Then 2731If method.MethodKind = MethodKind.Constructor AndAlso method.CanBeCalledWithNoParameters() Then
Symbols\Source\SourceNamedTypeSymbol_ComClass.vb (8)
383If DirectCast(member, MethodSymbol).MethodKind <> MethodKind.Ordinary Then 549Debug.Assert(method.MethodKind = MethodKind.Ordinary) 1235Public Overrides ReadOnly Property MethodKind As MethodKind 1238Case MethodKind.PropertyGet 1239Return MethodKind.PropertyGet 1240Case MethodKind.PropertySet 1241Return MethodKind.PropertySet 1243Return MethodKind.Ordinary
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\Source\SourceParameterSymbol.vb (8)
103If If(TryCast(Me.ContainingSymbol, MethodSymbol)?.MethodKind = MethodKind.DelegateInvoke, False) AndAlso 186If containingSymbol.Kind = SymbolKind.Method AndAlso DirectCast(containingSymbol, MethodSymbol).MethodKind = MethodKind.DeclareMethod Then 208Case MethodKind.Conversion, 209MethodKind.UserDefinedOperator, 210MethodKind.EventAdd, 211MethodKind.EventRemove 452If methodSymbol.MethodKind = MethodKind.DeclareMethod Then 496DirectCast(ContainingSymbol, MethodSymbol).MethodKind = MethodKind.DeclareMethod Then
Symbols\Source\SourcePropertyAccessorSymbol.vb (11)
37If(flags.ToMethodKind() = MethodKind.PropertyGet, flags, flags And Not SourceMemberFlags.Iterator), 106If methodKind = MethodKind.PropertySet Then 122Return m_property.GetAccessorOverride(getter:=(MethodKind = MethodKind.PropertyGet)) 227Case MethodKind.PropertyGet 240Case MethodKind.PropertySet 294Return If(MethodKind = MethodKind.PropertyGet, 339m_property.GetAccessorImplementations(getter:=(MethodKind = MethodKind.PropertyGet)), 354Return If(Me.MethodKind = MethodKind.PropertySet, ImmutableArray(Of CustomModifier).Empty, m_property.TypeCustomModifiers) 368Debug.Assert(Me.MethodKind = MethodKind.PropertySet) 374Return If(Me.MethodKind = MethodKind.PropertyGet, m_property, Nothing) 397Dim isSetter As Boolean = (method.MethodKind = MethodKind.PropertySet)
Symbols\Source\SourcePropertySymbol.vb (2)
205Binder.GetAccessorName(prop.Name, MethodKind.PropertyGet, isWinMd:=False), 214Binder.GetAccessorName(prop.Name, MethodKind.PropertySet,
Symbols\Source\SynthesizedEntryPointSymbol.vb (2)
163Public Overrides ReadOnly Property MethodKind As MethodKind 165Return MethodKind.Ordinary
Symbols\Source\SynthesizedEventAccessorSymbol.vb (8)
54If Me.MethodKind = MethodKind.EventRemove AndAlso m_propertyOrEvent.IsWindowsRuntimeEvent Then 84useSiteInfo = If(Me.MethodKind = MethodKind.EventRemove, Binder.GetUseSiteInfoForSpecialType(type), Nothing) 104Return Not (Me.MethodKind = MethodKind.EventAdd AndAlso m_propertyOrEvent.IsWindowsRuntimeEvent) 110Return ConstructFieldLikeEventAccessorBody(Me.m_propertyOrEvent, Me.MethodKind = MethodKind.EventAdd, compilation, diagnostics) 541Public Overrides ReadOnly Property MethodKind As MethodKind 543Return MethodKind.EventAdd 556Public Overrides ReadOnly Property MethodKind As MethodKind 558Return MethodKind.EventRemove
Symbols\Source\SynthesizedInteractiveInitializerMethod.vb (2)
105Public Overrides ReadOnly Property MethodKind As MethodKind 107Return MethodKind.Ordinary
Symbols\Source\SynthesizedMyGroupCollectionPropertyAccessorSymbol.vb (4)
158Public Overrides ReadOnly Property MethodKind As MethodKind 160Return MethodKind.PropertyGet 203Public Overrides ReadOnly Property MethodKind As MethodKind 205Return MethodKind.PropertySet
Symbols\Source\SynthesizedWithEventsAccessorSymbol.vb (6)
45Return sourceProperty.GetAccessorImplementations(getter:=(MethodKind = MethodKind.PropertyGet)) 53Return ContainingProperty.GetAccessorOverride(getter:=(MethodKind = MethodKind.PropertyGet)) 130Public Overrides ReadOnly Property MethodKind As MethodKind 132Return MethodKind.PropertyGet 178Public Overrides ReadOnly Property MethodKind As MethodKind 180Return MethodKind.PropertySet
Symbols\SubstitutedMethodSymbol.vb (1)
283Public Overrides ReadOnly Property MethodKind As MethodKind
Symbols\SubstitutedNamedType.vb (6)
463Case MethodKind.PropertyGet, MethodKind.PropertySet 466Return If(memberMethod.MethodKind = MethodKind.PropertyGet, propertySymbol.GetMethod, propertySymbol.SetMethod) 468Case MethodKind.EventAdd 473Case MethodKind.EventRemove 478Case MethodKind.EventRaise
Symbols\Symbol.vb (12)
619Case MethodKind.Ordinary, MethodKind.DeclareMethod, MethodKind.ReducedExtension 621Case MethodKind.DelegateInvoke, MethodKind.UserDefinedOperator, MethodKind.Conversion 659Case MethodKind.Ordinary, MethodKind.DeclareMethod, MethodKind.ReducedExtension, MethodKind.DelegateInvoke, MethodKind.UserDefinedOperator, MethodKind.Conversion
Symbols\Symbol_Attributes.vb (12)
75Case MethodKind.Constructor, 76MethodKind.SharedConstructor 79Case MethodKind.Ordinary, 80MethodKind.DeclareMethod, 81MethodKind.UserDefinedOperator, 82MethodKind.Conversion, 83MethodKind.PropertyGet, 84MethodKind.PropertySet, 85MethodKind.EventAdd, 86MethodKind.EventRaise, 87MethodKind.EventRemove, 88MethodKind.DelegateInvoke
Symbols\SymbolExtensions.vb (6)
59Case MethodKind.Conversion, MethodKind.UserDefinedOperator, MethodKind.BuiltinOperator 263Return kind = MethodKind.Constructor OrElse kind = MethodKind.SharedConstructor 456While If(member?.Kind = SymbolKind.Method, False) AndAlso DirectCast(member, MethodSymbol).MethodKind = MethodKind.AnonymousFunction
Symbols\SynthesizedSymbols\SynthesizedConstructorBase.vb (3)
190Public NotOverridable Overrides ReadOnly Property MethodKind As MethodKind 192Return If(m_isShared, MethodKind.SharedConstructor, MethodKind.Constructor)
Symbols\SynthesizedSymbols\SynthesizedDelegateMethodSymbol.vb (2)
315Public Overrides ReadOnly Property MethodKind As MethodKind 419Return Me.MethodKind = MethodKind.Constructor
Symbols\SynthesizedSymbols\SynthesizedGlobalMethodBase.vb (2)
159Public Overrides ReadOnly Property MethodKind As MethodKind 161Return MethodKind.Ordinary
Symbols\SynthesizedSymbols\SynthesizedInterfaceImplementationStubSymbol.vb (2)
172Public Overrides ReadOnly Property MethodKind As MethodKind 174Return MethodKind.Ordinary
Symbols\SynthesizedSymbols\SynthesizedIntrinsicOperatorSymbol.vb (2)
158Public Overrides ReadOnly Property MethodKind As MethodKind 160Return MethodKind.BuiltinOperator
Symbols\SynthesizedSymbols\SynthesizedMethod.vb (2)
197Public Overrides ReadOnly Property MethodKind As MethodKind 199Return MethodKind.Ordinary
Symbols\SynthesizedSymbols\SynthesizedParameterSymbol.vb (2)
106Debug.Assert(propertySetter.MethodKind = MethodKind.PropertySet) 116If method.MethodKind = MethodKind.PropertySet AndAlso
Symbols\SynthesizedSymbols\SynthesizedRegularMethodBase.vb (2)
140Public NotOverridable Overrides ReadOnly Property MethodKind As MethodKind 142Return MethodKind.Ordinary
Symbols\WellKnownMembers.vb (4)
428Dim targetMethodKind As MethodKind = MethodKind.Ordinary 435targetMethodKind = MethodKind.Constructor 443targetMethodKind = MethodKind.PropertyGet
Symbols\Wrapped\WrappedMethodSymbol.vb (1)
168Public Overrides ReadOnly Property MethodKind As MethodKind
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (2)
159methodSymbol?.MethodKind = MethodKind.Ordinary AndAlso 397If method.MethodKind = MethodKind.ReducedExtension AndAlso
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (5)
src\Analyzers\VisualBasic\CodeFixes\GenerateConstructor\VisualBasicGenerateConstructorService.vb (1)
183Return If(methodSymbol IsNot Nothing AndAlso methodSymbol.MethodKind = MethodKind.Constructor, methodSymbol, Nothing)
src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\VisualBasicGenerateConversionService.vb (1)
163methodKind:=MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
152If method.MethodKind = MethodKind.UserDefinedOperator Then 156If method.MethodKind = MethodKind.Conversion Then
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\IMethodSymbolExtensions.vb (1)
19If symbol.IsStatic AndAlso Not symbol.MethodKind = MethodKind.ReducedExtension Then
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (3)
Attributes\AttributeTests_Tuples.vb (1)
251If DirectCast(s, MethodSymbol).MethodKind = MethodKind.EventRaise Then
Emit\EmitMetadata.vb (2)
788Assert.Equal(MethodKind.Constructor, ctor.MethodKind) 809Assert.Equal(MethodKind.SharedConstructor, cctor.MethodKind)
Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler (6)
Symbols\EEMethodSymbol.vb (2)
188Public Overrides ReadOnly Property MethodKind As MethodKind 190Return MethodKind.Ordinary
Symbols\PlaceholderMethodSymbol.vb (2)
103Public Overrides ReadOnly Property MethodKind As MethodKind 105Return MethodKind.Ordinary
Symbols\SynthesizedContextMethodSymbol.vb (2)
62Public Overrides ReadOnly Property MethodKind As MethodKind 64Return MethodKind.Ordinary
Microsoft.CodeAnalysis.VisualBasic.Features (14)
ChangeSignature\VisualBasicChangeSignatureService.vb (1)
359If methodSymbol IsNot Nothing AndAlso methodSymbol.MethodKind = MethodKind.ReducedExtension Then
CodeFixes\IncorrectExitContinue\IncorrectExitContinueCodeFixProvider.vb (2)
164If methodSymbol.MethodKind = MethodKind.PropertyGet Then 166ElseIf methodSymbol.MethodKind = MethodKind.PropertySet Then
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (6)
619If method Is Nothing OrElse (method.MethodKind <> MethodKind.Constructor AndAlso method.MethodKind <> MethodKind.SharedConstructor) Then 1429Case MethodKind.StaticConstructor 1431Case MethodKind.LambdaMethod 2022If method.MethodKind = MethodKind.Conversion OrElse method.MethodKind = MethodKind.UserDefinedOperator Then
NavigationBar\VisualBasicNavigationBarItemService.vb (3)
276Return method.MethodKind = MethodKind.Ordinary OrElse 277method.MethodKind = MethodKind.UserDefinedOperator OrElse 278method.MethodKind = MethodKind.Conversion
src\Analyzers\VisualBasic\CodeFixes\GenerateConstructor\VisualBasicGenerateConstructorService.vb (1)
183Return If(methodSymbol IsNot Nothing AndAlso methodSymbol.MethodKind = MethodKind.Constructor, methodSymbol, Nothing)
src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\VisualBasicGenerateConversionService.vb (1)
163methodKind:=MethodKind.Conversion)
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (23)
Compilation\SemanticModelGetDeclaredSymbolAPITests.vb (2)
1147Assert.Equal(MethodKind.Conversion, sym1.MethodKind) 1148Assert.Equal(MethodKind.UserDefinedOperator, sym2.MethodKind)
DeclaringSyntaxNodeTests.vb (2)
130Assert.Equal(MethodKind.LambdaMethod, sym.MethodKind) 510If memb.Kind = SymbolKind.Method AndAlso (DirectCast(memb, MethodSymbol)).MethodKind = MethodKind.Constructor Then
ExtensionMethods\SemanticModelTests.vb (3)
61Assert.Equal(MethodKind.ReducedExtension, method.MethodKind) 65Assert.Equal(MethodKind.Ordinary, method.CallsiteReducedFromMethod.MethodKind) 70Assert.Equal(MethodKind.ReducedExtension, reducedMethod.MethodKind)
Semantics\AnonymousTypesTests.vb (3)
1501Assert.Equal(MethodKind.LambdaMethod, lambda2.MethodKind) 1546Assert.Equal(MethodKind.LambdaMethod, lambda2.MethodKind) 1591Assert.Equal(MethodKind.LambdaMethod, lambda2.MethodKind)
Semantics\BinaryOperators.vb (2)
1105If method.MethodKind = MethodKind.UserDefinedOperator AndAlso 1221Assert.Equal(MethodKind.BuiltinOperator, symbol1.MethodKind)
Semantics\GetExtendedSemanticInfoTests.vb (4)
4356Assert.Equal(MethodKind.Constructor, method.MethodKind) 4395Assert.Equal(MethodKind.Constructor, method.MethodKind) 4431Assert.Equal(MethodKind.Constructor, method.MethodKind) 4470Assert.Equal(MethodKind.Constructor, method.MethodKind)
Semantics\OptionalArgumentTests.vb (5)
2202Dim methods = [module].GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").GetMembers().OfType(Of MethodSymbol)().Where(Function(m) m.MethodKind = MethodKind.Ordinary).ToArray() 2313Dim methods = [module].GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").GetMembers().OfType(Of MethodSymbol)().Where(Function(m) m.MethodKind = MethodKind.Ordinary).ToArray() 2402Dim methods = [module].GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").GetMembers().OfType(Of MethodSymbol)().Where(Function(m) m.MethodKind = MethodKind.Ordinary).ToArray() 2524Dim methods = [module].GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").GetMembers().OfType(Of MethodSymbol)().Where(Function(m) m.MethodKind = MethodKind.Ordinary).ToArray() 2685Dim methods = [module].GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").GetMembers().OfType(Of MethodSymbol)().Where(Function(m) m.MethodKind = MethodKind.Ordinary).ToArray()
Semantics\UnaryOperators.vb (1)
752Assert.Equal(MethodKind.BuiltinOperator, symbol1.MethodKind)
Semantics\UsingStatementTest.vb (1)
343If (DirectCast(type.Symbol, MethodSymbol).MethodKind = MethodKind.Constructor) Then
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (259)
SymbolsTests\AnonymousDelegates\AnonymousDelegates_CreationAndEmit.vb (4)
302Assert.Equal(MethodKind.Constructor, x16.GetMethod(".ctor").MethodKind) 304Assert.Equal(MethodKind.DelegateInvoke, x16.GetMember(Of MethodSymbol)("Invoke").MethodKind) 306Assert.Equal(MethodKind.Ordinary, x16.GetMember(Of MethodSymbol)("BeginInvoke").MethodKind) 308Assert.Equal(MethodKind.Ordinary, x16.GetMember(Of MethodSymbol)("EndInvoke").MethodKind)
SymbolsTests\CheckedUserDefinedOperatorsTests.vb (18)
179If m.MethodKind <> MethodKind.Constructor Then 180Assert.Equal(MethodKind.Ordinary, m.MethodKind) 188Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray() 193Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind) 254If m.MethodKind <> MethodKind.Constructor Then 255Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind) 366If m.MethodKind <> MethodKind.Constructor Then 367Assert.Equal(MethodKind.Ordinary, m.MethodKind) 375Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray() 379Assert.Equal(MethodKind.UserDefinedOperator, operators(0).MethodKind) 437If m.MethodKind <> MethodKind.Constructor Then 438Assert.Equal(MethodKind.UserDefinedOperator, m.MethodKind) 545If m.MethodKind <> MethodKind.Constructor Then 546Assert.Equal(MethodKind.Ordinary, m.MethodKind) 554Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray() 558Assert.Equal(MethodKind.Conversion, operators(0).MethodKind) 612If m.MethodKind <> MethodKind.Constructor Then 613Assert.Equal(MethodKind.Conversion, m.MethodKind)
SymbolsTests\Metadata\MetadataMemberTests.vb (4)
166Assert.Equal(MethodKind.Constructor, ctor.MethodKind) 212Assert.Equal(MethodKind.Ordinary, member1.MethodKind) 730If m.MethodKind = MethodKind.Constructor Then 735Assert.NotEqual(MethodKind.Ordinary, m.MethodKind)
SymbolsTests\Metadata\PE\LoadingEvents.vb (2)
99Case MethodKind.EventAdd 102Case MethodKind.EventRemove
SymbolsTests\Metadata\PE\LoadingMethods.vb (16)
387Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 416Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 450Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 482Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 509Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 535Assert.Equal(MethodKind.Ordinary, classMethod.MethodKind) 539Assert.Equal(MethodKind.Ordinary, classGenericMethod.MethodKind) 766Assert.Equal(If(m.Name = ".cctor", MethodKind.SharedConstructor, MethodKind.Constructor), DirectCast(m, MethodSymbol).MethodKind) 770Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 774Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 778Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 782Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 786Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 790Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 794Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind)
SymbolsTests\Metadata\PE\LoadingOperators.vb (122)
550New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"), 551New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"), 552New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalAnd(x As A1, y As A1) As A1"), 553New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"), 554New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalOr(x As A1, y As A1) As A1"), 555New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"), 556New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"), 557New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"), 558New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"), 559New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"), 560New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"), 561New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"), 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.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"), 565New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"), 566New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"), 567New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"), 568New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedLeftShift(x As A1, y As Integer) As A1"), 569New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"), 570New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"), 571New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"), 572New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"), 573New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"), 574New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"), 575New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalNot(x As A1) As A1"), 576New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"), 577New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedRightShift(x As A1, y As Integer) As A1"), 578New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"), 579New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"), 580New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"), 581New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")} 602Public ReadOnly Kind As MethodKind 605Public Sub New(kind As MethodKind, display As String) 1146New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"), 1147New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"), 1148New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALAND(x As A1, y As A1) As A1"), 1149New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"), 1150New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALOR(x As A1, y As A1) As A1"), 1151New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"), 1152New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"), 1153New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"), 1154New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"), 1155New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"), 1156New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"), 1157New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"), 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.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"), 1161New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"), 1162New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"), 1163New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"), 1164New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_UNSIGNEDLEFTSHIFT(x As A1, y As Integer) As A1"), 1165New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"), 1166New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"), 1167New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"), 1168New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"), 1169New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"), 1170New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"), 1171New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_LOGICALNOT(x As A1) As A1"), 1172New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"), 1173New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function OP_UNSIGNEDRIGHTSHIFT(x As A1, y As Integer) As A1"), 1174New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"), 1175New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"), 1176New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"), 1177New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")} 1369Assert.Equal(MethodKind.Ordinary, method.MethodKind) 1908New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1, y As A1) As A1"), 1909New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"), 1910New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalAnd(x As A1, y As A1) As A1"), 1911New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"), 1912New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalOr(x As A1, y As A1) As A1"), 1913New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator &(x As A1, y As A1) As A1"), 1914New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator /(x As A1, y As A1) As A1"), 1915New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator =(x As A1, y As A1) As A1"), 1916New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Xor(x As A1, y As A1) As A1"), 1917New BaseLine(MethodKind.Conversion, "Public Shared Overloads Narrowing Operator CType(x As A1) As Byte"), 1918New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator ^(x As A1, y As A1) As A1"), 1919New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsFalse(x As A1) As Boolean"), 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.Conversion, "Public Shared Overloads Widening Operator CType(x As A1) As Integer"), 1923New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <>(x As A1, y As A1) As A1"), 1924New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator \(x As A1, y As A1) As A1"), 1925New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"), 1926New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedLeftShift(x As A1, y As Integer) As A1"), 1927New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <(x As A1, y As A1) As A1"), 1928New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <=(x As A1, y As A1) As A1"), 1929New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Like(x As A1, y As A1) As A1"), 1930New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Mod(x As A1, y As A1) As A1"), 1931New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator *(x As A1, y As A1) As A1"), 1932New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"), 1933New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_LogicalNot(x As A1) As A1"), 1934New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1"), 1935New BaseLine(MethodKind.Ordinary, "Public Shared Overloads Function op_UnsignedRightShift(x As A1, y As Integer) As A1"), 1936New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1, y As A1) As A1"), 1937New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator IsTrue(x As A1) As Boolean"), 1938New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator -(x As A1) As A1"), 1939New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator +(x As A1) As A1")} 2069New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator And(x As A1, y As A1) As A1"), 2070New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Or(x As A1, y As A1) As A1"), 2071New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator <<(x As A1, y As Integer) As A1"), 2072New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator Not(x As A1) As A1"), 2073New BaseLine(MethodKind.UserDefinedOperator, "Public Shared Overloads Operator >>(x As A1, y As Integer) As A1")} 2186Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind) 2189Assert.Equal(MethodKind.Ordinary, DirectCast(m, MethodSymbol).MethodKind) 2286Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind) 2287Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind) 2288Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind) 2384Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind) 2385Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind) 2386Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind) 2464Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind) 2465Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers("op_OnesComplement").Single(), MethodSymbol).MethodKind) 2543Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers("op_OnesComplement").Single(), MethodSymbol).MethodKind) 2544Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers("op_LogicalNot").Single(), MethodSymbol).MethodKind) 2622Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind) 2623Assert.Equal(MethodKind.Ordinary, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("OP_ONESCOMPLEMENT")).Single(), MethodSymbol).MethodKind) 2686Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(a11.GetMembers().Where(Function(m) m.Name.Equals("op_OnesComplement")).Single(), MethodSymbol).MethodKind) 2776Assert.Equal(MethodKind.UserDefinedOperator, DirectCast(m, MethodSymbol).MethodKind) 2798Assert.Equal(MethodKind.Conversion, op_Implicit.MethodKind) 2799Assert.Equal(MethodKind.Conversion, op_Explicit.MethodKind)
SymbolsTests\Source\DelegateTests.vb (1)
245Assert.Equal(MethodKind.DelegateInvoke, invoke.MethodKind)
SymbolsTests\Source\EventTests.vb (2)
1721Assert.Equal(MethodKind.EventAdd, DirectCast(mems(2), MethodSymbol).MethodKind) 1725Assert.Equal(MethodKind.EventRemove, DirectCast(mems(4), MethodSymbol).MethodKind)
SymbolsTests\Source\ImplementsTests.vb (1)
3806Single(Function(m) m.ExplicitInterfaceImplementations.Single().MethodKind = MethodKind.EventAdd)
SymbolsTests\Source\MethodTests.vb (9)
62Assert.Equal(MethodKind.Constructor, ctor.MethodKind) 81Assert.Equal(MethodKind.Ordinary, m1.MethodKind) 189Assert.Equal(MethodKind.Ordinary, m1.MethodKind) 238Assert.Equal(MethodKind.Constructor, m1.MethodKind) 257Assert.Equal(MethodKind.Constructor, m2.MethodKind) 311Assert.Equal(MethodKind.SharedConstructor, m1.MethodKind) 331Assert.Equal(MethodKind.SharedConstructor, m2.MethodKind) 384Assert.Equal(MethodKind.Constructor, m1.MethodKind) 409Assert.Equal(MethodKind.Constructor, m2.MethodKind)
SymbolsTests\Source\OperatorsTests.vb (60)
150New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"), 151New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"), 152New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"), 153New BaseLine(MethodKind.UserDefinedOperator, "op_True"), 154New BaseLine(MethodKind.UserDefinedOperator, "op_False"), 155New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"), 156New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"), 157New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"), 158New BaseLine(MethodKind.UserDefinedOperator, "op_Division"), 159New BaseLine(MethodKind.UserDefinedOperator, "op_IntegerDivision"), 160New BaseLine(MethodKind.UserDefinedOperator, "op_Modulus"), 161New BaseLine(MethodKind.UserDefinedOperator, "op_Exponent"), 162New BaseLine(MethodKind.UserDefinedOperator, "op_Equality"), 163New BaseLine(MethodKind.UserDefinedOperator, "op_Inequality"), 164New BaseLine(MethodKind.UserDefinedOperator, "op_LessThan"), 165New BaseLine(MethodKind.UserDefinedOperator, "op_GreaterThan"), 166New BaseLine(MethodKind.UserDefinedOperator, "op_LessThanOrEqual"), 167New BaseLine(MethodKind.UserDefinedOperator, "op_GreaterThanOrEqual"), 168New BaseLine(MethodKind.UserDefinedOperator, "op_Like"), 169New BaseLine(MethodKind.UserDefinedOperator, "op_Concatenate"), 170New BaseLine(MethodKind.UserDefinedOperator, "op_BitwiseAnd"), 171New BaseLine(MethodKind.UserDefinedOperator, "op_BitwiseOr"), 172New BaseLine(MethodKind.UserDefinedOperator, "op_ExclusiveOr"), 173New BaseLine(MethodKind.UserDefinedOperator, "op_LeftShift"), 174New BaseLine(MethodKind.UserDefinedOperator, "op_RightShift"), 175New BaseLine(MethodKind.Conversion, "op_Implicit"), 176New BaseLine(MethodKind.Conversion, "op_Explicit") 235Public ReadOnly Kind As MethodKind 238Public Sub New(kind As MethodKind, name As String) 355New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"), 356New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"), 357New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"), 358New BaseLine(MethodKind.UserDefinedOperator, "op_True"), 359New BaseLine(MethodKind.UserDefinedOperator, "op_False"), 360New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"), 361New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"), 362New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"), 363New BaseLine(MethodKind.UserDefinedOperator, "op_Division"), 364New BaseLine(MethodKind.UserDefinedOperator, "op_IntegerDivision"), 365New BaseLine(MethodKind.UserDefinedOperator, "op_Modulus"), 366New BaseLine(MethodKind.UserDefinedOperator, "op_Exponent"), 367New BaseLine(MethodKind.UserDefinedOperator, "op_Equality"), 368New BaseLine(MethodKind.UserDefinedOperator, "op_Inequality"), 369New BaseLine(MethodKind.Conversion, "op_Explicit"), 370New BaseLine(MethodKind.Conversion, "op_Implicit"), 371New BaseLine(MethodKind.Conversion, "op_Explicit"), 372New BaseLine(MethodKind.UserDefinedOperator, "op_LeftShift"), 373New BaseLine(MethodKind.UserDefinedOperator, "op_RightShift"), 374New BaseLine(MethodKind.UserDefinedOperator, "op_ExclusiveOr") 523New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryPlus"), 524New BaseLine(MethodKind.UserDefinedOperator, "op_UnaryNegation"), 525New BaseLine(MethodKind.UserDefinedOperator, "op_OnesComplement"), 526New BaseLine(MethodKind.UserDefinedOperator, "op_True"), 527New BaseLine(MethodKind.UserDefinedOperator, "op_False"), 528New BaseLine(MethodKind.UserDefinedOperator, "op_Addition"), 529New BaseLine(MethodKind.UserDefinedOperator, "op_Subtraction"), 530New BaseLine(MethodKind.UserDefinedOperator, "op_Multiply"), 531New BaseLine(MethodKind.UserDefinedOperator, "op_Division"), 532New BaseLine(MethodKind.Conversion, "op_Implicit"), 533New 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)
BasicTrackingDiagnosticAnalyzer.vb (3)
14Protected Overrides Function IsOnCodeBlockSupported(symbolKind As SymbolKind, methodKind As MethodKind, returnsVoid As Boolean) As Boolean 16methodKind <> MethodKind.Destructor AndAlso 17methodKind <> MethodKind.ExplicitInterfaceImplementation
MockSymbols.vb (2)
593Public Overrides ReadOnly Property MethodKind As MethodKind 595Return MethodKind.Ordinary
Microsoft.CodeAnalysis.VisualBasic.Workspaces (13)
CaseCorrection\VisualBasicCaseCorrectionService.Rewriter.vb (1)
169(symbol.IsKind(SymbolKind.Method) AndAlso DirectCast(symbol, IMethodSymbol).MethodKind = MethodKind.Constructor)
Classification\SyntaxClassification\NameSyntaxClassifier.vb (3)
212Case MethodKind.Constructor 224Case MethodKind.BuiltinOperator, 225MethodKind.UserDefinedOperator
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.vb (1)
42DirectCast(symbolInfo.Symbol, IMethodSymbol).MethodKind = MethodKind.UserDefinedOperator Then
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (1)
125Function(s) If(TryCast(s, IMethodSymbol)?.MethodKind = MethodKind.Ordinary, False))
Recommendations\VisualBasicRecommendationServiceRunner.vb (2)
343symbols = symbols.WhereAsArray(Function(s) s.Kind <> SymbolKind.Method OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.UserDefinedOperator) 382If method IsNot Nothing AndAlso method.MethodKind = MethodKind.Constructor Then
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (2)
159methodSymbol?.MethodKind = MethodKind.Ordinary AndAlso 397If method.MethodKind = MethodKind.ReducedExtension AndAlso
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
152If method.MethodKind = MethodKind.UserDefinedOperator Then 156If method.MethodKind = MethodKind.Conversion Then
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\IMethodSymbolExtensions.vb (1)
19If symbol.IsStatic AndAlso Not symbol.MethodKind = MethodKind.ReducedExtension Then
Microsoft.CodeAnalysis.Workspaces (164)
Editing\SyntaxGenerator.cs (12)
280if (method.MethodKind is not (MethodKind.UserDefinedOperator or MethodKind.Conversion)) 736case MethodKind.Constructor: 737case MethodKind.SharedConstructor: 740case MethodKind.Destructor: 743case MethodKind.Ordinary or MethodKind.ExplicitInterfaceImplementation: 746case MethodKind.UserDefinedOperator or MethodKind.Conversion: 833case MethodKind.Constructor: 834case MethodKind.SharedConstructor: 836case MethodKind.Ordinary:
FindSymbols\FindReferences\Finders\ConstructorInitializerSymbolReferenceFinder.cs (1)
18=> symbol.MethodKind == MethodKind.Constructor;
FindSymbols\FindReferences\Finders\ConstructorSymbolReferenceFinder.cs (4)
26=> symbol.MethodKind is MethodKind.Constructor or MethodKind.StaticConstructor; 30if (symbol.MethodKind is MethodKind.Constructor) 86if (symbol.MethodKind == MethodKind.Constructor)
FindSymbols\FindReferences\Finders\DestructorSymbolReferenceFinder.cs (1)
16=> symbol.MethodKind == MethodKind.Destructor;
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.cs (1)
20=> symbol is { MethodKind: MethodKind.Conversion, Name: WellKnownMemberNames.ExplicitConversionName or WellKnownMemberNames.ImplicitConversionName } &&
FindSymbols\FindReferences\Finders\ExplicitInterfaceMethodReferenceFinder.cs (1)
16=> symbol.MethodKind == MethodKind.ExplicitInterfaceImplementation;
FindSymbols\FindReferences\Finders\MethodTypeParameterSymbolReferenceFinder.cs (1)
69ContainingSymbol: IMethodSymbol { MethodKind: MethodKind.LocalFunction },
FindSymbols\FindReferences\Finders\OperatorSymbolReferenceFinder.cs (2)
19=> symbol.MethodKind is MethodKind.UserDefinedOperator or MethodKind.BuiltinOperator;
FindSymbols\FindReferences\Finders\OrdinaryMethodReferenceFinder.cs (5)
16=> symbol.MethodKind is MethodKind.Ordinary or 17MethodKind.DelegateInvoke or 18MethodKind.DeclareMethod or 19MethodKind.ReducedExtension or 20MethodKind.LocalFunction;
FindSymbols\FindReferences\Finders\ParameterSymbolReferenceFinder.cs (2)
175if (declaredSymbol is IMethodSymbol { MethodKind: not MethodKind.AnonymousFunction }) 213if (containingMethod.MethodKind == MethodKind.DelegateInvoke)
FindSymbols\ReferenceLocationExtensions.cs (1)
94if (method.MethodKind != MethodKind.AnonymousFunction)
ReassignedVariable\AbstractReassignedVariableService.cs (2)
184if (methodOrProperty is IMethodSymbol { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet } method)
Recommendations\AbstractRecommendationService.cs (5)
85case MethodKind.EventAdd: 86case MethodKind.EventRemove: 87case MethodKind.EventRaise: 88case MethodKind.PropertyGet: 89case MethodKind.PropertySet:
Recommendations\AbstractRecommendationServiceRunner.cs (1)
68if (parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.AnonymousFunction } owningMethod)
Rename\RenameUtilities.cs (3)
342if (symbol is IMethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.StaticConstructor or MethodKind.Destructor })
Rename\SymbolicRenameLocations.ReferenceProcessing.cs (4)
210MethodKind: MethodKind.Constructor or MethodKind.StaticConstructor or MethodKind.Destructor, 285var referencedSymbolName = referencedSymbol is IMethodSymbol { MethodKind: MethodKind.Constructor } constructorSymbol
Shared\Extensions\ISymbolExtensions.cs (2)
474if (methodSymbol.MethodKind is MethodKind.Constructor or MethodKind.StaticConstructor)
Shared\Extensions\ISymbolExtensions_2.cs (3)
17if (method.MethodKind is MethodKind.EventAdd or 18MethodKind.EventRemove or 19MethodKind.PropertySet)
Shared\Extensions\SemanticModelExtensions.cs (1)
53methodSymbol.MethodKind == MethodKind.BuiltinOperator &&
Shared\Extensions\SyntaxGeneratorExtensions.cs (1)
242if (overriddenMethod.IsAbstract || overriddenMethod.MethodKind == MethodKind.UserDefinedOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Microsoft.CodeAnalysis.Workspaces.Test.Utilities (1)
Options\NamingStyleTestUtilities.cs (1)
77MethodKind methodKind => new SymbolSpecification.SymbolKindOrTypeKind(methodKind),
Microsoft.CodeAnalysis.Workspaces.UnitTests (28)
EditorConfigParsing\NamingStyleParserTests.cs (3)
162symbolKind => Assert.Equal(new SymbolKindOrTypeKind(MethodKind.Ordinary), symbolKind), 163symbolKind => Assert.Equal(new SymbolKindOrTypeKind(MethodKind.LocalFunction), symbolKind), 240symbolKind => Assert.Equal(new SymbolKindOrTypeKind(MethodKind.LocalFunction), symbolKind));
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 })]
Options\NamingStylePreferencesTests.cs (5)
197[InlineData(typeof(MethodKind), nameof(MethodKind.AnonymousFunction), nameof(MethodKind.LambdaMethod), nameof(MethodKind.SharedConstructor), nameof(MethodKind.StaticConstructor))]
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)
Parsing\Parser.Records.cs (1)
73if (m is not IMethodSymbol { MethodKind: MethodKind.Constructor } ctorMethod)
Microsoft.Interop.ComInterfaceGenerator (2)
ComMethodInfo.cs (2)
58case IMethodSymbol { MethodKind: MethodKind.Ordinary }: 89Debug.Assert(method is { IsStatic: false, MethodKind: MethodKind.Ordinary });
Microsoft.VisualStudio.LanguageServices (6)
Implementation\VsRefactorNotifyService.cs (2)
160if (symbol is IMethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.Destructor })
Library\ObjectBrowser\AbstractListItemFactory.cs (2)
347if (methodSymbol.MethodKind is MethodKind.Destructor or MethodKind.Constructor ||
Library\ObjectBrowser\Lists\MemberListItem.cs (2)
40Kind = methodSymbol.MethodKind is MethodKind.Conversion or 41MethodKind.UserDefinedOperator
Microsoft.VisualStudio.LanguageServices.CSharp (35)
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:
LanguageService\CSharpHelpContextService.cs (1)
195if (symbol is IMethodSymbol method && method.MethodKind == MethodKind.BuiltinOperator)
ObjectBrowser\DescriptionBuilder.cs (7)
190if (methodSymbol.MethodKind is not MethodKind.Constructor and 191not MethodKind.Destructor and 192not MethodKind.StaticConstructor and 193not MethodKind.Conversion) 199if (methodSymbol.MethodKind == MethodKind.Conversion) 247methodSymbol.MethodKind == MethodKind.Destructor) 262methodSymbol.MethodKind != MethodKind.StaticConstructor)
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (7)
GlyphExtensionsTests.cs (7)
47methodKind: MethodKind.ReducedExtension); 154methodKind: MethodKind.UserDefinedOperator); 163methodKind: MethodKind.Conversion); 180MethodKind methodKind = MethodKind.Ordinary, 197MethodKind methodKind = MethodKind.Ordinary,
Microsoft.VisualStudio.LanguageServices.UnitTests (2)
CommonControls\NewTypeDestinationSelectionViewModelTests.vb (1)
237Dim extractableMembers = DirectCast(symbol, INamedTypeSymbol).GetMembers().Where(Function(s) Not (TypeOf s Is IMethodSymbol) OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.Constructor)
ExtractInterface\ExtractInterfaceViewModelTests.vb (1)
298Dim extractableMembers = DirectCast(symbol, INamedTypeSymbol).GetMembers().Where(Function(s) Not (TypeOf s Is IMethodSymbol) OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.Constructor)
Microsoft.VisualStudio.LanguageServices.VisualBasic (33)
CodeModel\VisualBasicCodeModelService.vb (28)
1096Public Overrides Function GetAccessorKind(node As SyntaxNode) As MethodKind 1099Return MethodKind.PropertyGet 1101Return MethodKind.PropertySet 1103Return MethodKind.EventAdd 1105Return MethodKind.EventRemove 1107Return MethodKind.EventRaise 1113Private Overloads Shared Function GetAccessorKind(methodKind As MethodKind) As SyntaxKind 1115Case MethodKind.PropertyGet 1117Case MethodKind.PropertySet 1119Case MethodKind.EventAdd 1121Case MethodKind.EventRemove 1123Case MethodKind.EventRaise 1141Public Overrides Function TryGetAccessorNode(parentNode As SyntaxNode, kind As MethodKind, ByRef accessorNode As SyntaxNode) As Boolean 1387If methodSymbol.MethodKind = MethodKind.PropertyGet OrElse 1388methodSymbol.MethodKind = MethodKind.PropertySet OrElse 1389methodSymbol.MethodKind = MethodKind.EventAdd OrElse 1390methodSymbol.MethodKind = MethodKind.EventRemove OrElse 1391methodSymbol.MethodKind = MethodKind.EventRaise Then 2544Case MethodKind.Ordinary, 2545MethodKind.DeclareMethod 2548Case MethodKind.Constructor, 2549MethodKind.StaticConstructor 2552Case MethodKind.UserDefinedOperator 2555Case MethodKind.PropertyGet 2557Case MethodKind.PropertySet 2560Case MethodKind.EventAdd 2562Case MethodKind.EventRemove 2564Case MethodKind.EventRaise
CodeModel\VisualBasicCodeModelService_Prototype.vb (1)
94If methodSymbol.MethodKind = MethodKind.Ordinary AndAlso
ObjectBrowser\DescriptionBuilder.vb (4)
125Case MethodKind.Conversion, MethodKind.UserDefinedOperator 127Case MethodKind.DeclareMethod 365(methodSymbol Is Nothing OrElse Not methodSymbol.MethodKind = MethodKind.DeclareMethod) AndAlso
Roslyn.Diagnostics.Analyzers (123)
DoNotMixAttributesFromDifferentVersionsOfMEF.cs (1)
103if (member is IMethodSymbol methodSymbol && methodSymbol.MethodKind == MethodKind.Constructor)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;
Roslyn.Diagnostics.CSharp.Analyzers (13)
CSharpDoNotCapturePrimaryContructorParameters.cs (1)
41if (operation.Parameter.ContainingSymbol == context.ContainingSymbol || operation.Parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.Constructor })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
19conversion.MethodSymbol.MethodKind == MethodKind.Conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
372MethodKind: MethodKind.ReducedExtension,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
68if (symbol is IMethodSymbol { MethodKind: MethodKind.Conversion })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
1001if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op) 1246method.MethodKind is not (MethodKind.LocalFunction or MethodKind.LambdaMethod) && 1416if (originalMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } originalMethodSymbol || 1417rewrittenMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } rewrittenMethodSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
156if (method.MethodKind == MethodKind.Conversion) 162if (method.MethodKind == MethodKind.UserDefinedOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2018while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
Roslyn.Diagnostics.VisualBasic.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (2)
159methodSymbol?.MethodKind = MethodKind.Ordinary AndAlso 397If method.MethodKind = MethodKind.ReducedExtension AndAlso
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
152If method.MethodKind = MethodKind.UserDefinedOperator Then 156If method.MethodKind = MethodKind.Conversion Then
Test.Utilities (101)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
Text.Analyzers (126)
IdentifiersShouldBeSpelledCorrectly.cs (4)
323case MethodKind.PropertyGet: 324case MethodKind.PropertySet: 327case MethodKind.Constructor: 328case MethodKind.StaticConstructor:
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (11)
165return method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 184if (method.Name == "Dispose" && method.MethodKind == MethodKind.Ordinary && 201return method.Name == "Close" && method.MethodKind == MethodKind.Ordinary && 221method.MethodKind == MethodKind.Ordinary && 234method.MethodKind == MethodKind.Ordinary && 247method.MethodKind == MethodKind.Ordinary && 479MethodKind.LambdaMethod or MethodKind.LocalFunction or MethodKind.DelegateInvoke => true, 488MethodKind.LambdaMethod or MethodKind.LocalFunction => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
325case MethodKind.AnonymousFunction: 326case MethodKind.DelegateInvoke: 338case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (4)
109private static readonly SymbolKindOrTypeKind s_method = new(MethodKind.Ordinary); 110private static readonly SymbolKindOrTypeKind s_localFunction = new(MethodKind.LocalFunction); 314case MethodKind.Ordinary: 317case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyleRules.cs (2)
46return method.MethodKind is MethodKind.Ordinary or 47MethodKind.LocalFunction;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (19)
70new SymbolKindOrTypeKind(MethodKind.Ordinary), 71new SymbolKindOrTypeKind(MethodKind.LocalFunction), 169case MethodKind.AnonymousFunction: 170case MethodKind.LocalFunction: 298foreach (var methodKindElement in symbolKindListElement.Elements(nameof(MethodKind))) 349public SymbolKindOrTypeKind(MethodKind methodKind) 356public MethodKind? MethodKind => (_category == SymbolCategory.Method) ? (MethodKind)_kind : null; 363SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 372SymbolCategory.Method => new XElement(nameof(MethodKind), GetMethodKindString((MethodKind)_kind)), 388private static string GetMethodKindString(MethodKind methodKind) 395CodeAnalysis.MethodKind.SharedConstructor => nameof(CodeAnalysis.MethodKind.StaticConstructor), 396CodeAnalysis.MethodKind.AnonymousFunction => nameof(CodeAnalysis.MethodKind.LambdaMethod), 427CodeAnalysis.SymbolKind.Method => new(CodeAnalysis.MethodKind.Ordinary), 436=> new((MethodKind)Enum.Parse(typeof(MethodKind), methodKindElement.Value)); 444public static implicit operator SymbolKindOrTypeKind(MethodKind symbolKind)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (1)
113methodSymbol.MethodKind == MethodKind.UserDefinedOperator;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
76/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 323IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
143if (symbol.MethodKind == MethodKind.Conversion)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (4)
373case MethodKind.AnonymousFunction: 378case MethodKind.BuiltinOperator: 383case MethodKind.ReducedExtension: 388case MethodKind.LocalFunction:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (5)
407if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction) 477if (symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } methodSymbol && 478newSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction } newMethodSymbol) 876=> symbol is IMethodSymbol { MethodKind: MethodKind.DelegateInvoke };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (1)
51if (symbol.MethodKind == MethodKind.BuiltinOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (6)
231if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 429if (method is { MethodKind: MethodKind.UserDefinedOperator or MethodKind.Conversion } || 430method is { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true }) 640IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 641IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } => true,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (2)
33MethodKind: MethodKind.Constructor, 65MethodKind: MethodKind.Constructor,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (19)
200MethodKind: MethodKind.Ordinary or 201MethodKind.PropertyGet or 202MethodKind.PropertySet or 203MethodKind.UserDefinedOperator or 204MethodKind.Conversion 240=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 267=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 276=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 285=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 288=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 291=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 294=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 297=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 300=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 303=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 613=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
156if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\MethodKindExtensions.cs (3)
11public static bool IsPropertyAccessor(this MethodKind kind) 12=> kind is MethodKind.PropertyGet or MethodKind.PropertySet;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SignatureComparer.cs (3)
79if ((method1.MethodKind == MethodKind.AnonymousFunction) != 80(method2.MethodKind == MethodKind.AnonymousFunction)) 85if (method1.MethodKind != MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
202if (x is { MethodKind: MethodKind.DelegateInvoke, ContainingType.IsAnonymousType: true }) 207if (x.MethodKind == MethodKind.FunctionPointerSignature)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (11)
177if (x.MethodKind == MethodKind.ReducedExtension) 196if (x.MethodKind is MethodKind.AnonymousFunction or 197MethodKind.LocalFunction) 249private static bool AreCompatibleMethodKinds(MethodKind kind1, MethodKind kind2) 256if ((kind1 == MethodKind.Ordinary && kind2.IsPropertyAccessor()) || 257(kind1.IsPropertyAccessor() && kind2 == MethodKind.Ordinary)) 263if ((kind1 == MethodKind.BuiltinOperator && kind2 == MethodKind.UserDefinedOperator) || 264(kind1 == MethodKind.UserDefinedOperator && kind2 == MethodKind.BuiltinOperator))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
115if (x.MethodKind == MethodKind.AnonymousFunction)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (4)
161MethodKind methodKind = MethodKind.Ordinary, 182MethodKind methodKind = MethodKind.Ordinary,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
72public virtual MethodKind MethodKind => MethodKind.Ordinary;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorSymbol.cs (2)
27public override MethodKind MethodKind => MethodKind.Constructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConversionSymbol.cs (2)
34public override MethodKind MethodKind => MethodKind.Conversion;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorSymbol.cs (2)
23public override MethodKind MethodKind => MethodKind.Destructor;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodSymbol.cs (5)
20public override MethodKind MethodKind { get; } 35MethodKind methodKind = MethodKind.Ordinary, 42Debug.Assert(!isInitOnly || methodKind == MethodKind.PropertySet); 43this.IsInitOnly = methodKind == MethodKind.PropertySet && isInitOnly;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamedTypeSymbol.cs (2)
168return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)]; 177return [.. this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)];
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationOperatorSymbol.cs (2)
32public override MethodKind MethodKind => MethodKind.UserDefinedOperator;