5 implementations of IMethodSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationAbstractMethodSymbol.cs (1)
18internal abstract class CodeGenerationAbstractMethodSymbol : CodeGenerationSymbol, IMethodSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\MethodSymbol.cs (1)
16internal sealed class MethodSymbol : Symbol, IMethodSymbol
Microsoft.CodeAnalysis.Features (1)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedMethodSymbol.cs (1)
15private class WrappedMethodSymbol : AbstractWrappedSymbol, IMethodSymbol
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\MethodSymbol.vb (1)
15Implements IMethodSymbol, IMethodSymbolInternal
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationAbstractMethodSymbol.cs (1)
18internal abstract class CodeGenerationAbstractMethodSymbol : CodeGenerationSymbol, IMethodSymbol
3801 references to IMethodSymbol
Microsoft.CodeAnalysis (187)
CodeGen\CompilationTestData.cs (2)
127IMethodSymbol iMethod = (IMethodSymbol)methodSymbol.GetISymbol();
Compilation\Compilation.cs (18)
938public IMethodSymbol? GetEntryPoint(CancellationToken cancellationToken) 943protected abstract IMethodSymbol? CommonGetEntryPoint(CancellationToken cancellationToken); 1507/// Creates an <see cref="IMethodSymbol"/> whose <see cref="IMethodSymbol.MethodKind"/> is <see 1516public IMethodSymbol CreateBuiltinOperator(string name, ITypeSymbol returnType, ITypeSymbol leftType, ITypeSymbol rightType) 1532protected abstract IMethodSymbol CommonCreateBuiltinOperator(string name, ITypeSymbol returnType, ITypeSymbol leftType, ITypeSymbol rightType); 1535/// Creates an <see cref="IMethodSymbol"/> whose <see cref="IMethodSymbol.MethodKind"/> is <see 1543public IMethodSymbol CreateBuiltinOperator(string name, ITypeSymbol returnType, ITypeSymbol operandType) 1556protected abstract IMethodSymbol CommonCreateBuiltinOperator(string name, ITypeSymbol returnType, ITypeSymbol operandType); 2420IMethodSymbol? debugEntryPoint, 2653IMethodSymbol debugEntryPoint, 2677IMethodSymbol? debugEntryPoint, 2738IMethodSymbol? debugEntryPoint = null, 2766IMethodSymbol? debugEntryPoint, 2884IMethodSymbol? debugEntryPoint, 3099IMethodSymbol? debugEntryPoint, 3149internal abstract void ValidateDebugEntryPoint(IMethodSymbol debugEntryPoint, DiagnosticBag diagnostics);
Compilation\DataFlowAnalysis.cs (1)
104public abstract ImmutableArray<IMethodSymbol> UsedLocalFunctions { get; }
DiagnosticAnalyzer\AnalyzerManager.AnalyzerExecutionContext.cs (1)
196if (member is IMethodSymbol method &&
DiagnosticAnalyzer\DiagnosticStartAnalysisScope.cs (2)
551parameters = ((IMethodSymbol)context.Symbol).Parameters; 558var delegateInvokeMethod = namedType.DelegateInvokeMethod;
DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (9)
190foreach (var method in GetMatchingMethods(candidateMembers, arity, parameters, returnType)) 504var methodContext = bindingContext as IMethodSymbol; 546var methodContext = bindingContext as IMethodSymbol; 738private ImmutableArray<IMethodSymbol> GetMatchingMethods(ImmutableArray<ISymbol> candidateMembers, int? arity, ParameterInfo[] parameters, TypeInfo? returnType) 740var builder = new ArrayBuilder<IMethodSymbol>(); 744var methodSymbol = symbol as IMethodSymbol;
DocumentationCommentId.cs (8)
338public override void VisitMethod(IMethodSymbol symbol) 418public override bool VisitMethod(IMethodSymbol symbol) 943var methodContext = typeParameterContext as IMethodSymbol; 958var methodContext = typeParameterContext as IMethodSymbol; 1196var methodSymbol = symbol as IMethodSymbol;
Emit\CommonPEModuleBuilder.cs (2)
291Debug.Assert(((IMethodSymbol)methodSymbol.GetISymbol()).PartialDefinitionPart == null); // Must be definition. 307Debug.Assert(((IMethodSymbol)methodSymbol.GetISymbol()).PartialDefinitionPart == null); // Must be definition.
Emit\EditAndContinue\SymbolChanges.cs (10)
98symbol is IMethodSymbol { AssociatedSymbol: IPropertySymbol propertySymbol } && 109symbol is IMethodSymbol { AssociatedSymbol: IEventSymbol eventSymbol } && 120symbol is IMethodSymbol) 313if (symbol is IMethodSymbol method) 452if (edit.OldSymbol is IMethodSymbol && edit.NewSymbol is { } newContainingSymbol) 483var method = (IMethodSymbol)member; 487Debug.Assert((edit.OldSymbol == null) || (((IMethodSymbol)edit.OldSymbol).PartialImplementationPart == null)); 489var definitionPart = method.PartialDefinitionPart; 574var associated = ((IMethodSymbol)symbol).AssociatedSymbol;
Emit\SemanticEdit.cs (5)
55/// If not empty, <see cref="OldSymbol"/> and <see cref="NewSymbol"/> must be non-null <see cref="IMethodSymbol"/>s, and 123if (oldSymbol is not IMethodSymbol) 128if (newSymbol is not IMethodSymbol) 151internal SemanticEdit(IMethodSymbol oldSymbol, IMethodSymbol newSymbol, ImmutableArray<InstrumentationKind> instrumentationKinds)
Generated\FlowAnalysis.Generated.cs (1)
142IMethodSymbol Symbol { get; }
Generated\Operations.Generated.cs (37)
541IMethodSymbol Symbol { get; } 667IMethodSymbol? OperatorMethod { get; } 720IMethodSymbol TargetMethod { get; } 901IMethodSymbol Method { get; } 1002IMethodSymbol? OperatorMethod { get; } 1058IMethodSymbol? OperatorMethod { get; } 1161IMethodSymbol Symbol { get; } 1188IMethodSymbol? Constructor { get; } 1421IMethodSymbol? OperatorMethod { get; } 1650IMethodSymbol AddMethod { get; } 2032IMethodSymbol? OperatorMethod { get; } 2906IMethodSymbol? Method { get; } 3353IMethodSymbol? CloneMethod { get; } 4545internal LocalFunctionOperation(IMethodSymbol symbol, IBlockOperation? body, IBlockOperation? ignoredBody, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4552public IMethodSymbol Symbol { get; } 4781internal InvocationOperation(IMethodSymbol targetMethod, ITypeSymbol? constrainedToType, IOperation? instance, bool isVirtual, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 4791public IMethodSymbol TargetMethod { get; } 5027internal MethodReferenceOperation(IMethodSymbol method, ITypeSymbol? constrainedToType, bool isVirtual, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5035public IMethodSymbol Method { get; } 5206internal UnaryOperation(UnaryOperatorKind operatorKind, IOperation operand, bool isLifted, bool isChecked, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5222public IMethodSymbol? OperatorMethod { get; } 5269internal BinaryOperation(BinaryOperatorKind operatorKind, IOperation leftOperand, IOperation rightOperand, bool isLifted, bool isChecked, bool isCompareText, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, IMethodSymbol? unaryOperatorMethod, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5290public IMethodSymbol? OperatorMethod { get; } 5292public IMethodSymbol? UnaryOperatorMethod { get; } 5491internal AnonymousFunctionOperation(IMethodSymbol symbol, IBlockOperation body, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5497public IMethodSymbol Symbol { get; } 5544internal ObjectCreationOperation(IMethodSymbol? constructor, IObjectOrCollectionInitializerOperation? initializer, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5553public IMethodSymbol? Constructor { get; } 5933internal CompoundAssignmentOperation(IConvertibleConversion inConversion, IConvertibleConversion outConversion, BinaryOperatorKind operatorKind, bool isLifted, bool isChecked, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5952public IMethodSymbol? OperatorMethod { get; } 6883internal IncrementOrDecrementOperation(bool isPostfix, bool isLifted, bool isChecked, IOperation target, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, OperationKind kind, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6899public IMethodSymbol? OperatorMethod { get; } 8664internal RangeOperation(IOperation? leftOperand, IOperation? rightOperand, bool isLifted, IMethodSymbol? method, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 8676public IMethodSymbol? Method { get; } 9651internal WithOperation(IOperation operand, IMethodSymbol? cloneMethod, IObjectOrCollectionInitializerOperation initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9660public IMethodSymbol? CloneMethod { get; }
Operations\CommonConversion.cs (2)
32internal CommonConversion(bool exists, bool isIdentity, bool isNumeric, bool isReference, bool isImplicit, bool isNullable, IMethodSymbol? methodSymbol, ITypeSymbol? constrainedToType) 81public IMethodSymbol? MethodSymbol { get; }
Operations\ControlFlowGraph.cs (7)
27private readonly ImmutableDictionary<IMethodSymbol, (ControlFlowRegion region, ILocalFunctionOperation operation, int ordinal)> _localFunctionsMap; 36ImmutableArray<IMethodSymbol> localFunctions, 37ImmutableDictionary<IMethodSymbol, (ControlFlowRegion region, ILocalFunctionOperation operation, int ordinal)> localFunctionsMap, 55foreach (IMethodSymbol method in localFunctions) 222public ImmutableArray<IMethodSymbol> LocalFunctions { get; } 227public ControlFlowGraph GetLocalFunctionControlFlowGraph(IMethodSymbol localFunction, CancellationToken cancellationToken = default) 244internal bool TryGetLocalFunctionControlFlowGraph(IMethodSymbol localFunction, [NotNullWhen(true)] out ControlFlowGraph? controlFlowGraph)
Operations\ControlFlowGraphBuilder.cs (23)
149var localFunctions = ArrayBuilder<IMethodSymbol>.GetInstance(); 150var localFunctionsMap = ImmutableDictionary.CreateBuilder<IMethodSymbol, (ControlFlowRegion, ILocalFunctionOperation, int)>(); 2455IMethodSymbol? unaryOperatorMethod = ((BinaryOperation)binOp).UnaryOperatorMethod; 2557IMethodSymbol? unaryOperatorMethod = ((BinaryOperation)binOp).UnaryOperatorMethod; 3317var method = (IMethodSymbol?)_compilation.CommonGetSpecialTypeMember(nullableMember)?.GetISymbol(); 3325method = (IMethodSymbol)candidate; 3938private void HandleUsingOperationParts(IOperation resources, IOperation body, IMethodSymbol? disposeMethod, ImmutableArray<IArgumentOperation> disposeArguments, ImmutableArray<ILocalSymbol> locals, bool isAsynchronous) 4092private void AddDisposingFinally(IOperation resource, bool requiresRuntimeConversion, ITypeSymbol iDisposable, IMethodSymbol? disposeMethod, ImmutableArray<IArgumentOperation> disposeArguments, bool isAsynchronous) 4141var method = disposeMethod ?? (isAsynchronous 4142? (IMethodSymbol?)_compilation.CommonGetWellKnownTypeMember(WellKnownMember.System_IAsyncDisposable__DisposeAsync)?.GetISymbol() 4143: (IMethodSymbol?)_compilation.CommonGetSpecialTypeMember(SpecialMember.System_IDisposable__Dispose)?.GetISymbol()); 4246var enterMethod = (IMethodSymbol?)_compilation.CommonGetWellKnownTypeMember(WellKnownMember.System_Threading_Monitor__Enter2)?.GetISymbol(); 4252enterMethod = (IMethodSymbol?)_compilation.CommonGetWellKnownTypeMember(WellKnownMember.System_Threading_Monitor__Enter)?.GetISymbol(); 4335var exitMethod = (IMethodSymbol?)_compilation.CommonGetWellKnownTypeMember(WellKnownMember.System_Threading_Monitor__Exit)?.GetISymbol(); 4598InvocationOperation makeInvocationDroppingInstanceForStaticMethods(IMethodSymbol method, IOperation instance, ImmutableArray<IArgumentOperation> arguments) 4603InvocationOperation makeInvocation(SyntaxNode syntax, IMethodSymbol method, IOperation? instanceOpt, ImmutableArray<IArgumentOperation> arguments) 4691var method = (IMethodSymbol?)_compilation.CommonGetWellKnownTypeMember(helper)?.GetISymbol(); 7525var matchFailureCtor = 7526(IMethodSymbol?)(_compilation.CommonGetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor) ??
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (11)
24public ArrayBuilder<(IMethodSymbol, ILocalFunctionOperation)>? LocalFunctions = null; 94public void Add(IMethodSymbol symbol, ILocalFunctionOperation operation) 102LocalFunctions = ArrayBuilder<(IMethodSymbol, ILocalFunctionOperation)>.GetInstance(); 108public void AddRange(ArrayBuilder<(IMethodSymbol, ILocalFunctionOperation)>? others) 117Debug.Assert(others.All(((IMethodSymbol m, ILocalFunctionOperation _) tuple) => tuple.m.MethodKind == MethodKind.LocalFunction)); 121LocalFunctions = ArrayBuilder<(IMethodSymbol, ILocalFunctionOperation)>.GetInstance(); 297ArrayBuilder<IMethodSymbol> localFunctions, 298ImmutableDictionary<IMethodSymbol, (ControlFlowRegion region, ILocalFunctionOperation operation, int ordinal)>.Builder localFunctionsMap, 311foreach ((IMethodSymbol method, IOperation _) in LocalFunctions) 339LocalFunctions?.SelectAsArray(((IMethodSymbol, ILocalFunctionOperation) tuple) => tuple.Item1) ?? default, 346foreach ((IMethodSymbol method, ILocalFunctionOperation operation) in LocalFunctions)
Operations\ControlFlowGraphExtensions.cs (1)
17public static ControlFlowGraph GetLocalFunctionControlFlowGraphInScope(this ControlFlowGraph controlFlowGraph, IMethodSymbol localFunction, CancellationToken cancellationToken = default)
Operations\ControlFlowRegion.cs (2)
56public ImmutableArray<IMethodSymbol> LocalFunctions { get; } 66ImmutableArray<IMethodSymbol> methods,
Operations\DisposeOperationInfo.cs (2)
10public readonly IMethodSymbol? DisposeMethod; 14public DisposeOperationInfo(IMethodSymbol? disposeMethod, ImmutableArray<IArgumentOperation> disposeArguments)
Operations\Loops\ForEachLoopOperationInfo.cs (6)
16public readonly IMethodSymbol GetEnumeratorMethod; 18public readonly IMethodSymbol MoveNextMethod; 23public readonly IMethodSymbol? PatternDisposeMethod; 42IMethodSymbol getEnumeratorMethod, 44IMethodSymbol moveNextMethod, 48IMethodSymbol? patternDisposeMethod,
Operations\OperationExtensions.cs (1)
20public static IMethodSymbol GetFunctionPointerSignature(this IFunctionPointerInvocationOperation functionPointer)
Operations\OperationNodes.cs (2)
81public IMethodSymbol? OperatorMethod => Conversion.MethodSymbol; 161public IMethodSymbol Symbol => Original.Symbol;
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithMetadataName.cs (1)
146addMatchingAttributes((symbol as IMethodSymbol)?.GetReturnTypeAttributes());
SymbolDisplay\AbstractSymbolDisplayVisitor.cs (1)
146var ctor = attribute.AttributeConstructor;
SymbolDisplay\AbstractSymbolDisplayVisitor_Minimal.cs (1)
73arity = ((IMethodSymbol)candidate).Arity;
Symbols\Attributes\CommonAttributeData.cs (2)
33public IMethodSymbol? AttributeConstructor { get { return CommonAttributeConstructor; } } 34protected abstract IMethodSymbol? CommonAttributeConstructor { get; }
Symbols\IEventSymbol.cs (3)
37IMethodSymbol? AddMethod { get; } 42IMethodSymbol? RemoveMethod { get; } 47IMethodSymbol? RaiseMethod { get; }
Symbols\IFunctionPointerTypeSymbol.cs (1)
19public IMethodSymbol Signature { get; }
Symbols\ILabelSymbol.cs (2)
19/// Gets the immediately containing <see cref="IMethodSymbol"/> of this <see cref="ILocalSymbol"/>. 21IMethodSymbol ContainingMethod { get; }
Symbols\IMethodSymbol.cs (10)
133IMethodSymbol ConstructedFrom { get; } 153new IMethodSymbol OriginalDefinition { get; } 159IMethodSymbol? OverriddenMethod { get; } 175IMethodSymbol? ReducedFrom { get; } 191IMethodSymbol? ReduceExtensionMethod(ITypeSymbol receiverType); 200ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations { get; } 247IMethodSymbol Construct(params ITypeSymbol[] typeArguments); 252IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations); 258IMethodSymbol? PartialDefinitionPart { get; } 265IMethodSymbol? PartialImplementationPart { get; }
Symbols\INamedTypeSymbol.cs (4)
110IMethodSymbol? DelegateInvokeMethod { get; } 145ImmutableArray<IMethodSymbol> InstanceConstructors { get; } 150ImmutableArray<IMethodSymbol> StaticConstructors { get; } 155ImmutableArray<IMethodSymbol> Constructors { get; }
Symbols\IPropertySymbol.cs (2)
77IMethodSymbol? GetMethod { get; } 82IMethodSymbol? SetMethod { get; }
Symbols\ISymbolExtensions.cs (3)
15public static IMethodSymbol? GetConstructedReducedFrom(this IMethodSymbol method) 23var reducedFrom = method.ReducedFrom;
Symbols\ITypeParameterSymbol.cs (1)
38IMethodSymbol? DeclaringMethod { get; }
Symbols\SymbolVisitor.cs (1)
63public virtual void VisitMethod(IMethodSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
66public virtual TResult? VisitMethod(IMethodSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
71public virtual TResult VisitMethod(IMethodSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.CodeStyle (254)
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
155return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (8)
331var targetMethod = ((IInvocationOperation)operationContext.Operation).TargetMethod.OriginalDefinition; 380var constructor = ((IObjectCreationOperation)operationContext.Operation).Constructor.OriginalDefinition; 407var entryPoint = symbolEndContext.Compilation.GetEntryPoint(symbolEndContext.CancellationToken); 502case IMethodSymbol _: 620var methodSymbol = (IMethodSymbol)memberSymbol; 717private bool IsMethodWithSpecialAttribute(IMethodSymbol methodSymbol) 720private static bool IsShouldSerializeOrResetPropertyMethod(IMethodSymbol methodSymbol)
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
105protected abstract bool MethodHasHandlesClause(IMethodSymbol method);
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
396if (owningSymbol is IMethodSymbol method && 676if (context.OwningSymbol is not IMethodSymbol method)
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (3)
32private readonly ConcurrentDictionary<IMethodSymbol, bool> _methodsUsedAsDelegates; 55_methodsUsedAsDelegates = new ConcurrentDictionary<IMethodSymbol, bool>(); 214parameter.ContainingSymbol is not IMethodSymbol method ||
AbstractSimplifyInterpolationHelpers.cs (1)
122private static bool IsObjectToStringOverride(IMethodSymbol method)
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (10)
56if (!TryGetLinqWhereExtensionMethod(enumerableType, out var whereMethodSymbol)) 78static bool TryGetLinqWhereExtensionMethod(INamedTypeSymbol enumerableType, [NotNullWhen(true)] out IMethodSymbol? whereMethod) 80foreach (var whereMethodSymbol in enumerableType.GetMembers(nameof(Enumerable.Where)).OfType<IMethodSymbol>()) 96static bool TryGetLinqMethodsThatDoNotReturnEnumerables(INamedTypeSymbol enumerableType, out ImmutableArray<IMethodSymbol> linqMethods) 98using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var linqMethodSymbolsBuilder); 99foreach (var method in enumerableType.GetMembers().OfType<IMethodSymbol>()) 113public void AnalyzeInvocationOperation(OperationAnalysisContext context, INamedTypeSymbol enumerableType, IMethodSymbol whereMethod, ImmutableArray<IMethodSymbol> linqMethods)
AbstractSpeculationAnalyzer.cs (12)
343symbol = ((IMethodSymbol)symbol).GetConstructedReducedFrom()!; 348newSymbol = ((IMethodSymbol)newSymbol).GetConstructedReducedFrom()!; 370if (symbol is IMethodSymbol methodSymbol && newSymbol is IMethodSymbol newMethodSymbol) 431if (symbol is IMethodSymbol methodSymbol && 432newSymbol is IMethodSymbol newMethodSymbol && 743GetForEachSymbols(this.OriginalSemanticModel, forEachStatement, out var originalGetEnumerator, out var originalElementType); 744GetForEachSymbols(this.SpeculativeSemanticModel, newForEachStatement, out var newGetEnumerator, out var newElementType); 760protected abstract void GetForEachSymbols(SemanticModel model, TForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType); 762private bool ReplacementBreaksForEachGetEnumerator(IMethodSymbol getEnumerator, IMethodSymbol newGetEnumerator, TExpressionSyntax newForEachStatementExpression) 839((IMethodSymbol)symbol).MethodKind == MethodKind.DelegateInvoke;
AbstractUseAutoPropertyAnalyzer.cs (5)
75protected abstract TExpression? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken); 76protected abstract TExpression? GetSetterExpression(IMethodSymbol setMethod, SemanticModel semanticModel, CancellationToken cancellationToken); 236var setMethod = property.SetMethod; 269private IFieldSymbol? GetSetterField(SemanticModel semanticModel, IMethodSymbol setMethod, CancellationToken cancellationToken) 272private IFieldSymbol? GetGetterField(SemanticModel semanticModel, IMethodSymbol getMethod, CancellationToken cancellationToken)
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (3)
37var referenceEqualsMethod = objectType.GetMembers(nameof(ReferenceEquals)) 38.OfType<IMethodSymbol>() 56private void AnalyzeSyntax(SyntaxNodeAnalysisContext context, IMethodSymbol referenceEqualsMethod, bool unconstraintedGenericSupported)
AbstractUseNullPropagationDiagnosticAnalyzer.cs (6)
87var referenceEqualsMethod = objectType?.GetMembers(nameof(ReferenceEquals)) 88.OfType<IMethodSymbol>() 105IMethodSymbol? referenceEqualsMethod) 169if (semanticModel.GetSymbolInfo(name, cancellationToken).GetAnySymbol() is IMethodSymbol) 198IMethodSymbol? referenceEqualsMethod, 253IMethodSymbol? referenceEqualsMethod,
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
30IMethodSymbol? referenceEqualsMethod)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (4)
107var method = TryGetValidFormatMethodSymbol(symbolInfo); 280protected static IMethodSymbol? TryGetValidFormatMethodSymbol(SymbolInfo symbolInfo) 292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction) 308return (IMethodSymbol)symbolInfo.Symbol;
AccessibilityExtensions.cs (1)
37switch (((IMethodSymbol)currentSymbol).MethodKind)
DeclarationModifiers.cs (3)
70IMethodSymbol or 75var method = symbol as IMethodSymbol;
DeserializationConstructorCheck.cs (1)
24public bool IsDeserializationConstructor(IMethodSymbol methodSymbol)
ForEachSymbols.cs (6)
11public readonly IMethodSymbol GetEnumeratorMethod; 12public readonly IMethodSymbol MoveNextMethod; 14public readonly IMethodSymbol DisposeMethod; 17internal ForEachSymbols(IMethodSymbol getEnumeratorMethod, 18IMethodSymbol moveNextMethod, 20IMethodSymbol disposeMethod,
HashCodeAnalyzer.cs (8)
20private readonly IMethodSymbol _objectGetHashCodeMethod; 26Compilation compilation, IMethodSymbol objectGetHashCodeMethod, 43if (objectType?.GetMembers(nameof(GetHashCode)).FirstOrDefault() is not IMethodSymbol objectGetHashCodeMethod) 64if (owningSymbol is not IMethodSymbol { Name: nameof(GetHashCode) } method) 90IMethodSymbol method, ImmutableArray<IOperation> statements) 113IMethodSymbol method, ImmutableArray<IOperation> statements) 211private bool OverridesSystemObject(IMethodSymbol? method) 213for (var current = method; current != null; current = current.OverriddenMethod)
HashCodeAnalyzer.OperationDeconstructor.cs (3)
24private readonly IMethodSymbol _method; 31HashCodeAnalyzer analyzer, IMethodSymbol method, ILocalSymbol? hashCodeVariable) 71var targetMethod = invocation.TargetMethod;
IMethodSymbolExtensions.cs (7)
19public static ImmutableArray<IMethodSymbol> GetAllMethodSymbolsOfPartialParts(this IMethodSymbol method) 42public static bool HasEventHandlerSignature(this IMethodSymbol method, [NotNullWhen(returnValue: true)] INamedTypeSymbol? eventArgsType) 47public static bool TryGetPredefinedComparisonOperator(this IMethodSymbol symbol, out PredefinedOperator op) 71public static PredefinedOperator GetPredefinedOperator(this IMethodSymbol symbol) 101public static bool IsEntryPoint(this IMethodSymbol methodSymbol, INamedTypeSymbol? taskType, INamedTypeSymbol? genericTaskType) 112public static bool IsAsyncReturningVoidTask(this IMethodSymbol method, Compilation compilation)
INamedTypeSymbolExtensions.cs (8)
121static bool IsAccessorImplemented(IMethodSymbol? accessor, INamedTypeSymbol classOrStructType) 169IMethodSymbol method => method.ExplicitInterfaceImplementations.Length > 0, 226static bool IsNonPublicImplementableAccessor(IMethodSymbol? accessor) 233if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 326private static bool IsInaccessibleImplementableAccessor(IMethodSymbol? accessor, ISymbol within) 416where m.Kind != SymbolKind.Method || ((IMethodSymbol)m).MethodKind is MethodKind.Ordinary or MethodKind.UserDefinedOperator or MethodKind.Conversion 572IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 611return member is IMethodSymbol
IParameterSymbolExtensions.cs (2)
28ContainingSymbol: IMethodSymbol 60ContainingSymbol: IMethodSymbol
ISemanticFacts.cs (4)
82IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 84ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 86ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 105ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken);
ISemanticFactsExtensions.cs (1)
112=> symbol is IMethodSymbol methodSymbol &&
ISymbolExtensions.cs (39)
78IMethodSymbol method => method.OverriddenMethod, 88IMethodSymbol method => ImmutableArray<ISymbol>.CastUp(method.ExplicitInterfaceImplementations), 137var methodSymbol = (IMethodSymbol)symbol; 178=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 205=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 211=> symbol is IMethodSymbol { IsExtensionMethod: true }; 214=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 223=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 226=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 229=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 232=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 235=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 238=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 241=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 280IMethodSymbol methodSymbol => methodSymbol.ReturnType, 289SymbolKind.Method => ((IMethodSymbol)symbol).Arity, 304symbol = ((IMethodSymbol)symbol).GetConstructedReducedFrom(); 309if (symbol.ContainingSymbol is IMethodSymbol method) 327var method = parameter.ContainingSymbol as IMethodSymbol; 360IMethodSymbol m => m.Parameters, 368IMethodSymbol m => m.TypeParameters, 389IMethodSymbol m => m.TypeArguments, 434if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None)) 549=> (symbol as IMethodSymbol)?.MethodKind.IsPropertyAccessor() == true; 552=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove }; 578var methodSymbol = symbol as IMethodSymbol; 602var getAwaiters = potentialGetAwaiters.OfType<IMethodSymbol>().Where(x => !x.Parameters.Any()); 606public static bool IsValidGetAwaiter(this IMethodSymbol symbol) 610private static bool VerifyGetAwaiter(IMethodSymbol getAwaiter) 624var methods = returnType.GetMembers().OfType<IMethodSymbol>(); 640public static bool IsValidGetEnumerator(this IMethodSymbol symbol) 644private static bool VerifyGetEnumerator(IMethodSymbol getEnumerator) 664if (!members.OfType<IMethodSymbol>().Any(x => 680public static bool IsValidGetAsyncEnumerator(this IMethodSymbol symbol) 684private static bool VerifyGetAsyncEnumerator(IMethodSymbol getAsyncEnumerator) 707if (!members.OfType<IMethodSymbol>().Any(x => x.Name == WellKnownMemberNames.MoveNextAsyncMethodName))
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
106public override bool VisitMethod(IMethodSymbol symbol)
ISymbolExtensions_Accessibility.cs (4)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature; 154((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator && 163Debug.Assert(!(symbol.IsKind(SymbolKind.Method) && ((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator && symbol.ContainingSymbol.IsKind(SymbolKind.FunctionPointerType))); 165((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator &&
ITypeSymbolExtensions.cs (2)
407.SelectAccessibleMembers<IMethodSymbol>(WellKnownMemberNames.CollectionInitializerAddMethodName, within ?? typeSymbol) 408.OfType<IMethodSymbol>()
NamingStyleDiagnosticAnalyzerBase.cs (1)
116if (symbol is IMethodSymbol methodSymbol && methodSymbol.IsEntryPoint(compilation.TaskType(), compilation.TaskOfTType()))
NamingStyleRules.cs (1)
52if (symbol is IMethodSymbol method)
OperationExtensions.cs (3)
226var containingMethod = TryGetContainingAnonymousFunctionOrLocalFunction(operation) ?? (containingSymbol as IMethodSymbol); 230public static IMethodSymbol? TryGetContainingAnonymousFunctionOrLocalFunction(this IOperation? operation)
SuppressMessageAttributeState.TargetSymbolResolver.cs (9)
190foreach (var method in GetMatchingMethods(candidateMembers, arity, parameters, returnType)) 504var methodContext = bindingContext as IMethodSymbol; 546var methodContext = bindingContext as IMethodSymbol; 738private ImmutableArray<IMethodSymbol> GetMatchingMethods(ImmutableArray<ISymbol> candidateMembers, int? arity, ParameterInfo[] parameters, TypeInfo? returnType) 740var builder = new ArrayBuilder<IMethodSymbol>(); 744var methodSymbol = symbol as IMethodSymbol;
SymbolEquivalenceComparer.cs (6)
131public bool ReturnTypeEquals(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies = null) 176private static bool IsConstructedFromSelf(IMethodSymbol symbol) 182private static bool CheckContainingType(IMethodSymbol x) 213private static bool IsPartialMethodDefinitionPart(IMethodSymbol symbol) 216private static bool IsPartialMethodImplementationPart(IMethodSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
125SymbolKind.Method => MethodsAreEquivalent((IMethodSymbol)x, (IMethodSymbol)y, equivalentTypesWithDifferingAssemblies), 171private bool MethodsAreEquivalent(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies, bool considerReturnRefKinds = false) 180var rx = x.ReducedFrom; 181var ry = y.ReducedFrom; 473internal bool ReturnTypesAreEquivalent(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies = null)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
68SymbolKind.Method => CombineHashCodes((IMethodSymbol)x, currentHash), 112private int CombineHashCodes(IMethodSymbol x, int currentHash)
SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (1)
63if (isAnonymousDelegateType && symbol is IMethodSymbol methodSymbol)
SymbolKey.BuiltinOperatorSymbolKey.cs (6)
13private sealed class BuiltinOperatorSymbolKey : AbstractSymbolKey<IMethodSymbol> 17public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 25SymbolKeyReader reader, IMethodSymbol? contextualSymbol, out string? failureReason) 30using var parameterTypes = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 56var unaryOperator = reader.Compilation.CreateBuiltinOperator(name, returnTypeSymbol, parameterTypes[0]); 60var binaryOperator = reader.Compilation.CreateBuiltinOperator(name, returnTypeSymbol, parameterTypes[0], parameterTypes[1]);
SymbolKey.cs (5)
32/// <item>Two <see cref="IMethodSymbol"/>s are the "same" if they have 35/// equal <see cref="IMethodSymbol.Arity"/>, 36/// the "same" <see cref="IMethodSymbol.TypeArguments"/>, and have 73/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 326IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
SymbolKey.MethodSymbolKey.cs (22)
12private sealed class ReducedExtensionMethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 16public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 25SymbolKeyReader reader, IMethodSymbol? contextualMethod, out string? failureReason) 42using var result = PooledArrayBuilder<IMethodSymbol>.GetInstance(); 43foreach (var reducedFrom in reducedFromResolution.OfType<IMethodSymbol>()) 56private sealed class ConstructedMethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 60public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 67SymbolKeyReader reader, IMethodSymbol? contextualMethod, out string? failureReason) 71using var typeArguments = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 102using var result = PooledArrayBuilder<IMethodSymbol>.GetInstance(); 103foreach (var method in constructedFrom.OfType<IMethodSymbol>()) 124private sealed class MethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 128public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 161SymbolKeyReader reader, IMethodSymbol? contextualSymbol, out string? failureReason) 180using var methods = GetMembersOfNamedType<IMethodSymbol>(containingType, metadataName: null); 181IMethodSymbol? method = null; 182foreach (var candidate in methods) 224_ = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 244private static IMethodSymbol? Resolve( 245SymbolKeyReader reader, bool isPartialMethodImplementationPart, IMethodSymbol method)
SymbolKey.ParameterSymbolKey.cs (2)
43case IMethodSymbol method: 62var delegateInvoke = (eventSymbol.Type as INamedTypeSymbol)?.DelegateInvokeMethod;
SymbolKey.SymbolKeyReader.cs (6)
331private readonly List<IMethodSymbol?> _methodSymbolStack = new(); 409public MethodPopper PushMethod(IMethodSymbol? method) 415private void PopMethod(IMethodSymbol? method) 422public IMethodSymbol? ResolveMethod(int index) 444private readonly IMethodSymbol? _method; 446public MethodPopper(SymbolKeyReader reader, IMethodSymbol? method)
SymbolKey.SymbolKeyWriter.cs (5)
69private readonly List<IMethodSymbol> _methodSymbolStack = new(); 359public override void VisitMethod(IMethodSymbol methodSymbol) 499var method = _methodSymbolStack[i]; 513public void PushMethod(IMethodSymbol method) 516public void PopMethod(IMethodSymbol method)
SymbolKey.TypeParameterOrdinalSymbolKey.cs (1)
24var method = reader.ResolveMethod(methodIndex);
SymbolSpecification.cs (2)
401SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 528if (Modifier.IsAsync && kind == SymbolKind.Method && ((IMethodSymbol)symbol).IsAsync)
SymbolUsageAnalysis.AnalysisData.cs (3)
72protected abstract PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 91public BasicBlockAnalysisData AnalyzeLocalFunctionInvocation(IMethodSymbol localFunction, CancellationToken cancellationToken) 126protected abstract BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken);
SymbolUsageAnalysis.cs (1)
43BasicBlockAnalysisData AnalyzeLocalFunction(IMethodSymbol localFunction)
SymbolUsageAnalysis.DataFlowAnalyzer.cs (2)
30IMethodSymbol lambdaOrLocalFunction, 52IMethodSymbol localFunctionOrLambda,
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (12)
36private readonly Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> _analyzeLocalFunctionOrLambdaInvocation; 55private readonly PooledDictionary<IMethodSymbol, ControlFlowGraph> _localFunctionTargetsToAccessingCfgMap; 79PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 80Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> analyzeLocalFunctionOrLambdaInvocation, 82PooledDictionary<IMethodSymbol, ControlFlowGraph> localFunctionTargetsToAccessingCfgMap, 112protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 119Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> analyzeLocalFunctionOrLambdaInvocation) 132lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(), 135localFunctionTargetsToAccessingCfgMap: PooledDictionary<IMethodSymbol, ControlFlowGraph>.GetInstance(), 141IMethodSymbol lambdaOrLocalFunction, 321ControlFlowGraph TryGetLocalFunctionControlFlowGraphInScope(IMethodSymbol localFunction) 484protected override BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken)
SymbolUsageAnalysis.OperationTreeAnalysisData.cs (7)
21private readonly Func<IMethodSymbol, BasicBlockAnalysisData> _analyzeLocalFunction; 26PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 27Func<IMethodSymbol, BasicBlockAnalysisData> analyzeLocalFunction) 39protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 43Func<IMethodSymbol, BasicBlockAnalysisData> analyzeLocalFunction) 48lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(), 52protected override BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken)
SymbolUsageAnalysis.Walker.cs (1)
317private void AnalyzeLocalFunctionInvocation(IMethodSymbol localFunction)
UseCollectionInitializerAnalyzer.cs (1)
137return addMethods.Any(static m => m is IMethodSymbol methodSymbol && methodSymbol.Parameters.Any());
Microsoft.CodeAnalysis.CodeStyle.Fixes (183)
AbstractAddParameterCodeFixProvider.cs (11)
77if (semanticModel.GetEnclosingSymbol(node.SpanStart, cancellationToken) is IMethodSymbol methodWithDiagnostic) 123var candidates = semanticModel.GetMemberGroup(expression, cancellationToken).OfType<IMethodSymbol>().ToImmutableArray(); 156IMethodSymbol methodSymbol => methodSymbol.ContainingType, // Implicit object creation expressions 187ImmutableArray<IMethodSymbol> methodCandidates) 192foreach (var method in methodCandidates.OrderBy(m => m.Parameters.Length)) 225private static int NonParamsParameterCount(IMethodSymbol method) 299var aMethod = codeFixData.First().Method; // We need to term the MethodGroup and need an arbitrary IMethodSymbol to do so. 330var methodToUpdate = argumentInsertPositionData.MethodToUpdate; 348private static string GetCodeFixTitle(string resourceString, IMethodSymbol methodToUpdate, bool includeParameters) 366IMethodSymbol method, 432IMethodSymbol method,
AbstractCodeGenerationService.cs (7)
54public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 83public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 126protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 148public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 349IMethodSymbol method => CreateMethodDeclaration(method, codeGenerationDestination, info, cancellationToken), 367IMethodSymbol method => AddMethod(currentDestination, method, info, availableIndices, cancellationToken), 447public Task<Document> AddMethodAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken)
AbstractFlagsEnumGenerator.cs (1)
43var ctor = attribute.AttributeConstructor;
AbstractMakeMethodAsynchronousCodeFixProvider.cs (9)
29bool keepVoid, IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes, CancellationToken cancellationToken); 58var methodSymbol = GetMethodSymbol(semanticModel, node, cancellationToken); 87private static IMethodSymbol? GetMethodSymbol(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 91return symbol as IMethodSymbol; 116var methodSymbol = GetMethodSymbol(semanticModel, node, cancellationToken); 158IMethodSymbol methodSymbol, 177var newMethod = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(newNode, cancellationToken); 187IMethodSymbol methodSymbol,
AbstractMakeMethodSynchronousCodeFixProvider.cs (8)
25protected abstract SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes); 58var methodSymbol = (IMethodSymbol?)(semanticModel.GetDeclaredSymbol(node, cancellationToken) ?? semanticModel.GetSymbolInfo(node, cancellationToken).GetAnySymbol()); 73private async Task<Solution> RenameThenRemoveAsyncTokenAsync(Document document, SyntaxNode node, IMethodSymbol methodSymbol, CancellationToken cancellationToken) 89var newMethod = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(newNode, cancellationToken); 97Document document, IMethodSymbol methodSymbol, SyntaxNode node, CancellationToken cancellationToken) 128if (semanticModel.GetDeclaredSymbol(methodDeclaration, cancellationToken) is IMethodSymbol methodSymbol)
AbstractRemoveAsyncModifierCodeFixProvider.cs (5)
45var methodSymbol = GetMethodSymbol(node, semanticModel, cancellationToken); 85var methodSymbol = GetMethodSymbol(node, semanticModel, cancellationToken); 104private static IMethodSymbol? GetMethodSymbol(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 105=> semanticModel.GetSymbolInfo(node, cancellationToken).Symbol as IMethodSymbol ?? 106semanticModel.GetDeclaredSymbol(node, cancellationToken) as IMethodSymbol;
AbstractSemanticFactsService.cs (9)
102protected static IMethodSymbol? FindDisposeMethod(Compilation compilation, ITypeSymbol? type, bool isAsync) 107var methodToLookFor = isAsync 114return impl as IMethodSymbol; 116IMethodSymbol? GetDisposeMethod(string typeName, string methodName) 119return disposableType?.GetMembers().OfType<IMethodSymbol>().FirstOrDefault(m => m.Parameters.Length == 0 && m.Name == methodName); 169public IMethodSymbol GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 172public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 175public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 202public ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken)
AddAccessibilityModifiersHelpers.cs (1)
50if (symbol is IMethodSymbol or IPropertySymbol or IEventSymbol)
AddParameterService.cs (7)
26public static bool HasCascadingDeclarations(IMethodSymbol method) 75IMethodSymbol method, 109foreach (var methodDeclaration in documentLookup) 147private static async Task<ImmutableArray<IMethodSymbol>> FindMethodDeclarationReferencesAsync( 148Document invocationDocument, IMethodSymbol method, CancellationToken cancellationToken) 154.OfType<IMethodSymbol>() 160IMethodSymbol method,
ArgumentInsertPositionData.cs (2)
9public ArgumentInsertPositionData(IMethodSymbol methodToUpdate, TArgumentSyntax argumentToInsert, int argumentInsertionIndex) 16public IMethodSymbol MethodToUpdate { get; }
CodeFixData.cs (2)
14IMethodSymbol method, 26public IMethodSymbol Method { get; }
CodeGenerationAbstractMethodSymbol.cs (10)
20public new IMethodSymbol OriginalDefinition { get; protected set; } 50public abstract IMethodSymbol ConstructedFrom { get; } 53public abstract IMethodSymbol OverriddenMethod { get; } 54public abstract IMethodSymbol ReducedFrom { get; } 56public abstract IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType); 57public abstract ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations { get; } 58public abstract IMethodSymbol PartialDefinitionPart { get; } 59public abstract IMethodSymbol PartialImplementationPart { get; } 111public IMethodSymbol Construct(params ITypeSymbol[] typeArguments) 114public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
CodeGenerationAbstractNamedTypeSymbol.cs (4)
81public abstract IMethodSymbol DelegateInvokeMethod { get; } 86public abstract ImmutableArray<IMethodSymbol> InstanceConstructors { get; } 87public abstract ImmutableArray<IMethodSymbol> StaticConstructors { get; } 88public abstract ImmutableArray<IMethodSymbol> Constructors { get; }
CodeGenerationAttributeData.cs (1)
19protected override IMethodSymbol CommonAttributeConstructor => null;
CodeGenerationConstructedMethodSymbol.cs (7)
69public override IMethodSymbol ConstructedFrom => _constructedFrom; 76public override IMethodSymbol OverriddenMethod 80public override IMethodSymbol ReducedFrom 87public override IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType) 93public override ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations 97public override IMethodSymbol PartialDefinitionPart 101public override IMethodSymbol PartialImplementationPart
CodeGenerationConstructedNamedTypeSymbol.cs (4)
47public override IMethodSymbol DelegateInvokeMethod 60public override ImmutableArray<IMethodSymbol> InstanceConstructors 69public override ImmutableArray<IMethodSymbol> StaticConstructors 78public override ImmutableArray<IMethodSymbol> Constructors
CodeGenerationConstructorInfo.cs (10)
12private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationConstructorInfo> s_constructorToInfoMap = new(); 38IMethodSymbol constructor, 50private static CodeGenerationConstructorInfo? GetInfo(IMethodSymbol method) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 65public static string GetTypeName(IMethodSymbol constructor) 68public static bool GetIsUnsafe(IMethodSymbol constructor) 71public static bool GetIsPrimaryConstructor(IMethodSymbol constructor) 83private static string GetTypeName(CodeGenerationConstructorInfo? info, IMethodSymbol constructor)
CodeGenerationDestructorInfo.cs (6)
14private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationDestructorInfo> s_destructorToInfoMap = 29IMethodSymbol destructor, 37private static CodeGenerationDestructorInfo GetInfo(IMethodSymbol method) 43public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 46public static string GetTypeName(IMethodSymbol destructor) 52private static string GetTypeName(CodeGenerationDestructorInfo info, IMethodSymbol constructor)
CodeGenerationEventSymbol.cs (6)
22public IMethodSymbol? AddMethod { get; } 23public IMethodSymbol? RemoveMethod { get; } 24public IMethodSymbol? RaiseMethod { get; } 34IMethodSymbol? addMethod, 35IMethodSymbol? removeMethod, 36IMethodSymbol? raiseMethod)
CodeGenerationMethodInfo.cs (9)
14private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationMethodInfo> s_methodToInfoMap = 41IMethodSymbol method, 53private static CodeGenerationMethodInfo GetInfo(IMethodSymbol method) 59public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 62public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 65public static bool GetIsNew(IMethodSymbol method) 68public static bool GetIsUnsafe(IMethodSymbol method) 71public static bool GetIsPartial(IMethodSymbol method) 74public static bool GetIsAsyncMethod(IMethodSymbol method)
CodeGenerationMethodSymbol.cs (8)
24public override ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations { get; } 34ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 103public override IMethodSymbol ConstructedFrom => this; 110public override IMethodSymbol OverriddenMethod => null; 112public override IMethodSymbol ReducedFrom => null; 117public override IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType) 120public override IMethodSymbol PartialImplementationPart => null; 122public override IMethodSymbol PartialDefinitionPart => null;
CodeGenerationNamedTypeSymbol.cs (7)
96public override IMethodSymbol DelegateInvokeMethod 101? this.GetMembers(WellKnownMemberNames.DelegateInvokeName).OfType<IMethodSymbol>().FirstOrDefault() 168public override ImmutableArray<IMethodSymbol> InstanceConstructors 174this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)); 178public override ImmutableArray<IMethodSymbol> StaticConstructors 184this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)); 188public override ImmutableArray<IMethodSymbol> Constructors
CodeGenerationPropertySymbol.cs (4)
27public IMethodSymbol GetMethod { get; } 28public IMethodSymbol SetMethod { get; } 41IMethodSymbol getMethod, 42IMethodSymbol setMethod)
CodeGenerationSymbol.cs (2)
86public static IMethodSymbol ContainingMethod => null; 170public ImmutableArray<AttributeData> GetAttributes(IMethodSymbol attributeConstructor)
CodeGenerationSymbolFactory.cs (28)
38IMethodSymbol? addMethod = null, 39IMethodSymbol? removeMethod = null, 40IMethodSymbol? raiseMethod = null) 57IMethodSymbol? getMethod, 58IMethodSymbol? setMethod, 85ImmutableArray<IParameterSymbol> parameters, IMethodSymbol? getMethod, IMethodSymbol? setMethod, 123public static IMethodSymbol CreateConstructorSymbol( 142public static IMethodSymbol CreateDestructorSymbol( 151internal static IMethodSymbol CreateMethodSymbol( 158ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 176public static IMethodSymbol CreateMethodSymbol( 180ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 195public static IMethodSymbol CreateOperatorSymbol( 223public static IMethodSymbol CreateConversionSymbol( 248public static IMethodSymbol CreateConversionSymbol( 358internal static IMethodSymbol CreateAccessorSymbol( 359IMethodSymbol accessor, 362ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default, 384public static IMethodSymbol CreateAccessorSymbol( 472var invokeMethod = CreateMethodSymbol( 512internal static IMethodSymbol CreateMethodSymbol( 513IMethodSymbol method, 517ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default, 551IMethodSymbol? getMethod = null, 552IMethodSymbol? setMethod = null) 575IMethodSymbol? addMethod = null, 576IMethodSymbol? removeMethod = null)
CodeGenerationTypeParameterSymbol.cs (2)
82public IMethodSymbol DeclaringMethod 86return this.ContainingSymbol as IMethodSymbol;
CodeGenerator.cs (1)
44public static Task<Document> AddMethodDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken)
Fixer.cs (2)
61foreach (var candidateSymbol in candidateSymbols.OfType<IMethodSymbol>())
ICodeGenerationService.cs (3)
34SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 64TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144Task<Document> AddMethodAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken);
ISemanticFactsService.cs (1)
49IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
RegisterFixData.cs (3)
12public RegisterFixData() : this(new SeparatedSyntaxList<TArgumentSyntax>(), ImmutableArray<IMethodSymbol>.Empty, false) 16public RegisterFixData(SeparatedSyntaxList<TArgumentSyntax> arguments, ImmutableArray<IMethodSymbol> methodCandidates, bool isConstructorInitializer) 24public ImmutableArray<IMethodSymbol> MethodCandidates { get; }
SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (3)
98var baseHashCode = GetBaseGetHashCodeMethod(containingType); 192public static IMethodSymbol? GetBaseGetHashCodeMethod(INamedTypeSymbol containingType) 205from method in baseType.GetMembers(GetHashCodeName).OfType<IMethodSymbol>()
Microsoft.CodeAnalysis.CSharp (150)
Binder\Semantics\Conversions\Conversion.cs (1)
910public IMethodSymbol? MethodSymbol
Compilation\AwaitExpressionInfo.cs (4)
15public IMethodSymbol? GetAwaiterMethod { get; } 19public IMethodSymbol? GetResultMethod { get; } 23internal AwaitExpressionInfo(IMethodSymbol getAwaiter, IPropertySymbol isCompleted, IMethodSymbol getResult, bool isDynamic)
Compilation\CSharpCompilation.cs (5)
505internal override void ValidateDebugEntryPoint(IMethodSymbol debugEntryPoint, DiagnosticBag diagnostics) 3124IMethodSymbol? debugEntryPoint, 3910protected override IMethodSymbol CommonCreateBuiltinOperator( 4136protected override IMethodSymbol CommonCreateBuiltinOperator( 4222protected override IMethodSymbol? CommonGetEntryPoint(CancellationToken cancellationToken)
Compilation\CSharpSemanticModel.cs (4)
2943public abstract IMethodSymbol GetDeclaredSymbol(CompilationUnitSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 2999public abstract IMethodSymbol GetDeclaredSymbol(BaseMethodDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 3136public abstract IMethodSymbol GetDeclaredSymbol(AccessorDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 3144public abstract IMethodSymbol GetDeclaredSymbol(ArrowExpressionClauseSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken));
Compilation\DeconstructionInfo.cs (1)
34public IMethodSymbol? Method
Compilation\ForEachStatementInfo.cs (6)
23public IMethodSymbol? GetEnumeratorMethod { get; } 28public IMethodSymbol? MoveNextMethod { get; } 38public IMethodSymbol? DisposeMethod { get; } 66IMethodSymbol getEnumeratorMethod, 67IMethodSymbol moveNextMethod, 69IMethodSymbol disposeMethod,
Compilation\MemberSemanticModel.cs (5)
623public override IMethodSymbol GetDeclaredSymbol(CompilationUnitSyntax declarationSyntax, CancellationToken cancellationToken = default) 628public override IMethodSymbol GetDeclaredSymbol(BaseMethodDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 658public override IMethodSymbol GetDeclaredSymbol(AccessorDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 664public override IMethodSymbol GetDeclaredSymbol(ArrowExpressionClauseSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 920getAwaiter: (IMethodSymbol)awaitableInfo.GetAwaiter?.ExpressionSymbol.GetPublicSymbol(),
Compilation\QueryClauseInfo.cs (3)
29/// The operation, when present is implemented via <see cref="IMethodSymbol"/>. 30/// To access the type, when this is non-null use <see cref="IMethodSymbol.TypeArguments"/>[0]. 42/// The clause can be implemented via <see cref="IMethodSymbol"/>, or
Compilation\SpeculativeSemanticModelWithMemberModel.cs (4)
286public override IMethodSymbol GetDeclaredSymbol(CompilationUnitSyntax declarationSyntax, CancellationToken cancellationToken = default) 291public override IMethodSymbol GetDeclaredSymbol(BaseMethodDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 316public override IMethodSymbol GetDeclaredSymbol(AccessorDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 321public override IMethodSymbol GetDeclaredSymbol(ArrowExpressionClauseSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SyntaxTreeSemanticModel.cs (5)
1472public override IMethodSymbol GetDeclaredSymbol(CompilationUnitSyntax declarationSyntax, CancellationToken cancellationToken = default) 1512public override IMethodSymbol GetDeclaredSymbol(BaseMethodDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1573public override IMethodSymbol GetDeclaredSymbol(AccessorDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1603public override IMethodSymbol GetDeclaredSymbol(ArrowExpressionClauseSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 2019method = (GetDeclaredSymbol(memberDecl, cancellationToken) as IMethodSymbol).GetSymbol();
CSharpDeclarationComputer.cs (3)
106if (associatedSymbol is IMethodSymbol ctor) 308if (associatedSymbol is IMethodSymbol) 366var declaredAccessor = getSymbol ? (model.GetDeclaredSymbol(declarationWithExpressionBody, cancellationToken) as IPropertySymbol)?.GetMethod : null;
CSharpExtensions.cs (3)
1328public static IMethodSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, CompilationUnitSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1386public static IMethodSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, BaseMethodDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1467public static IMethodSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, AccessorDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Emitter\Model\FunctionPointerTypeSymbolAdapter.cs (1)
60/// <see cref="FunctionPointerMethodSignature"/>, to hide its implementation of <see cref="IMethodSymbol"/>.
FlowAnalysis\CSharpDataFlowAnalysis.cs (3)
40private ImmutableArray<IMethodSymbol> _usedLocalFunctions; 344public override ImmutableArray<IMethodSymbol> UsedLocalFunctions 395private static ImmutableArray<IMethodSymbol> Normalize(IEnumerable<MethodSymbol> data)
Operations\CSharpOperationFactory.cs (10)
990IMethodSymbol symbol = boundLambda.Symbol.GetPublicSymbol(); 1003IMethodSymbol symbol = boundLocalFunctionStatement.Symbol.GetPublicSymbol(); 1298IMethodSymbol? operatorMethod = method.GetPublicSymbol(); 1325IMethodSymbol? operatorMethod = boundIncrementOperator.MethodOpt.GetPublicSymbol(); 1368IMethodSymbol? operatorMethod = boundUnaryOperator.MethodOpt.GetPublicSymbol(); 1419IMethodSymbol operatorMethod = boundBinaryOperator.LogicalOperator.GetPublicSymbol(); 1420IMethodSymbol unaryOperatorMethod = boundBinaryOperator.OperatorKind.Operator() == CSharp.BinaryOperatorKind.And ? 1443IMethodSymbol? operatorMethod = boundBinaryOperator.Method.GetPublicSymbol(); 1444IMethodSymbol? unaryOperatorMethod = null; 1966legacyMode ? null : new SynthesizedLocal((_semanticModel.GetEnclosingSymbol(boundLockStatement.Syntax.SpanStart) as IMethodSymbol).GetSymbol(),
SymbolDisplay\SymbolDisplayVisitor.cs (1)
330return ((IMethodSymbol)symbol).MethodKind == MethodKind.LocalFunction;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (14)
99var getMethod = property.GetMethod; 105var setMethod = property.SetMethod; 114private static bool ShouldMethodDisplayReadOnly(IMethodSymbol method, IPropertySymbol propertyOpt = null) 187private static bool IsInitOnly(IMethodSymbol symbol) 228var accessor = symbol.AddMethod ?? symbol.RemoveMethod; 271public override void VisitMethod(IMethodSymbol symbol) 584void visitFunctionPointerSignature(IMethodSymbol symbol) 689void addUserDefinedOperatorName(IMethodSymbol symbol, SyntaxKind operatorKind, string operatorName) 733void addUserDefinedConversionName(IMethodSymbol symbol, SyntaxKind conversionKind, string operatorName) 754private static SymbolDisplayPartKind GetPartKindForConstructorOrDestructor(IMethodSymbol symbol) 765private void AddReturnType(IMethodSymbol symbol) 770private void AddTypeParameterConstraints(IMethodSymbol symbol) 778private void AddParameters(IMethodSymbol symbol) 1028private void AddAccessor(IPropertySymbol property, IMethodSymbol method, SyntaxKind keyword)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (3)
246var invokeMethod = symbol.DelegateInvokeMethod; 448var method = symbol.DelegateInvokeMethod; 780typeArguments = ((IMethodSymbol)owner).TypeArguments;
Symbols\Attributes\AttributeData.cs (2)
217/// Gets the constructor used in this application of the attribute as an <see cref="IMethodSymbol"/>. 219protected override IMethodSymbol? CommonAttributeConstructor
Symbols\PublicModel\EventSymbol.cs (3)
40IMethodSymbol? IEventSymbol.AddMethod 48IMethodSymbol? IEventSymbol.RemoveMethod 56IMethodSymbol? IEventSymbol.RaiseMethod
Symbols\PublicModel\FunctionPointerTypeSymbol.cs (1)
21public IMethodSymbol Signature => _underlying.Signature.GetPublicSymbol();
Symbols\PublicModel\LabelSymbol.cs (1)
21IMethodSymbol ILabelSymbol.ContainingMethod
Symbols\PublicModel\MethodSymbol.cs (54)
32MethodKind IMethodSymbol.MethodKind 78ITypeSymbol IMethodSymbol.ReturnType 91CodeAnalysis.NullableAnnotation IMethodSymbol.ReturnNullableAnnotation 99ImmutableArray<ITypeSymbol> IMethodSymbol.TypeArguments 113ImmutableArray<CodeAnalysis.NullableAnnotation> IMethodSymbol.TypeArgumentNullableAnnotations => 116ImmutableArray<ITypeParameterSymbol> IMethodSymbol.TypeParameters 124ImmutableArray<IParameterSymbol> IMethodSymbol.Parameters 132IMethodSymbol IMethodSymbol.ConstructedFrom 140bool IMethodSymbol.IsReadOnly 148bool IMethodSymbol.IsInitOnly 156IMethodSymbol IMethodSymbol.OriginalDefinition 164IMethodSymbol IMethodSymbol.OverriddenMethod 172ITypeSymbol IMethodSymbol.ReceiverType 185CodeAnalysis.NullableAnnotation IMethodSymbol.ReceiverNullableAnnotation => _underlying.ReceiverNullableAnnotation; 187IMethodSymbol IMethodSymbol.ReducedFrom 195ITypeSymbol IMethodSymbol.GetTypeInferredDuringReduction(ITypeParameterSymbol reducedFromTypeParameter) 202IMethodSymbol IMethodSymbol.ReduceExtensionMethod(ITypeSymbol receiverType) 209ImmutableArray<IMethodSymbol> IMethodSymbol.ExplicitInterfaceImplementations 217ISymbol IMethodSymbol.AssociatedSymbol 225bool IMethodSymbol.IsGenericMethod 233bool IMethodSymbol.IsAsync 241bool IMethodSymbol.HidesBaseMethodsByName 249ImmutableArray<CustomModifier> IMethodSymbol.ReturnTypeCustomModifiers 257ImmutableArray<CustomModifier> IMethodSymbol.RefCustomModifiers 265ImmutableArray<AttributeData> IMethodSymbol.GetReturnTypeAttributes() 270SignatureCallingConvention IMethodSymbol.CallingConvention => _underlying.CallingConvention.ToSignatureConvention(); 272ImmutableArray<INamedTypeSymbol> IMethodSymbol.UnmanagedCallingConventionTypes => _underlying.UnmanagedCallingConventionTypes.SelectAsArray(t => t.GetPublicSymbol()); 274IMethodSymbol IMethodSymbol.Construct(params ITypeSymbol[] typeArguments) 279IMethodSymbol IMethodSymbol.Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations) 284IMethodSymbol IMethodSymbol.PartialImplementationPart 292IMethodSymbol IMethodSymbol.PartialDefinitionPart 300bool IMethodSymbol.IsPartialDefinition => _underlying.IsPartialDefinition(); 302INamedTypeSymbol IMethodSymbol.AssociatedAnonymousDelegate 310int IMethodSymbol.Arity => _underlying.Arity; 312bool IMethodSymbol.IsExtensionMethod => _underlying.IsExtensionMethod; 314System.Reflection.MethodImplAttributes IMethodSymbol.MethodImplementationFlags => _underlying.ImplementationAttributes; 316bool IMethodSymbol.IsVararg => _underlying.IsVararg; 318bool IMethodSymbol.IsCheckedBuiltin => _underlying.IsCheckedBuiltin; 320bool IMethodSymbol.ReturnsVoid => _underlying.ReturnsVoid; 322bool IMethodSymbol.ReturnsByRef => _underlying.ReturnsByRef; 324bool IMethodSymbol.ReturnsByRefReadonly => _underlying.ReturnsByRefReadonly; 326RefKind IMethodSymbol.RefKind => _underlying.RefKind; 328bool IMethodSymbol.IsConditional => _underlying.IsConditional; 330DllImportData IMethodSymbol.GetDllImportData() => _underlying.GetDllImportData();
Symbols\PublicModel\NamedTypeSymbol.cs (4)
32ImmutableArray<IMethodSymbol> INamedTypeSymbol.InstanceConstructors 40ImmutableArray<IMethodSymbol> INamedTypeSymbol.StaticConstructors 48ImmutableArray<IMethodSymbol> INamedTypeSymbol.Constructors 107IMethodSymbol INamedTypeSymbol.DelegateInvokeMethod
Symbols\PublicModel\PropertySymbol.cs (2)
51IMethodSymbol IPropertySymbol.GetMethod 56IMethodSymbol IPropertySymbol.SetMethod
Symbols\PublicModel\TypeParameterSymbol.cs (1)
52IMethodSymbol ITypeParameterSymbol.DeclaringMethod
Symbols\Symbol.cs (1)
442/// Even for metadata symbols, <see cref="IsOverride"/> = true does not imply that <see cref="IMethodSymbol.OverriddenMethod"/> will
Symbols\SymbolExtensions.cs (5)
563internal static IMethodSymbol? GetPublicSymbol(this MethodSymbol? symbol) 565return symbol.GetPublicSymbol<IMethodSymbol>(); 738internal static ImmutableArray<IMethodSymbol> GetPublicSymbols(this ImmutableArray<MethodSymbol> symbols) 740return GetPublicSymbols<IMethodSymbol>(StaticCast<Symbol>.From(symbols)); 802internal static MethodSymbol? GetSymbol(this IMethodSymbol? symbol)
Microsoft.CodeAnalysis.CSharp.CodeStyle (90)
CastSimplifier.cs (8)
570if (memberSymbol is not IMethodSymbol methodSymbol) 577for (var current = methodSymbol; current != null; current = current.OverriddenMethod) 812if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op) 1027if (oldSymbolInfo is IMethodSymbol method && 1198if (originalMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } originalMethodSymbol || 1199rewrittenMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } rewrittenMethodSymbol) 1273if (originalMemberSymbol is IMethodSymbol originalMethodSymbol && 1274rewrittenMemberSymbol is IMethodSymbol rewrittenMethodSymbol)
ConvertProgramAnalysis_ProgramMain.cs (1)
43if (programType.GetMembers(WellKnownMemberNames.TopLevelStatementsEntryPointMethodName).FirstOrDefault() is not IMethodSymbol)
ConvertProgramAnalysis_TopLevelStatements.cs (2)
77var entryPointMethod = semanticModel.Compilation.GetEntryPoint(cancellationToken); 81var thisMethod = semanticModel.GetDeclaredSymbol(methodDeclaration);
CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
81if (context.OwningSymbol is IMethodSymbol { MethodKind: MethodKind.Constructor })
CSharpMakeStructMemberReadOnlyAnalyzer.cs (5)
72if (context.OwningSymbol is not IMethodSymbol 123IMethodSymbol owningMethod, 155IMethodSymbol owningMethod, 236IMethodSymbol owningMethod, 238IMethodSymbol methodReference)
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (7)
131if (lambdaSymbolInfo.Symbol is not IMethodSymbol lambdaMethod) 135if (invokedSymbolInfo.Symbol is not IMethodSymbol invokedMethod) 188if (rewrittenSymbolInfo.Symbol is not IMethodSymbol rewrittenMethod || 229var method1 = semanticModel1.GetSymbolInfo(node1, cancellationToken).Symbol as IMethodSymbol; 230var method2 = semanticModel2.GetSymbolInfo(node2, cancellationToken).Symbol as IMethodSymbol;
CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
29protected override bool MethodHasHandlesClause(IMethodSymbol method)
CSharpSemanticFacts.cs (13)
65if (symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }) 188public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 199public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 203using var builder = TemporaryArray<IMethodSymbol>.Empty; 208return ImmutableArray<IMethodSymbol>.Empty; 211public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 215using var builder = TemporaryArray<IMethodSymbol>.Empty; 220return ImmutableArray<IMethodSymbol>.Empty; 223private static void FlattenDeconstructionMethods(DeconstructionInfo deconstruction, ref TemporaryArray<IMethodSymbol> builder) 225var method = deconstruction.Method; 368public ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken) 370using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var builder); 379if (localFunctionSymbol is IMethodSymbol methodSymbol)
CSharpUseAutoPropertyAnalyzer.cs (3)
154protected override ExpressionSyntax? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken) 171private static ExpressionSyntax? GetGetterExpressionFromSymbol(IMethodSymbol getMethod, CancellationToken cancellationToken) 188IMethodSymbol setMethod, SemanticModel semanticModel, CancellationToken cancellationToken)
CSharpUseImplicitTypeHelper.cs (2)
234var method = memberGroup[0] as IMethodSymbol;
CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
161IMethodSymbol? targetMethod, 214private static IPropertySymbol? TryGetLengthLikeProperty(InfoCache infoCache, IMethodSymbol? targetMethod)
CSharpUseIndexOperatorDiagnosticAnalyzer.InfoCache.cs (4)
35private readonly ConcurrentDictionary<IMethodSymbol, MemberInfo> _methodToMemberInfo = new(); 56public bool TryGetMemberInfo(IMethodSymbol methodSymbol, out MemberInfo memberInfo) 68private MemberInfo ComputeMemberInfo(IMethodSymbol method) 96var overloadedIndexMethod = GetOverload(method, IndexType);
CSharpUseRangeOperatorDiagnosticAnalyzer.cs (5)
124var targetMethod = invocation.TargetMethod; 151var targetMethod = invocation.TargetMethod; 163IMethodSymbol targetMethod) 212IMethodSymbol targetMethod) 240private static bool IsValidIndexing(IInvocationOperation invocation, InfoCache infoCache, IMethodSymbol targetMethod)
CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs (13)
31private readonly ConcurrentDictionary<IMethodSymbol, MemberInfo> _methodToMemberInfo = new(); 46var substringMethod = stringType.GetMembers(nameof(string.Substring)) 47.OfType<IMethodSymbol>() 69private static IMethodSymbol? GetSliceLikeMethod(INamedTypeSymbol namedType) 71.OfType<IMethodSymbol>() 75public bool TryGetMemberInfo(IMethodSymbol method, out MemberInfo memberInfo) 87public bool TryGetMemberInfoOneArgument(IMethodSymbol method, out MemberInfo memberInfo) 101var overloadWithTwoArguments = method.ContainingType 103.OfType<IMethodSymbol>() 122private MemberInfo ComputeMemberInfo(IMethodSymbol sliceLikeMethod, bool requireRangeMember) 156var actualSliceMethod = 158.OfType<IMethodSymbol>() 168var overloadedRangeMethod = GetOverload(sliceLikeMethod, RangeType);
CSharpUseRangeOperatorDiagnosticAnalyzer.Result.cs (2)
27public readonly IMethodSymbol SliceLikeMethod; 40IMethodSymbol sliceLikeMethod,
ExpressionSyntaxExtensions.cs (2)
370if (symbol is IMethodSymbol 520return symbolInfo.GetBestOrAllSymbols().Any() && !symbolInfo.GetBestOrAllSymbols().Any(static s => s is IMethodSymbol);
Helpers.cs (6)
68public static bool IsIntIndexingMethod(IMethodSymbol method) 84public static bool IsTwoArgumentSliceLikeMethod(IMethodSymbol method) 102public static bool IsOneArgumentSliceLikeMethod(IMethodSymbol method) 142public static IMethodSymbol? GetOverload(IMethodSymbol method, ITypeSymbol parameterType) 146.OfType<IMethodSymbol>()
InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
304if (initializerSymbol is IMethodSymbol)
MemberInfo.cs (2)
21public readonly IMethodSymbol? OverloadedMethodOpt; 25IMethodSymbol? overloadedMethodOpt)
SemanticModelExtensions.cs (1)
437if (semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol is IMethodSymbol member && index < member.Parameters.Length)
SpeculationAnalyzer.cs (1)
812protected override void GetForEachSymbols(SemanticModel model, CommonForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType)
SyntaxNodeExtensions.cs (1)
1010if (symbol is IMethodSymbol method &&
TypeStyleHelper.cs (5)
104if (semanticModel.GetSymbolInfo(memberName, cancellationToken).Symbol is not IMethodSymbol methodSymbol) 118private static bool IsPossibleCreationOrConversionMethod(IMethodSymbol methodSymbol, 143private static bool IsPossibleCreationMethod(IMethodSymbol methodSymbol, 159private static bool IsPossibleConversionMethod(IMethodSymbol methodSymbol) 175private static bool IsContainerTypeEqualToReturnType(IMethodSymbol methodSymbol,
UseExpressionBodyForLocalFunctionHelper.cs (1)
61return symbol is IMethodSymbol methodSymbol &&
UseExpressionBodyForMethodsHelper.cs (1)
60var method = semanticModel.GetDeclaredSymbol(declaration);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (108)
ConstructorGenerator.cs (5)
27IMethodSymbol constructor, 43IMethodSymbol constructor, 89IMethodSymbol constructor) 107IMethodSymbol constructor) 116private static SyntaxTokenList GenerateModifiers(IMethodSymbol constructor, CSharpCodeGenerationContextInfo info)
ConversionGenerator.cs (3)
20IMethodSymbol method, 32IMethodSymbol method, 43IMethodSymbol method,
ConvertToRecordEngine.cs (6)
93var constructorSymbol = (IMethodSymbol)semanticModel 177var constructorSymbol = (IMethodSymbol)semanticModel 244var methodSymbol = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(method, cancellationToken);
ConvertToRecordHelpers.cs (10)
24IMethodSymbol methodSymbol, 45TargetMethod: IMethodSymbol { Name: nameof(Equals) }, 76IMethodSymbol methodSymbol, 373Constructor: IMethodSymbol { IsImplicitlyDeclared: true } 493IMethodSymbol methodSymbol) 1098private static bool OverridesEquals(Compilation compilation, IMethodSymbol equals, INamedTypeSymbol? equatableType) 1101equatableType.GetMembers(nameof(Equals)).FirstOrDefault() is IMethodSymbol equatableEquals && 1108var objectEquals = objectType?.GetMembers(nameof(Equals)).FirstOrDefault() as IMethodSymbol; 1109var curr = equals;
CSharpAddParameterCodeFixProvider.cs (1)
64if (semanticModel.GetDeclaredSymbol(constructorDeclaration, cancellationToken) is IMethodSymbol constructorSymbol)
CSharpAddYieldCodeFixProvider.cs (1)
111if (symbol is not IMethodSymbol method || method.ReturnsVoid)
CSharpChangeToIEnumerableCodeFixProvider.cs (2)
45var methodSymbol = model.GetDeclaredSymbol(node, cancellationToken) as IMethodSymbol;
CSharpCodeGenerationService.cs (4)
117protected override TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 201var getMethod = property.GetMethod; 216var setMethod = property.SetMethod; 651IMethodSymbol method, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
CSharpConvertToAsyncMethodCodeFixProvider.cs (1)
75if (semanticModel.GetSymbolInfo(invocationExpression, cancellationToken).Symbol is not IMethodSymbol methodSymbol)
CSharpDeclareAsNullableCodeFixProvider.cs (2)
235if (symbol is not IMethodSymbol method || method.PartialImplementationPart is not null) 323parameterSymbol.ContainingSymbol is IMethodSymbol method &&
CSharpMakeMemberRequiredCodeFixProvider.cs (1)
64var setMethod = propertySymbol.SetMethod;
CSharpMakeMethodAsynchronousCodeFixProvider.cs (5)
73IMethodSymbol methodSymbol, 89IMethodSymbol methodSymbol, 101IMethodSymbol methodSymbol, 113IMethodSymbol methodSymbol, 166private static bool IsIterator(IMethodSymbol method, CancellationToken cancellationToken)
CSharpMakeMethodSynchronousCodeFixProvider.cs (4)
34protected override SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes) 46private static SyntaxNode FixMethod(IMethodSymbol methodSymbol, MethodDeclarationSyntax method, KnownTypes knownTypes) 52private static SyntaxNode FixLocalFunction(IMethodSymbol methodSymbol, LocalFunctionStatementSyntax localFunction, KnownTypes knownTypes) 58private static TypeSyntax FixMethodReturnType(IMethodSymbol methodSymbol, TypeSyntax returnTypeSyntax, KnownTypes knownTypes)
CSharpSemanticFactsService.cs (1)
122public IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
CSharpTypeInferenceService.TypeInferrer.cs (15)
112if (allSymbols is [IMethodSymbol method]) 394var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 468var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 476argumentOpt == null && info.Symbol is IMethodSymbol method && method.Parameters.All(p => p.IsOptional || p.IsParams)) 480.OfType<IMethodSymbol>(); 555var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 584private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgument(int index, IEnumerable<IMethodSymbol> methods, AttributeArgumentSyntax argumentOpt = null) 587private IEnumerable<TypeInferenceInfo> InferTypeInArgument(int index, IEnumerable<IMethodSymbol> methods, ArgumentSyntax argumentOpt, InvocationExpressionSyntax parentInvocationExpressionToTypeInfer) 612private IMethodSymbol Instantiate(IMethodSymbol method, IList<ITypeSymbol> invocationTypes) 1339.Cast<IMethodSymbol>() 1357.Cast<IMethodSymbol>() 1447var addMethodParameterTypes = addMethodSymbols.Select(m => ((IMethodSymbol)m).Parameters[0]).Select(p => new TypeInferenceInfo(p.Type)); 1654var invoke = type.DelegateInvokeMethod; 2089var isAsync = symbol is IMethodSymbol methodSymbol && methodSymbol.IsAsync;
CSharpUseLocalFunctionCodeFixProvider.cs (5)
163IMethodSymbol delegateMethod, ParameterListSyntax parameterList, bool makeStatic) 208IMethodSymbol delegateMethod, 248SyntaxGenerator generator, AnonymousFunctionExpressionSyntax anonymousFunction, IMethodSymbol delegateMethod) 292private static InvocationExpressionSyntax WithNewParameterNames(InvocationExpressionSyntax invocation, IMethodSymbol method, ParameterListSyntax newParameterList) 317private static int TryDetermineParameterIndex(NameColonSyntax argumentNameColon, IMethodSymbol method)
DestructorGenerator.cs (3)
23IMethodSymbol destructor, 39IMethodSymbol destructor, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 63IMethodSymbol constructor)
EventGenerator.cs (4)
152IMethodSymbol? accessor, 164IMethodSymbol accessor, 173private static BlockSyntax GenerateBlock(IMethodSymbol accessor) 182IMethodSymbol? accessor)
ITypeSymbolExtensions.cs (1)
151public static bool TryGetRecordPrimaryConstructor(this INamedTypeSymbol typeSymbol, [NotNullWhen(true)] out IMethodSymbol? primaryConstructor)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (3)
1025IMethodSymbol m => m.Arity > 0, 2008while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method) 2836if (symbol is IMethodSymbol)
MethodGenerator.cs (12)
29IMethodSymbol method, 42IMethodSymbol method, 57IMethodSymbol method, 72IMethodSymbol method, CodeGenerationDestination destination, 90IMethodSymbol method, 109IMethodSymbol method, CodeGenerationDestination destination, 138IMethodSymbol method, CodeGenerationDestination destination, 193IMethodSymbol method, CSharpCodeGenerationContextInfo info, bool isExplicit) 207IMethodSymbol method) 214private static SyntaxList<TypeParameterConstraintClauseSyntax> GenerateDefaultConstraints(IMethodSymbol method) 247IMethodSymbol method, CSharpCodeGenerationContextInfo info) 253IMethodSymbol method, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info)
NamedTypeGenerator.cs (3)
109var primaryConstructor = members.OfType<IMethodSymbol>().FirstOrDefault(m => CodeGenerationConstructorInfo.GetIsPrimaryConstructor(m)); 227var invokeMethod = namedType.DelegateInvokeMethod;
OperatorGenerator.cs (4)
23IMethodSymbol method, 35IMethodSymbol method, 72IMethodSymbol method, 106private static SyntaxTokenList GenerateModifiers(IMethodSymbol method, CodeGenerationDestination destination, bool hasNoBody)
ParameterGenerator.cs (1)
80parameter.ContainingSymbol is IMethodSymbol methodSymbol &&
PositionalParameterInfo.cs (4)
57.Any(symbol => symbol.SetMethod is IMethodSymbol { IsInitOnly: true }); 80if (baseType != null && baseType.TryGetRecordPrimaryConstructor(out var basePrimary)) 160var getAccessor = propertySymbol.GetMethod; 161var setAccessor = propertySymbol.SetMethod;
PropertyGenerator.cs (5)
274IMethodSymbol? accessor, 287IMethodSymbol accessor, 302private static BlockSyntax GenerateBlock(IMethodSymbol accessor) 311IMethodSymbol? accessor) 321IMethodSymbol accessor,
StatementGenerator.cs (1)
18internal static BlockSyntax GenerateBlock(IMethodSymbol method)
TypeSyntaxExtensions.cs (1)
55public static TypeSyntax GenerateReturnTypeSyntax(this IMethodSymbol method)
Microsoft.CodeAnalysis.CSharp.EditorFeatures (6)
EventHookup\EventHookupCommandHandler_TabKeyCommand.cs (3)
238var generatedMethodSymbol = GetMethodSymbol(document, eventHandlerMethodName, eventHookupExpression, cancellationToken); 254private static IMethodSymbol GetMethodSymbol( 277var delegateInvokeMethod = delegateType.DelegateInvokeMethod.RemoveInaccessibleAttributesAndAttributesOfTypes(semanticDocument.SemanticModel.Compilation.Assembly);
GoToBase\CSharpGoToBaseService.cs (3)
26protected override async Task<IMethodSymbol?> FindNextConstructorInChainAsync( 27Solution solution, IMethodSymbol constructor, CancellationToken cancellationToken) 41return semanticModel.GetSymbolInfo(constructorDeclaration.Initializer, cancellationToken).GetAnySymbol() as IMethodSymbol;
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (49)
EditAndContinue\TopLevelEditingTests.cs (30)
2939SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3056SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3091SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3178SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3199SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3234SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3255SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3277SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3299SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3389SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3413SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3487SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3511SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3602SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3643SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 6372SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("M"), preserveLocalVariables: false), 6426SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F"), preserveLocalVariables: false) 6821SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F"))); 6836SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F"))); 6877SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("S").GetMember<IMethodSymbol>("M"))); 7812SemanticEdit(SemanticEditKind.Insert, c => ((IMethodSymbol)c.GetMembers("C.M").FirstOrDefault(m => m.GetParameterCount() == 3)?.ISymbol)?.PartialImplementationPart) 9206semanticEdits: new[] { SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F").PartialImplementationPart) }), 9224semanticEdits: new[] { SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F").PartialImplementationPart) }), 9247SemanticEdit(SemanticEditKind.Delete, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F"), deletedSymbolContainerProvider: c => c.GetMember("C")) 9270SemanticEdit(SemanticEditKind.Delete, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F")?.PartialImplementationPart, deletedSymbolContainerProvider: c => c.GetMember("C")) 9296semanticEdits: new[] { SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F").PartialImplementationPart) }) 9316semanticEdits: new[] { SemanticEdit(SemanticEditKind.Insert, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F").PartialImplementationPart) }), 10978SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("C").PartialImplementationPart)); 11000SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F")), 11022SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("F")),
PdbSourceDocument\PdbSourceDocumentTests.cs (1)
105await TestAsync(pdbLocation, sourceLocation, source, c => c.GetMember<IMethodSymbol>("C.M").Parameters.First());
SymbolKey\SymbolKeyCompilationsTests.cs (6)
129var definition = type.GetMembers("M").First() as IMethodSymbol; 130var implementation = definition.PartialImplementationPart; 155var definition = type.GetMembers("M").First() as IMethodSymbol; 156var implementation = definition.PartialImplementationPart;
SymbolKey\SymbolKeyMetadataVsSourceTests.cs (7)
82var member04 = (typesym.GetMembers("M").Single() as IMethodSymbol).Parameters[0].Type; 235var mem20_1 = typeA.GetMembers("GetFileInfo").Single() as IMethodSymbol; 236var mem20_2 = typeA.GetMembers("PrintInfo").Single() as IMethodSymbol; 250var mem40 = typeTest.GetMembers("Main").Single() as IMethodSymbol;
SymbolKey\SymbolKeyTestBase.cs (3)
124internal static List<BlockSyntax> GetBlockSyntaxList(IMethodSymbol symbol) 231var method = (IMethodSymbol)memberSymbol;
SymbolKey\SymbolKeyTests.cs (2)
169var method = type.GetMembers("GetValue").OfType<IMethodSymbol>().Single();
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (61)
CodeGen\CodeGenFunctionPointersTests.cs (2)
7407var lambdaSymbol = (IMethodSymbol)info.Symbol!;
CodeGen\CodeGenLocalFunctionTests.cs (16)
23public static IMethodSymbol FindLocalFunction(this CompilationVerifier verifier, string localFunctionName) 27IMethodSymbol result = null; 2593var goo = verify.FindLocalFunction("Goo"); 2610var goo = verify.FindLocalFunction("Goo"); 2717var outer = verify.FindLocalFunction("Outer"); 2718var inner = verify.FindLocalFunction("Inner"); 3132var goo = verify.FindLocalFunction("Goo"); 3157var goo = verify.FindLocalFunction("Goo"); 3158var bar = verify.FindLocalFunction("Bar"); 3201var inner = verify.FindLocalFunction("Inner"); 3202var middle = verify.FindLocalFunction("Middle"); 3203var outer = verify.FindLocalFunction("Outer"); 3275var goo = verify.FindLocalFunction("Goo"); 3310var goo = verify.FindLocalFunction("Goo"); 3311var bar = verify.FindLocalFunction("Bar"); 4239var goo = verify.FindLocalFunction("Local");
CodeGen\CodeGenTupleTest.cs (34)
14237var m1Tuple = (INamedTypeSymbol)test.GetMember<IMethodSymbol>("M1").ReturnType; 14242m1Tuple = (INamedTypeSymbol)test.GetMember<IMethodSymbol>("M1").Parameters[0].Type; 14253m1Tuple = (INamedTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType; 14260m1Tuple = (INamedTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).Parameters[0].Type; 14269var m2Tuple = (INamedTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType; 14304var m3TupleArray = (IArrayTypeSymbol)test.GetMember<IMethodSymbol>("M3").ReturnType; 14314m3TupleArray = (IArrayTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType; 14322var m4TupleList = (INamedTypeSymbol)test.GetMember<IMethodSymbol>("M4").ReturnType; 14332m4TupleList = (INamedTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType; 14339var m5Tuple = ((IMethodSymbol)symbolInfo.Symbol).TypeParameters[0].ConstraintTypes.Single(); 14346var m6Method = (IMethodSymbol)symbolInfo.Symbol; 14448var m5TuplePointer = (IPointerTypeSymbol)test.GetMember<IMethodSymbol>("M5").ReturnType; 14455m5TuplePointer = (IPointerTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType; 19668Assert.Equal("(System.Int32 a, System.Int32)", ((IMethodSymbol)invocation1.Symbol).ReturnType.ToTestDisplayString()); 19671Assert.Equal("(System.Int32, System.Int32)", ((IMethodSymbol)invocation2.Symbol).ReturnType.ToTestDisplayString()); 19674Assert.Equal("(System.Int32, System.Int32)[]", ((IMethodSymbol)invocation3.Symbol).ReturnType.ToTestDisplayString()); 20506var cMabImplementations = ((IMethodSymbol)c.GetMember("I1<(System.Int32a,System.Int32b)>.M")).ExplicitInterfaceImplementations; 20509var cMcdImplementations = ((IMethodSymbol)c.GetMember("I1<(System.Int32c,System.Int32d)>.M")).ExplicitInterfaceImplementations; 20720var cMabImplementations = ((IMethodSymbol)c.GetMember("I1<(Ta,Tb)>.M")).ExplicitInterfaceImplementations; 20723var cMcdImplementations = ((IMethodSymbol)c.GetMember("I1<(Tc,Td)>.M")).ExplicitInterfaceImplementations; 20765var cMabImplementations = ((IMethodSymbol)c.GetMember("I1<(Ta,Tb)>.M")).ExplicitInterfaceImplementations; 20768var cMcdImplementations = ((IMethodSymbol)c.GetMember("I1<(Uc,Ud)>.M")).ExplicitInterfaceImplementations; 23536var m = (IMethodSymbol)(comp.Compilation.GetTypeByMetadataName("ConsoleApplication5.C2").GetMembers("Goo").First()); 23539var b = m.OverriddenMethod; 26335var doSymbol = (IMethodSymbol)model.GetSymbolInfo(doSyntax).Symbol; 26368var doSymbol = (IMethodSymbol)model.GetSymbolInfo(doSyntax).Symbol; 26401var doSymbol = (IMethodSymbol)model.GetSymbolInfo(doSyntax).Symbol; 26434var doSymbol = (IMethodSymbol)model.GetSymbolInfo(doSyntax).Symbol;
CodeGen\IndexAndRangeTests.cs (6)
37private static void VerifyIndexCall(IMethodSymbol symbol, string methodName, string containingTypeName) 883var substringCall = (IMethodSymbol)info.Symbol; 885var sliceCall = (IMethodSymbol)info.Symbol; 921VerifyIndexCall((IMethodSymbol)model.GetSymbolInfo(accesses[0]).Symbol, "Slice", "Span");
Emit\EditAndContinue\EditAndContinueTests.cs (1)
1942Edit(SemanticEditKind.Update, c => c.GetMember<IMethodSymbol>("C.M").PartialImplementationPart)
Emit\InAttributeModifierTests.cs (2)
50var m = (IMethodSymbol)comp.GetMember("TestRef.M");
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (3)
Attributes\AttributeTests.cs (1)
711var m0 = semanticModel.GetDeclaredSymbol(root.DescendantNodes().OfType<MethodDeclarationSyntax>().Last());
Diagnostics\DiagnosticAnalyzerTests.cs (2)
839var method = ((IMethodSymbol)ctxt.Symbol);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
TypeParameterChecker.cs (1)
33public override IParameterSymbol GetThisParameter(IMethodSymbol method)
Microsoft.CodeAnalysis.CSharp.Features (253)
AddImport\CSharpAddImportFeatureService.cs (1)
606protected override bool IsViableExtensionMethod(IMethodSymbol method, SyntaxNode expression, SemanticModel semanticModel, ISyntaxFacts syntaxFacts, CancellationToken cancellationToken)
ChangeSignature\CSharpChangeSignatureService.cs (4)
416symbolInfo.Symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }, 841IMethodSymbol symbol, 911protected override bool TryGetRecordPrimaryConstructor(INamedTypeSymbol typeSymbol, [NotNullWhen(true)] out IMethodSymbol? primaryConstructor) 918namedTypeSymbol.TryGetRecordPrimaryConstructor(out var primaryConstructor))
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (5)
86var declaredSymbol = (IMethodSymbol)semanticModel.GetDeclaredSymbol(localFunction, cancellationToken); 126var methodSymbol = CodeGenerationSymbolFactory.CreateMethodSymbol( 172var symbol = semanticModel.GetSymbolInfo(node, cancellationToken).Symbol as IMethodSymbol;
CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.cs (1)
199if (semanticModel.GetSymbolInfo(o, cancellationToken).Symbol is IMethodSymbol { IsConditional: true })
Completion\CompletionProviders\CrefCompletionProvider.cs (1)
309(symbol is IMethodSymbol && groupCount >= 2))
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (6)
138.OfType<IMethodSymbol>() 305foreach (var overload in overloads) 320static ImmutableArray<IMethodSymbol> GetOverloads(INamedTypeSymbol namedType, BaseMethodDeclarationSyntax baseMethod) 324MethodDeclarationSyntax method => namedType.GetMembers(method.Identifier.ValueText).OfType<IMethodSymbol>().ToImmutableArray(), 325ConstructorDeclarationSyntax constructor => namedType.GetMembers(WellKnownMemberNames.InstanceConstructorName).OfType<IMethodSymbol>().ToImmutableArray(), 326_ => ImmutableArray<IMethodSymbol>.Empty
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.CompletionSymbolDisplay.cs (4)
22IMethodSymbol methodSymbol => ToDisplayString(methodSymbol), 52private static string ToDisplayString(IMethodSymbol symbol) 77static void AppendOperatorKeywords(IMethodSymbol symbol, StringBuilder builder) 109private static void AddTypeArguments(IMethodSymbol symbol, StringBuilder builder)
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
259var methodGroup = semanticModel.GetMemberGroup(invocationExpression.Expression, cancellationToken).OfType<IMethodSymbol>();
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider.cs (1)
139AddConversion(context, semanticModel, position, (IMethodSymbol)symbol);
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Conversions.cs (2)
39private static void AddConversion(CompletionContext context, SemanticModel semanticModel, int position, IMethodSymbol conversion) 58CompletionContext context, IMethodSymbol conversion)
Completion\CompletionProviders\PartialMethodCompletionProvider.cs (3)
37protected override bool IncludeAccessibility(IMethodSymbol method, CancellationToken cancellationToken) 83protected override bool IsPartial(IMethodSymbol method) 141protected override string GetDisplayText(IMethodSymbol method, SemanticModel semanticModel, int position)
Completion\CompletionProviders\XmlDocCommentCompletionProvider.cs (1)
373namedTypeSymbol.TryGetRecordPrimaryConstructor(out var primaryConstructor))
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (1)
248semanticModel.GetSymbolInfo(memberAccessExpression, cancellationToken).Symbol is IMethodSymbol methodSymbol &&
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (3)
308if (_semanticModel.GetSymbolInfo(invocationExpression, _cancellationToken).Symbol is IMethodSymbol methodSymbol && 347if (_semanticModel.GetSymbolInfo(invocationExpression, _cancellationToken).Symbol is IMethodSymbol methodSymbol && 749if (declaredSymbol is not IMethodSymbol methodSymbol)
ConvertProgram\ConvertProgramTransform_ProgramMain.cs (2)
40if (programType.GetMembers(WellKnownMemberNames.TopLevelStatementsEntryPointMethodName).FirstOrDefault() is IMethodSymbol mainMethod) 77IMethodSymbol mainMethod,
ConvertProgramAnalysis_ProgramMain.cs (1)
43if (programType.GetMembers(WellKnownMemberNames.TopLevelStatementsEntryPointMethodName).FirstOrDefault() is not IMethodSymbol)
ConvertProgramAnalysis_TopLevelStatements.cs (2)
77var entryPointMethod = semanticModel.Compilation.GetEntryPoint(cancellationToken); 81var thisMethod = semanticModel.GetDeclaredSymbol(methodDeclaration);
ConvertToRecordEngine.cs (6)
93var constructorSymbol = (IMethodSymbol)semanticModel 177var constructorSymbol = (IMethodSymbol)semanticModel 244var methodSymbol = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(method, cancellationToken);
ConvertToRecordHelpers.cs (10)
24IMethodSymbol methodSymbol, 45TargetMethod: IMethodSymbol { Name: nameof(Equals) }, 76IMethodSymbol methodSymbol, 373Constructor: IMethodSymbol { IsImplicitlyDeclared: true } 493IMethodSymbol methodSymbol) 1098private static bool OverridesEquals(Compilation compilation, IMethodSymbol equals, INamedTypeSymbol? equatableType) 1101equatableType.GetMembers(nameof(Equals)).FirstOrDefault() is IMethodSymbol equatableEquals && 1108var objectEquals = objectType?.GetMembers(nameof(Equals)).FirstOrDefault() as IMethodSymbol; 1109var curr = equals;
CSharpAddParameterCodeFixProvider.cs (1)
64if (semanticModel.GetDeclaredSymbol(constructorDeclaration, cancellationToken) is IMethodSymbol constructorSymbol)
CSharpAddYieldCodeFixProvider.cs (1)
111if (symbol is not IMethodSymbol method || method.ReturnsVoid)
CSharpChangeToIEnumerableCodeFixProvider.cs (2)
45var methodSymbol = model.GetDeclaredSymbol(node, cancellationToken) as IMethodSymbol;
CSharpConvertToAsyncMethodCodeFixProvider.cs (1)
75if (semanticModel.GetSymbolInfo(invocationExpression, cancellationToken).Symbol is not IMethodSymbol methodSymbol)
CSharpDeclarationComputer.cs (3)
106if (associatedSymbol is IMethodSymbol ctor) 308if (associatedSymbol is IMethodSymbol) 366var declaredAccessor = getSymbol ? (model.GetDeclaredSymbol(declarationWithExpressionBody, cancellationToken) as IPropertySymbol)?.GetMethod : null;
CSharpDeclareAsNullableCodeFixProvider.cs (2)
235if (symbol is not IMethodSymbol method || method.PartialImplementationPart is not null) 323parameterSymbol.ContainingSymbol is IMethodSymbol method &&
CSharpMakeMemberRequiredCodeFixProvider.cs (1)
64var setMethod = propertySymbol.SetMethod;
CSharpMakeMethodAsynchronousCodeFixProvider.cs (5)
73IMethodSymbol methodSymbol, 89IMethodSymbol methodSymbol, 101IMethodSymbol methodSymbol, 113IMethodSymbol methodSymbol, 166private static bool IsIterator(IMethodSymbol method, CancellationToken cancellationToken)
CSharpMakeMethodSynchronousCodeFixProvider.cs (4)
34protected override SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes) 46private static SyntaxNode FixMethod(IMethodSymbol methodSymbol, MethodDeclarationSyntax method, KnownTypes knownTypes) 52private static SyntaxNode FixLocalFunction(IMethodSymbol methodSymbol, LocalFunctionStatementSyntax localFunction, KnownTypes knownTypes) 58private static TypeSyntax FixMethodReturnType(IMethodSymbol methodSymbol, TypeSyntax returnTypeSyntax, KnownTypes knownTypes)
CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
81if (context.OwningSymbol is IMethodSymbol { MethodKind: MethodKind.Constructor })
CSharpMakeStructMemberReadOnlyAnalyzer.cs (5)
72if (context.OwningSymbol is not IMethodSymbol 123IMethodSymbol owningMethod, 155IMethodSymbol owningMethod, 236IMethodSymbol owningMethod, 238IMethodSymbol methodReference)
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (7)
131if (lambdaSymbolInfo.Symbol is not IMethodSymbol lambdaMethod) 135if (invokedSymbolInfo.Symbol is not IMethodSymbol invokedMethod) 188if (rewrittenSymbolInfo.Symbol is not IMethodSymbol rewrittenMethod || 229var method1 = semanticModel1.GetSymbolInfo(node1, cancellationToken).Symbol as IMethodSymbol; 230var method2 = semanticModel2.GetSymbolInfo(node2, cancellationToken).Symbol as IMethodSymbol;
CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
29protected override bool MethodHasHandlesClause(IMethodSymbol method)
CSharpUseAutoPropertyAnalyzer.cs (3)
154protected override ExpressionSyntax? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken) 171private static ExpressionSyntax? GetGetterExpressionFromSymbol(IMethodSymbol getMethod, CancellationToken cancellationToken) 188IMethodSymbol setMethod, SemanticModel semanticModel, CancellationToken cancellationToken)
CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
161IMethodSymbol? targetMethod, 214private static IPropertySymbol? TryGetLengthLikeProperty(InfoCache infoCache, IMethodSymbol? targetMethod)
CSharpUseIndexOperatorDiagnosticAnalyzer.InfoCache.cs (4)
35private readonly ConcurrentDictionary<IMethodSymbol, MemberInfo> _methodToMemberInfo = new(); 56public bool TryGetMemberInfo(IMethodSymbol methodSymbol, out MemberInfo memberInfo) 68private MemberInfo ComputeMemberInfo(IMethodSymbol method) 96var overloadedIndexMethod = GetOverload(method, IndexType);
CSharpUseLocalFunctionCodeFixProvider.cs (5)
163IMethodSymbol delegateMethod, ParameterListSyntax parameterList, bool makeStatic) 208IMethodSymbol delegateMethod, 248SyntaxGenerator generator, AnonymousFunctionExpressionSyntax anonymousFunction, IMethodSymbol delegateMethod) 292private static InvocationExpressionSyntax WithNewParameterNames(InvocationExpressionSyntax invocation, IMethodSymbol method, ParameterListSyntax newParameterList) 317private static int TryDetermineParameterIndex(NameColonSyntax argumentNameColon, IMethodSymbol method)
CSharpUseRangeOperatorDiagnosticAnalyzer.cs (5)
124var targetMethod = invocation.TargetMethod; 151var targetMethod = invocation.TargetMethod; 163IMethodSymbol targetMethod) 212IMethodSymbol targetMethod) 240private static bool IsValidIndexing(IInvocationOperation invocation, InfoCache infoCache, IMethodSymbol targetMethod)
CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs (13)
31private readonly ConcurrentDictionary<IMethodSymbol, MemberInfo> _methodToMemberInfo = new(); 46var substringMethod = stringType.GetMembers(nameof(string.Substring)) 47.OfType<IMethodSymbol>() 69private static IMethodSymbol? GetSliceLikeMethod(INamedTypeSymbol namedType) 71.OfType<IMethodSymbol>() 75public bool TryGetMemberInfo(IMethodSymbol method, out MemberInfo memberInfo) 87public bool TryGetMemberInfoOneArgument(IMethodSymbol method, out MemberInfo memberInfo) 101var overloadWithTwoArguments = method.ContainingType 103.OfType<IMethodSymbol>() 122private MemberInfo ComputeMemberInfo(IMethodSymbol sliceLikeMethod, bool requireRangeMember) 156var actualSliceMethod = 158.OfType<IMethodSymbol>() 168var overloadedRangeMethod = GetOverload(sliceLikeMethod, RangeType);
CSharpUseRangeOperatorDiagnosticAnalyzer.Result.cs (2)
27public readonly IMethodSymbol SliceLikeMethod; 40IMethodSymbol sliceLikeMethod,
Debugging\BreakpointResolver.cs (1)
38protected override bool HasMethodBody(IMethodSymbol method, CancellationToken cancellationToken)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (16)
189protected override bool AreHandledEventsEqual(IMethodSymbol oldMethod, IMethodSymbol newMethod) 195return (member as IMethodSymbol)?.MethodKind == MethodKind.Constructor; 1305var oldGetterSymbol = ((IPropertySymbol)oldSymbol).GetMethod; 1306var newGetterSymbol = ((IPropertySymbol)newSymbol).GetMethod; 1391var oldGetterSymbol = ((IPropertySymbol?)oldSymbol)?.GetMethod; 1392var newGetterSymbol = ((IPropertySymbol?)newSymbol)?.GetMethod; 1457if (symbol is IMethodSymbol { IsPartialDefinition: true }) 1488internal override IMethodSymbol GetLambdaExpressionSymbol(SemanticModel model, SyntaxNode lambdaExpression, CancellationToken cancellationToken) 1491return (IMethodSymbol)model.GetRequiredEnclosingSymbol(bodyExpression.SpanStart, cancellationToken); 1943internal override string GetDisplayName(IMethodSymbol symbol) 2499IMethodSymbol { Arity: > 0 } 2503IMethodSymbol { MethodKind: MethodKind.Destructor } 2507IMethodSymbol { MethodKind: MethodKind.Conversion or MethodKind.UserDefinedOperator } 2511IMethodSymbol { ExplicitInterfaceImplementations.IsEmpty: false } 3103if (container is IMethodSymbol { IsImplicitlyDeclared: false, MethodKind: MethodKind.Constructor })
ExternalAccess\Pythia\Api\IPythiaSignatureHelpProviderImplementation.cs (1)
14Task<(ImmutableArray<PythiaSignatureHelpItemWrapper> items, int? selectedItemIndex)> GetMethodGroupItemsAndSelectionAsync(ImmutableArray<IMethodSymbol> accessibleMethods, Document document, InvocationExpressionSyntax invocationExpression, SemanticModel semanticModel, SymbolInfo currentSymbol, CancellationToken cancellationToken);
ExternalAccess\Pythia\Api\PythiaSignatureHelpItemWrapper.cs (1)
23IMethodSymbol method,
ExternalAccess\Pythia\PythiaSignatureHelpProvider.cs (2)
34ImmutableArray<IMethodSymbol> accessibleMethods, 39IMethodSymbol? currentSymbol,
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (6)
103protected override OperationStatus<IMethodSymbol> GenerateMethodDefinition(bool localFunction, CancellationToken cancellationToken) 107var methodSymbol = CodeGenerationSymbolFactory.CreateMethodSymbol( 633if (AnalyzerResult.ReturnType.GetMembers().Any(static x => x is IMethodSymbol 749OperationStatus<IMethodSymbol> methodSymbolResult, 791OperationStatus<IMethodSymbol> methodSymbolResult, 822OperationStatus<IMethodSymbol> methodSymbolResult,
GenerateConstructor\CSharpGenerateConstructorService.cs (4)
185protected override IMethodSymbol GetCurrentConstructor(SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken) 188protected override IMethodSymbol GetDelegatedConstructor(SemanticModel semanticModel, IMethodSymbol constructor, CancellationToken cancellationToken) 193return semanticModel.GetSymbolInfo(constructorDeclarationSyntax.Initializer, cancellationToken).Symbol as IMethodSymbol;
GenerateMember\GenerateParameterizedMember\CSharpGenerateConversionService.cs (6)
65out IMethodSymbol methodSymbol, 91out IMethodSymbol methodSymbol, 116out IMethodSymbol methodSymbol, 144out IMethodSymbol methodSymbol, 175out IMethodSymbol methodSymbol, 201private static IMethodSymbol GenerateMethodSymbol(
GenerateMember\GenerateParameterizedMember\CSharpGenerateMethodService.cs (1)
56out IMethodSymbol methodSymbol,
GenerateType\CSharpGenerateTypeService.cs (5)
78if (symbol is IMethodSymbol method) 446private static IMethodSymbol GetMethodSymbolIfPresent(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 456return memberGroup.ElementAt(0).IsKind(SymbolKind.Method) ? (IMethodSymbol)memberGroup.ElementAt(0) : null; 468return (IMethodSymbol)expressionSymbol; 849private static readonly IMethodSymbol s_accessor = CodeGenerationSymbolFactory.CreateAccessorSymbol(
ImplementInterface\CSharpImplementExplicitlyCodeRefactoringProvider.cs (2)
159if (implMember is IMethodSymbol { Parameters: var implParameters } && 160interfaceMember is IMethodSymbol { Parameters: var interfaceParameters })
ImplementInterface\CSharpImplementInterfaceService.cs (1)
31protected override string ToDisplayString(IMethodSymbol disposeImplMethod, SymbolDisplayFormat format)
InitializeParameter\CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs (1)
58protected override SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken)
InlineHints\CSharpInlineTypeHintsService.cs (1)
82if (parameter?.ContainingSymbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction } &&
IntroduceParameter\CSharpIntroduceParameterCodeRefactoringProvider.cs (1)
37protected override bool IsDestructor(IMethodSymbol methodSymbol)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (2)
70var method = document.SemanticModel.GetDeclaredSymbol(arrowExpression.Parent, cancellationToken) as IMethodSymbol;
InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
304if (initializerSymbol is IMethodSymbol)
J\s\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs\Helpers.cs (6)
68public static bool IsIntIndexingMethod(IMethodSymbol method) 84public static bool IsTwoArgumentSliceLikeMethod(IMethodSymbol method) 102public static bool IsOneArgumentSliceLikeMethod(IMethodSymbol method) 142public static IMethodSymbol? GetOverload(IMethodSymbol method, ITypeSymbol parameterType) 146.OfType<IMethodSymbol>()
LanguageServices\CSharpSymbolDisplayService.SymbolDescriptionBuilder.cs (1)
207if (symbol is IMethodSymbol method && method.ContainingSymbol.IsKind(SymbolKind.Method))
MemberInfo.cs (2)
21public readonly IMethodSymbol? OverloadedMethodOpt; 25IMethodSymbol? overloadedMethodOpt)
NavigationBar\CSharpNavigationBarItemService.cs (4)
77var method = member as IMethodSymbol; 178var method = (IMethodSymbol)member;
PositionalParameterInfo.cs (4)
57.Any(symbol => symbol.SetMethod is IMethodSymbol { IsInitOnly: true }); 80if (baseType != null && baseType.TryGetRecordPrimaryConstructor(out var basePrimary)) 160var getAccessor = propertySymbol.GetMethod; 161var setAccessor = propertySymbol.SetMethod;
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (2)
241var setMethod = getAndSetMethods.SetMethod; 247var getMethod = getAndSetMethods.GetMethod;
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (4)
80var getMethod = property.GetMethod; 90var setMethod = property.SetMethod; 108IMethodSymbol setMethod, 166IMethodSymbol getMethod,
SignatureHelp\AbstractCSharpSignatureHelpProvider.cs (1)
78protected IList<TaggedText> GetAwaitableUsage(IMethodSymbol method, SemanticModel semanticModel, int position)
SignatureHelp\AbstractCSharpSignatureHelpProvider.LightweightOverloadResolution.cs (7)
26ImmutableArray<IMethodSymbol> candidates, 28out IMethodSymbol? currentSymbol, 47private static (IMethodSymbol? symbol, int parameterIndex) GuessCurrentSymbolAndParameter( 49ImmutableArray<IMethodSymbol> methodGroup, 56foreach (var method in methodGroup) 74IMethodSymbol method, 198private static bool TryPrepareArgToParamMap(SeparatedSyntaxList<ArgumentSyntax> arguments, IMethodSymbol method, ArrayBuilder<int> argToParamMap)
SignatureHelp\AbstractOrdinaryMethodSignatureHelpProvider.cs (3)
19IMethodSymbol method, 28IMethodSymbol method, 49IMethodSymbol method,
SignatureHelp\AttributeSignatureHelpProvider.cs (3)
128IMethodSymbol constructor, 157IMethodSymbol constructor, 215IMethodSymbol method,
SignatureHelp\ConstructorInitializerSignatureHelpProvider.cs (4)
108var candidates = semanticModel.GetSymbolInfo(constructorInitializer, cancellationToken).Symbol is IMethodSymbol exactSymbol 112document, position, semanticModel, candidates, arguments, out var currentSymbol, out var parameterIndexOverride); 142IMethodSymbol constructor, 162IMethodSymbol method,
SignatureHelp\GenericNameSignatureHelpProvider.cs (3)
122.WhereAsArray(s => s is INamedTypeSymbol or IMethodSymbol) 192var method = (IMethodSymbol)symbol;
SignatureHelp\GenericNameSignatureHelpProvider_Method.cs (3)
13IMethodSymbol method, 61private static ITypeSymbol? GetContainingType(IMethodSymbol method) 74private static IList<SymbolDisplayPart> GetPostambleParts(IMethodSymbol method, SemanticModel semanticModel, int position)
SignatureHelp\InvocationExpressionSignatureHelpProvider.cs (4)
95.OfType<IMethodSymbol>() 107var candidates = symbolInfo.Symbol is IMethodSymbol exactMatch 111document, position, semanticModel, candidates, arguments, out var currentSymbol, out var parameterIndexOverride); 139IMethodSymbol? currentSymbol;
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_DelegateAndFunctionPointerInvoke.cs (5)
19private static IMethodSymbol? GetDelegateInvokeMethod( 23var invokeMethod = delegateType.DelegateInvokeMethod; 40private static IList<SignatureHelpItem> GetDelegateOrFunctionPointerInvokeItems(InvocationExpressionSyntax invocationExpression, IMethodSymbol invokeMethod, SemanticModel semanticModel, IStructuralTypeDisplayService structuralTypeDisplayService, IDocumentationCommentFormattingService documentationCommentFormattingService, out int? selectedItem, CancellationToken cancellationToken) 59private static IList<SymbolDisplayPart> GetDelegateOrFunctionPointerInvokePreambleParts(IMethodSymbol invokeMethod, SemanticModel semanticModel, int position) 81IMethodSymbol invokeMethod, SemanticModel semanticModel, int position, IDocumentationCommentFormattingService formattingService, CancellationToken cancellationToken)
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (10)
21ImmutableArray<IMethodSymbol> accessibleMethods, 26IMethodSymbol? currentSymbol, 35private static ImmutableArray<IMethodSymbol> GetAccessibleMethods( 39IEnumerable<IMethodSymbol> methodGroup, 75methodGroup = methodGroup.Where(m => m.IsStatic || m is IMethodSymbol { MethodKind: MethodKind.LocalFunction }); 88private static bool IsHiddenByOtherMethod(IMethodSymbol method, ISet<IMethodSymbol> methodSet) 90foreach (var m in methodSet) 104private static bool IsHiddenBy(IMethodSymbol method1, IMethodSymbol method2)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.cs (3)
101var candidates = semanticModel.GetSymbolInfo(objectCreationExpression, cancellationToken).Symbol is IMethodSymbol exactMatch 105document, position, semanticModel, methods, arguments, out var currentSymbol, out var parameterIndexOverride); 129var invokeMethod = type.DelegateInvokeMethod;
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider_DelegateType.cs (3)
18IMethodSymbol invokeMethod, 37private static IList<SymbolDisplayPart> GetDelegateTypePreambleParts(IMethodSymbol invokeMethod, SemanticModel semanticModel, int position) 47private static IList<SignatureHelpSymbolParameter> GetDelegateTypeParameters(IMethodSymbol invokeMethod, SemanticModel semanticModel, int position)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider_NormalType.cs (2)
20IMethodSymbol constructor, 41IMethodSymbol method,
SignatureHelp\PrimaryConstructorBaseTypeSignatureHelpProvider.cs (2)
121IMethodSymbol constructor, 140IMethodSymbol method,
UseExpressionBodyForLocalFunctionHelper.cs (1)
61return symbol is IMethodSymbol methodSymbol &&
UseExpressionBodyForMethodsHelper.cs (1)
60var method = semanticModel.GetDeclaredSymbol(declaration);
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (7)
IOperation\FunctionPointerOperations.cs (1)
206var signature = fktPointerOp.GetFunctionPointerSignature();
IOperation\IOperationTests_ILocalFunctionStatement.cs (6)
1798IMethodSymbol localFunctionD1 = getLocalFunction(graphM); 1808IMethodSymbol localFunctionD2 = getLocalFunction(graphD1); 1821IMethodSymbol getLocalFunction(ControlFlowGraph graph) 1853IMethodSymbol localFunctionD1 = getLocalFunction(graphM, "d1"); 1855IMethodSymbol localFunctionD2 = getLocalFunction(graphM, "d2"); 1872IMethodSymbol getLocalFunction(ControlFlowGraph graph, string name)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (162)
Semantics\AccessCheckTests.cs (2)
911IMethodSymbol IntegerPlus = model.GetSymbolInfo(tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single()).Symbol as IMethodSymbol;
Semantics\AnonymousFunctionTests.cs (12)
987var anonymousMethod = (IMethodSymbol)semanticModel.GetSymbolInfo(anonymousMethodSyntax).Symbol!; 988var simpleLambda = (IMethodSymbol)semanticModel.GetSymbolInfo(simpleLambdaSyntax).Symbol!; 989var parenthesizedLambda = (IMethodSymbol)semanticModel.GetSymbolInfo(parenthesizedLambdaSyntax).Symbol!; 1021var anonymousMethod = (IMethodSymbol)semanticModel.GetSymbolInfo(anonymousMethodSyntax).Symbol!; 1022var simpleLambda = (IMethodSymbol)semanticModel.GetSymbolInfo(simpleLambdaSyntax).Symbol!; 1023var parenthesizedLambda = (IMethodSymbol)semanticModel.GetSymbolInfo(parenthesizedLambdaSyntax).Symbol!;
Semantics\BindingAsyncTests.cs (3)
59Assert.True(((IMethodSymbol)model.GetSymbolInfo(simple).Symbol).IsAsync); 65Assert.True(((IMethodSymbol)model.GetSymbolInfo(paren).Symbol).IsAsync); 88Assert.True(((IMethodSymbol)model.GetSymbolInfo(del).Symbol).IsAsync);
Semantics\DelegateTypeTests.cs (8)
901var method = (IMethodSymbol)symbolInfo.Symbol!; 944var method = (IMethodSymbol)symbolInfo.Symbol!; 952private static bool HaveMatchingSignatures(IMethodSymbol methodA, IMethodSymbol methodB) 5342var method = (IMethodSymbol)symbolInfo.Symbol!;
Semantics\FunctionPointerTests.cs (11)
1594var methodSymbol = (IMethodSymbol)model.GetSymbolInfo(invocation).Symbol!; 1754var methodSymbol = (IMethodSymbol)model.GetSymbolInfo(invocation).Symbol!; 1915var m1InvocationSymbol = (IMethodSymbol)model.GetSymbolInfo(invocation).Symbol!; 1923var declaredSymbol = (IMethodSymbol)comp.GetTypeByMetadataName("C").GetMethod("M2").ISymbol; 2207.Cast<IMethodSymbol>() 2268.Cast<IMethodSymbol>() 2341.Cast<IMethodSymbol>()
Semantics\GenericConstraintsTests.cs (10)
2881var symbol = (IMethodSymbol)model.GetSymbolInfo(value).Symbol; 3141var inferredMethod = (IMethodSymbol)model.GetSymbolInfo(call).Symbol; 3171var inferredMethod = (IMethodSymbol)model.GetSymbolInfo(call).Symbol; 3197var inferredMethod = (IMethodSymbol)model.GetSymbolInfo(call).Symbol; 3226var inferredMethod = (IMethodSymbol)model.GetSymbolInfo(call).Symbol;
Semantics\InitOnlyMemberTests.cs (2)
2517var method = (IMethodSymbol)model.GetSymbolInfo(invocation).Symbol;
Semantics\LambdaDiscardParametersTests.cs (1)
387var lambdas = exprs.Select(e => (IMethodSymbol)model.GetSymbolInfo(e).Symbol).ToArray();
Semantics\LambdaTests.cs (18)
854Assert.Equal(MethodKind.AnonymousFunction, (sym as IMethodSymbol).MethodKind); 864Assert.Equal(MethodKind.AnonymousFunction, (sym as IMethodSymbol).MethodKind); 1981var lambdaParameters = ((IMethodSymbol)(model.GetSymbolInfo(node1)).Symbol).Parameters; 3039var lambda = (IMethodSymbol)model.GetEnclosingSymbol(contentType.SpanStart); 3046lambda = (IMethodSymbol)model.GetEnclosingSymbol(b.SpanStart); 3634var method = (IMethodSymbol)symbol; 3878var symbol = (IMethodSymbol)model.GetSymbolInfo(lambda).Symbol; 3930var expectedAttributeConstructor = comp.GetTypeByMetadataName(expectedAttributeName).InstanceConstructors.Single().GetPublicSymbol(); 5605var method = (IMethodSymbol)model.GetSymbolInfo(lambdaSyntax).Symbol; 7604var method = comp.GetMember<MethodSymbol>("Program.M").GetPublicSymbol(); 7978.Select(n => (Node: n, Symbol: (IMethodSymbol)model.GetSymbolInfo(n).Symbol)) 8048var m2 = comp.GetMember<MethodSymbol>("C.M2").GetPublicSymbol(); 8054var newLambdaSymbol = (IMethodSymbol)speculativeModel.GetSymbolInfo(newLambda).Symbol;
Semantics\LocalFunctionTests.cs (13)
503var symbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 551var symbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 815var symbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 971var symbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 1061var attrConstructor = (IMethodSymbol)model.GetSymbolInfo(attrSyntax).Symbol; 1798Assert.Equal(clsCompliantSymbol.GetMember<IMethodSymbol>(".ctor"), 1873Assert.Equal(clsCompliantSymbol.GetMember<IMethodSymbol>(".ctor"), 2571var methods = exprs.SelectAsArray(e => (IMethodSymbol)model.GetDeclaredSymbol(e));
Semantics\LookupTests.cs (7)
1565var method = (IMethodSymbol)model.GetSymbolInfo(expr).Symbol; 1567var reducedFrom = method.ReducedFrom; 1598var method = (IMethodSymbol)model.GetSymbolInfo(expr).Symbol; 1603method = (IMethodSymbol)model.GetSymbolInfo(expr).Symbol; 1605var reducedFrom = method.ReducedFrom;
Semantics\MethodTypeInferenceTests.cs (4)
1048var method = (IMethodSymbol)model.GetSymbolInfo(syntax).Symbol; 1078var method = (IMethodSymbol)model.GetSymbolInfo(syntax).Symbol;
Semantics\NativeIntegerTests.cs (4)
320var method = (IMethodSymbol)underlyingMember; 345return !(nativeIntegerMember is IMethodSymbol { MethodKind: MethodKind.Constructor }); 3639var method = model.GetDeclaredSymbol(nodes.OfType<MethodDeclarationSyntax>().Single());
Semantics\NullableReferenceTypesTests.cs (4)
153221var method1 = model.GetDeclaredSymbol(tree.GetRoot().DescendantNodes().OfType<MethodDeclarationSyntax>().Single()); 153786Assert.Equal("object", ((IMethodSymbol)model.GetSymbolInfo(item).Symbol).ReturnType.ToDisplayString(TypeWithAnnotations.TestDisplayFormat)); 154071Assert.Equal("object", ((IMethodSymbol)model.GetSymbolInfo(item).Symbol).ReturnType.ToDisplayString(TypeWithAnnotations.TestDisplayFormat)); 154077Assert.Equal("object", ((IMethodSymbol)found).ReturnType.ToDisplayString(TypeWithAnnotations.TestDisplayFormat));
Semantics\OperatorTests.cs (30)
7542var symbol1 = (IMethodSymbol)info1.Symbol; 7544var symbol3 = (IMethodSymbol)semanticModel.GetSymbolInfo(node3).Symbol; 7620var synthesizedMethod = compilation.CreateBuiltinOperator( 7671var otherSymbol = (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol; 7709var symbols1 = (from node1 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol).ToArray(); 7710foreach (var symbol1 in symbols1) 7718var symbols2 = (from node2 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node2).Symbol).ToArray(); 7719foreach (var symbol2 in symbols2) 8112var symbol1 = (IMethodSymbol)info1.Symbol; 8116var symbol5 = (IMethodSymbol)semanticModel.GetSymbolInfo(node5).Symbol; 8396var synthesizedMethod = compilation.CreateBuiltinOperator( 8467var otherSymbol = (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol; 8592var symbols1 = (from node1 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol).ToArray(); 8593foreach (var symbol1 in symbols1) 8601var symbols2 = (from node2 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node2).Symbol).ToArray(); 8602foreach (var symbol2 in symbols2) 8638var symbols1 = (from node1 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol).ToArray(); 8639foreach (var symbol1 in symbols1) 8649var symbols2 = (from node2 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node2).Symbol).ToArray(); 8650foreach (var symbol2 in symbols2) 8688var symbols1 = (from node1 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node1).Symbol).ToArray(); 8689foreach (var symbol1 in symbols1) 8699var symbols2 = (from node2 in nodes select (IMethodSymbol)semanticModel.GetSymbolInfo(node2).Symbol).ToArray(); 8700foreach (var symbol2 in symbols2)
Semantics\OverloadResolutionTests.cs (2)
7262var methodSymbol = (IMethodSymbol)model.GetSymbolInfo(callSyntax).Symbol;
Semantics\QueryTests.cs (6)
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); 2182var m = (IMethodSymbol)info2.Symbol;
Semantics\ReadOnlyStructsTests.cs (8)
1227static IMethodSymbol getMethod(INamedTypeSymbol symbol, string name) => (IMethodSymbol)symbol.GetMembers(name).Single(); 1264var c = comp.GetMember<IMethodSymbol>("C.Test"); 1283var symbol = (IMethodSymbol)semanticModel.GetSymbolInfo(invocationExpression.Expression).Symbol; 1284var reducedFrom = symbol.ReducedFrom; 1292Assert.False(((IMethodSymbol)reducedFrom).IsReadOnly);
Semantics\SemanticErrorTests.cs (2)
3342var constructedMethodSymbol = (IMethodSymbol)(boundCall.CandidateSymbols[0]);
Semantics\TopLevelStatementsTests.cs (3)
321var refMethod = model1.GetDeclaredSymbol(unit1); 357var declMethod = model2.GetDeclaredSymbol(unit2); 4209Assert.Equal(MethodKind.LocalFunction, ((IMethodSymbol)local).MethodKind);
Semantics\UnsafeTests.cs (9)
5038Assert.True(methodGroupSummary.MethodGroup.SetEquals(ImmutableArray.Create<IMethodSymbol>(structMethod1.GetPublicSymbol(), structMethod2.GetPublicSymbol()), EqualityComparer<IMethodSymbol>.Default)); 5103Assert.True(methodGroupSummary.MethodGroup.SetEquals(structMethods.GetPublicSymbols(), EqualityComparer<IMethodSymbol>.Default)); 6034var summaryMethod = (IMethodSymbol)summary.Symbol; 6037var synthesizedMethod = compilation.CreateBuiltinOperator( 6496var summaryMethod = (IMethodSymbol)summary.Symbol; 6499var synthesizedMethod = compilation.CreateBuiltinOperator(
Semantics\Utf8StringsLiteralsTests.cs (3)
4065var method = (IMethodSymbol)model.GetSymbolInfo(node).Symbol; 4070var synthesizedMethod = comp.CreateBuiltinOperator(
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (397)
Compilation\CompilationAPITests.cs (21)
2744var op = compilation.CreateBuiltinOperator(name, intType, intType, intType); 2762var op = compilation.CreateBuiltinOperator(name, boolType, intType, intType); 2781var op = compilation.CreateBuiltinOperator(WellKnownMemberNames.AdditionOperatorName, intType, intType, intType); 2848var addBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.AdditionOperatorName, intType, intType, intType); 2849var addBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedAdditionOperatorName, intType, intType, intType); 2850var subtractBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.SubtractionOperatorName, intType, intType, intType); 2851var subtractBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedSubtractionOperatorName, intType, intType, intType); 2883var addBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.AdditionOperatorName, intType, intType, intType); 2884var addBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedAdditionOperatorName, intType, intType, intType); 2885var subtractBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.SubtractionOperatorName, intType, intType, intType); 2886var subtractBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedSubtractionOperatorName, intType, intType, intType); 2915var addBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.AdditionOperatorName, intType, intType, intType); 2916var addBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedAdditionOperatorName, intType, intType, intType); 2917var subtractBuiltIn = compilation.CreateBuiltinOperator(WellKnownMemberNames.SubtractionOperatorName, intType, intType, intType); 2918var subtractBuiltInChecked = compilation.CreateBuiltinOperator(WellKnownMemberNames.CheckedSubtractionOperatorName, intType, intType, intType); 2940var op = compilation.CreateBuiltinOperator(name, intType, intType); 2952var op = compilation.CreateBuiltinOperator(name, boolType, boolType); 2971var op = compilation.CreateBuiltinOperator(WellKnownMemberNames.UnaryPlusOperatorName, intType, intType); 3067var genericMethod = (IMethodSymbol)comp.GetMember("Program.M"); 3073var type = genericMethod.Construct(typeArguments, default);
Compilation\ForEachStatementInfoTests.cs (12)
38var ge1 = (IMethodSymbol)e1.GetMembers("GetEnumerator").Single(); 39var mn1 = (IMethodSymbol)e1.GetMembers("MoveNext").Single(); 41var disp1 = (IMethodSymbol)e1.GetMembers("Dispose").Single(); 45var ge2 = (IMethodSymbol)e2.GetMembers("GetEnumerator").Single(); 46var mn2 = (IMethodSymbol)e2.GetMembers("MoveNext").Single(); 48var disp2 = (IMethodSymbol)e2.GetMembers("Dispose").Single();
Compilation\GetSemanticInfoTests.cs (44)
1026IMethodSymbol methodSymbol = (IMethodSymbol)bindInfo.Symbol; 1074Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)baseConstructor).MethodKind); 1093Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)baseConstructor).MethodKind); 1115var invokedConstructor = (IMethodSymbol)bindInfo.Symbol; 1172Assert.Equal(MethodKind.EventAdd, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 1201Assert.Equal(MethodKind.EventRemove, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 1816var candidate = (IMethodSymbol)bindInfo.CandidateSymbols.Single(); 1819Assert.Equal(TypeKind.TypeParameter, ((IMethodSymbol)candidate.OriginalDefinition).Parameters.Last().Type.TypeKind); 1848var method = (IMethodSymbol)bindInfo.Symbol; 2360Assert.Equal(MethodKind.AnonymousFunction, ((IMethodSymbol)parameterSymbol.ContainingSymbol).MethodKind); 2542Assert.Equal(MethodKind.Conversion, ((IMethodSymbol)symbol.ContainingSymbol).MethodKind); 2791var operatorSymbol = comp.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>(operatorName); 2799var method = (IMethodSymbol)symbolInfo.Symbol; 3243var operators = comp.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMembers(WellKnownMemberNames.AdditionOperatorName).Cast<IMethodSymbol>(); 3244var operatorSymbol = operators.Where(method => method.Parameters[0].Type.Equals(method.Parameters[1].Type, SymbolEqualityComparer.ConsiderEverything)).Single(); 3328var mngMethod = (IMethodSymbol)comp.GlobalNamespace.GetMember<INamedTypeSymbol>("Z").GetMembers("MNG").First(); 3394var mngMethod = (IMethodSymbol)comp.GlobalNamespace.GetMember<INamedTypeSymbol>("Z").GetMembers("MNG").First(); 3790Assert.Equal(compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("M"), info.CandidateSymbols.Single()); 3850Assert.Equal(compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("M"), info.CandidateSymbols.Single()); 4042var method1 = info1.Symbol as IMethodSymbol; 4057Where((m) => (object)m != (object)method1.ReducedFrom).Cast<IMethodSymbol>().Single().TypeParameters[0])); 4070var method2 = info2.Symbol as IMethodSymbol; 4678var methodGoo = classA.GetMember<IMethodSymbol>("Goo"); 4680var methodBar = classC.GetMember<IMethodSymbol>("Bar"); 4723var methodGoo = classA.GetMember<IMethodSymbol>("Goo"); 4725var methodBar = classC.GetMember<IMethodSymbol>("Bar"); 4788var lambda = (IMethodSymbol)symbolInfo.Symbol; 4831var methodSymbol = (IMethodSymbol)symbolInfo.Symbol;
Compilation\SemanticModelAPITests.cs (9)
884var pmSym01 = model.GetDeclaredSymbol(pMethod01); 885var pmSym02 = model.GetDeclaredSymbol(pMethod02); 1370var method = (IMethodSymbol)symbol; 2086var method = (IMethodSymbol)symbol; 2103method = (IMethodSymbol)symbol; 4452var method = (IMethodSymbol)comp.GetTypeByMetadataName("C").GetMembers("M").Single().GetPublicSymbol();
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (34)
280var methodSymbol = model.GetDeclaredSymbol(methodDecl); 311var accessorSymbol = model.GetDeclaredSymbol(accessorDecl); 352var getterSymbol = model.GetDeclaredSymbol(getterDecl); 358var setterSymbol = model.GetDeclaredSymbol(setterDecl); 974var mSymbol = model.GetDeclaredSymbol(memDecl) as IMethodSymbol; 981mSymbol = model.GetDeclaredSymbol(memDecl) as IMethodSymbol; 1722symbol.Kind == SymbolKind.Method && (((IMethodSymbol)symbol).IsExtensionMethod || ((IMethodSymbol)symbol).MethodKind == MethodKind.ReducedExtension); 1885symbol.Kind == SymbolKind.Method && (((IMethodSymbol)symbol).IsExtensionMethod || ((IMethodSymbol)symbol).MethodKind == MethodKind.ReducedExtension); 1935var method = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("E").GetMember<IMethodSymbol>("M"); 1975method = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("M"); 2852var explicitMethodSymbol = (IMethodSymbol)model.GetDeclaredSymbol(explicitMethodNode); 2872var explicitPropertyGetterSymbol = (IMethodSymbol)model.GetDeclaredSymbol(explicitPropertyGetterNode); 2882var explicitPropertySetterSymbol = (IMethodSymbol)model.GetDeclaredSymbol(explicitPropertySetterNode); 2975var dsyma1 = model.GetDeclaredSymbol(node1.Members[0] as MethodDeclarationSyntax); 2994var dsymc1 = model.GetDeclaredSymbol(node3.Members[0] as MethodDeclarationSyntax); 2995var dsymc2 = model.GetDeclaredSymbol(node3.Members[1] as MethodDeclarationSyntax); 2996var dsymc3 = model.GetDeclaredSymbol(node3.Members[2] as MethodDeclarationSyntax); 3147var dsym = model.GetDeclaredSymbol(accessors.Accessors[0]); 4434var conversion = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>(WellKnownMemberNames.ImplicitConversionName); 4442var declaredSymbol = model.GetDeclaredSymbol(conversionDecl); 4465var conversion = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>(WellKnownMemberNames.ExplicitConversionName); 4473var declaredSymbol = model.GetDeclaredSymbol(conversionDecl); 4496var @operator = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>(WellKnownMemberNames.AdditionOperatorName); 4504var declaredSymbol = model.GetDeclaredSymbol(operatorDecl);
Compilation\SemanticModelGetSemanticInfoTests.cs (9)
4886Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol.ContainingSymbol).MethodKind); 4893Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol.ContainingSymbol).MethodKind); 5413Assert.Equal(MethodKind.PropertySet, ((IMethodSymbol)sortedCandidates[0]).MethodKind); 5665var lambdaSym = (IMethodSymbol)(semanticInfo.Symbol); 5701var lambdaSym = (IMethodSymbol)(semanticInfo.Symbol); 6373Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)symbol).MethodKind); 7295Assert.Equal(MethodKind.Constructor, ((IMethodSymbol)semanticInfo.Symbol).MethodKind);
Compilation\SymbolVisitorTests.cs (3)
98public override void VisitMethod(IMethodSymbol symbol) 276public override string VisitMethod(IMethodSymbol symbol) 455public override int VisitMethod(IMethodSymbol symbol, StringBuilder argument)
DocumentationComments\CrefTests.cs (48)
910var ctorA = typeA.InstanceConstructors.Single(); 913var ctorB = typeB.InstanceConstructors.Single(); 1006var ctorA = typeA.InstanceConstructors.Single(); 1009var ctorB = typeB.InstanceConstructors.Single(); 1105var ctorA = typeA.InstanceConstructors.Single(); 1108var ctorB = typeB.InstanceConstructors.Single(); 2968var expectedMethodSymbol = expectedTypeSymbol.GetMember<IMethodSymbol>("M"); 3004var method = typeB.GetMember<IMethodSymbol>("M"); 3039var actualMethod = (IMethodSymbol)model.GetSymbolInfo(crefSyntax).Symbol; 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); 4788var overridingMethod = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Derived").GetMember<IMethodSymbol>("M"); 4850var overridingMethod = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Derived").GetMember<IMethodSymbol>("M"); 4877var overridingMethod = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Derived").GetMember<IMethodSymbol>("M"); 4938var overridingMethod = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Derived").GetMember<IMethodSymbol>("M"); 4981var derivedM1 = global.GetMember<INamedTypeSymbol>("Derived").GetMember<IMethodSymbol>("M1"); 4982var baseM2 = global.GetMember<INamedTypeSymbol>("Base").GetMember<IMethodSymbol>("M2"); 5012var constructor = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("G").InstanceConstructors.Single(); 5084var outerCtor = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Outer").InstanceConstructors.Single(); 5142var nonGenericMethod = type.GetMember<IMethodSymbol>("NormalSub"); 5143var genericMethod = type.GetMember<IMethodSymbol>("GenericSub"); 5472var expectedSymbol = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>("Goo"); 5718Assert.Equal(MethodKind.UserDefinedOperator, ((IMethodSymbol)symbol).MethodKind); 5846var delegateConstructor = compilation.GlobalNamespace. 5921var expectedSymbol = compilation.GetSpecialType(SpecialType.System_String). 5971var expectedSymbol = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").InstanceConstructors.Single(); 6023var expectedSymbolOriginalDefinition = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").InstanceConstructors.Single(); 6077var members = model.LookupSymbols(methodNameSyntax.SpanStart, ((IMethodSymbol)methodSymbol).ReturnType); 6114var expectedCrefSymbol = expectedReturnTypeSymbol.GetMember<IMethodSymbol>(WellKnownMemberNames.ImplicitConversionName); 6152var expectedCrefSymbol = classB.GetMember<IMethodSymbol>("Goo"); 6335var accessor = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("Outer").GetMember<INamedTypeSymbol>("Inner").GetMember<IPropertySymbol>("P").GetMethod; 6707var parameterSymbol = ((IMethodSymbol)model.GetSymbolInfo(cref).Symbol).Parameters.Single();
DocumentationComments\ParameterTests.cs (2)
693var method = compilation.GlobalNamespace.GetMember<NamedTypeSymbol>("Program").GetMember<MethodSymbol>("M").GetPublicSymbol(); 744var method = compilation.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMember<MethodSymbol>("M").GetPublicSymbol();
SymbolDisplay\SymbolDisplayTests.cs (31)
5796var method = comp.GetMember<IMethodSymbol>("B.F1"); 5827method = comp.GetMember<IMethodSymbol>("B.F2"); 5835method = comp.GetMember<IMethodSymbol>("B.F3"); 5868var method = comp.GetMember<IMethodSymbol>("B.F1"); 5897method = comp.GetMember<IMethodSymbol>("B.F2"); 5905method = comp.GetMember<IMethodSymbol>("B.F3"); 6018var method = compilation.GetMember<IMethodSymbol>("C.Method"); 6091var method = (IMethodSymbol)comp.GetMember("C.F"); 6145var method1 = compilation.GetMember<IMethodSymbol>("C.Method1"); 6153var method2 = compilation.GetMember<IMethodSymbol>("C.Method2"); 6161var method3 = compilation.GetMember<IMethodSymbol>("C.Method3"); 6189var method = compilation.GetMember<IMethodSymbol>("C.Method"); 6217var method = comp.GetMember<IMethodSymbol>("B.F1"); 6304var localSymbol = (IMethodSymbol)semanticModel.GetDeclaredSymbol(local); 6347var localSymbol = (IMethodSymbol)semanticModel.GetDeclaredSymbol(local); 6382var localSymbol = (IMethodSymbol)semanticModel.GetDeclaredSymbol(local); 6476var localSymbol = (IMethodSymbol)semanticModel.GetDeclaredSymbol(local); 8210var methodSymbol = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol();
Symbols\AccessorOverriddenOrHiddenMembersTests.cs (6)
1033var methodDispose = (IMethodSymbol)semanticModel.GetSymbolInfo(memberAccessSyntax).Symbol; 1051var methodSymbol = semanticModel.GetSymbolInfo(memberAccessed).Symbol as IMethodSymbol; 1053var disposeMethod = (IMethodSymbol)compilation.GetSpecialType(SpecialType.System_IDisposable).GetMembers("Dispose").Single();
Symbols\AnonymousTypesSemanticsTests.cs (1)
1939IMethodSymbol getter = property.GetMethod;
Symbols\CheckedUserDefinedOperatorsTests.cs (3)
7216var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType; 7288var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType; 7359var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType;
Symbols\ConversionTests.cs (5)
1721var conversionSymbols = destinationType.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Conversion); 1801var method = (IMethodSymbol)symbol; 1835var method = (IMethodSymbol)symbol;
Symbols\CustomModifiersTests.cs (4)
65var test = compilation.GetTypeByMetadataName("Test1").GetMember<IMethodSymbol>("Test"); 135var test = compilation.GetTypeByMetadataName("Test1").GetMember<IMethodSymbol>("Test");
Symbols\DestructorTests.cs (3)
400var destructor = compilation.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IMethodSymbol>(WellKnownMemberNames.DestructorName); 409var declaredSymbol = model.GetDeclaredSymbol(destructorDecl);
Symbols\ExtendedPartialMethodsTests.cs (2)
3428void verifyPublicAPI(IMethodSymbol defSymbol) 3430var implSymbol = defSymbol.PartialImplementationPart;
Symbols\ExtensionMethodTests.cs (3)
226var gooSymbol = (IMethodSymbol)compilation.GetSemanticModel(syntaxTree).GetSymbolInfo( 230var gooOriginal = gooSymbol.ReducedFrom;
Symbols\MethodEqualityTests.cs (6)
203var classMethodDeclaration = (IMethodSymbol)@class.GetMembers("Method").Single(); 217return (IMethodSymbol)semanticInfo.Symbol; 241var pairWiseNotEqual = new IMethodSymbol[] 249foreach (var method1 in pairWiseNotEqual) 251foreach (var method2 in pairWiseNotEqual)
Symbols\MethodImplementationFlagsTests.cs (10)
39var aggressiveInliningMethod = c.GetMember<MethodSymbol>("M_Aggressive").GetPublicSymbol(); 42var noInliningMethod = c.GetMember<MethodSymbol>("M_NoInlining").GetPublicSymbol(); 71var aggressiveOptimizationMethod = c.GetMember<MethodSymbol>("M_Aggressive").GetPublicSymbol(); 78var noOptimizationMethod = c.GetMember<MethodSymbol>("M_NoOptimization").GetPublicSymbol(); 118var aggressiveOptNoInliningMethod = c.GetMember<MethodSymbol>("M_AggressiveOpt_NoInlining").GetPublicSymbol(); 125var noOptNoInliningMethod = c.GetMember<MethodSymbol>("M_NoOpt_NoInlining").GetPublicSymbol(); 128var aggressiveOptAggressiveInliningMethod = c.GetMember<MethodSymbol>("M_AggressiveOpt_AggressiveInlining").GetPublicSymbol(); 135var noOptAggressiveInliningMethod = c.GetMember<MethodSymbol>("M_NoOpt_AggressiveInlining").GetPublicSymbol(); 159var method = c.GetMember<MethodSymbol>("M").GetPublicSymbol(); 181var method = c.GetMember<MethodSymbol>("M").GetPublicSymbol();
Symbols\Source\DeclaringSyntaxNodeTests.cs (13)
58var meth = symbol as IMethodSymbol; 156var sym = model.GetSymbolInfo(node).Symbol as IMethodSymbol; 467foreach (IMethodSymbol m in c2.GetMembers().OfType<IMethodSymbol>()) 523if (memb.Kind == SymbolKind.Method && ((IMethodSymbol)memb).MethodKind == MethodKind.Constructor) 536if (memb is IMethodSymbol) 538var meth = (IMethodSymbol)memb; 559if (memb is IMethodSymbol) 561var meth = (IMethodSymbol)memb;
Symbols\Source\DelegateTests.cs (3)
829var lambda = (IMethodSymbol)model.GetSymbolInfo(lambdaSyntax).Symbol; 836lambda = (IMethodSymbol)model.GetSymbolInfo(lambdaSyntax).Symbol;
Symbols\Source\MethodTests.cs (9)
2407var m = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol(); 2423var m = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol(); 2442var m = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol(); 2468var m = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol(); 2490var m = comp.GetMember<MethodSymbol>("C.M").GetPublicSymbol(); 2510var m = module.GlobalNamespace.GetTypeMember("C").GetMethod("M").GetPublicSymbol(); 2517var m = module.GlobalNamespace.GetTypeMember("C").GetMethod("M").GetPublicSymbol(); 2542var partialDef = model.GetDeclaredSymbol(methods[0]); 2545var partialImpl = model.GetDeclaredSymbol(methods[1]);
Symbols\Source\NullablePublicAPITests.cs (64)
286return c.GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("M")).ToArray(); 375return c.GetMembers("M1").OfType<IMethodSymbol>().Single().Parameters.ToArray(); 478var members = c.GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("M")).ToArray(); 486members = e.GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("M")).Select(m => m.ReduceExtensionMethod(m.Parameters[0].Type)).ToArray(); 497static void assertNullability(IMethodSymbol[] methods, params PublicNullableAnnotation[] expectedAnnotations) 568return syntaxTree.GetRoot().DescendantNodes().OfType<CSharp.Syntax.LocalFunctionStatementSyntax>().Select(func => semanticModel.GetDeclaredSymbol(func)).Cast<IMethodSymbol>().ToArray(); 691comp => ((INamedTypeSymbol)((Compilation)comp).GetMember("I")).GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("F")).ToArray(), 755comp => ((INamedTypeSymbol)((Compilation)comp).GetMember("I")).GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("F")).ToArray(), 820comp => ((INamedTypeSymbol)((Compilation)comp).GetMember("I")).GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("F")).ToArray(), 887comp => ((INamedTypeSymbol)((Compilation)comp).GetMember("IB")).GetMembers().OfType<IMethodSymbol>().Where(m => m.Name.StartsWith("F")).ToArray(), 946var method = (IMethodSymbol)model.GetSymbolInfo(inv).Symbol; 1855verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.Annotated); 1857verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.NotAnnotated); 1859static void verifySymbolInfo(IMethodSymbol methodSymbol, PublicNullableAnnotation expectedAnnotation) 1898verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.Annotated); 1900verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.NotAnnotated); 1902static void verifySymbolInfo(IMethodSymbol methodSymbol, PublicNullableAnnotation expectedAnnotation) 2968Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArgumentNullableAnnotations[0]); 2969Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArguments[0].NullableAnnotation); 3010Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArgumentNullableAnnotations[0]); 3011Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArguments[0].NullableAnnotation); 3052Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IMethodSymbol)symbolInfo.Symbol).TypeArgumentNullableAnnotations[0]); 3053Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IMethodSymbol)symbolInfo.Symbol).TypeArguments[0].NullableAnnotation); 3054Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArgumentNullableAnnotations[1]); 3055Assert.Equal(expectedAnnotation, ((IMethodSymbol)symbolInfo.Symbol).TypeArguments[1].NullableAnnotation); 3115Assert.Equal(PublicNullableAnnotation.None, ((IMethodSymbol)symbol).TypeArgumentNullableAnnotations[0]); 3116Assert.Equal(PublicNullableAnnotation.None, ((IMethodSymbol)symbol).TypeArguments[0].NullableAnnotation); 3158var methodSymbol = ((IMethodSymbol)symbolInfo.Symbol); 3203var methodSymbol = ((IMethodSymbol)symbolInfo.Symbol); 3366var propertySymbol = (IMethodSymbol)model.GetSymbolInfo(indexer).Symbol; 3412var method = (IMethodSymbol)model.GetSymbolInfo(syntax).Symbol; 3457var method = (IMethodSymbol)model.GetSymbolInfo(syntax).Symbol; 3490var lambdaSymbol = (IMethodSymbol)model.GetSymbolInfo(lambda).Symbol; 3509var mSymbol = model.GetDeclaredSymbol(mDeclaration); 3543var innerLambdaSymbol = (IMethodSymbol)model.GetSymbolInfo(innerLambda).Symbol; 3604var innerLambdaSymbol = (IMethodSymbol)model.GetSymbolInfo(innerLambda).Symbol; 3663var lambdaSymbol = (IMethodSymbol)model.GetSymbolInfo(lambda).Symbol; 3666var localFunctionSymbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 3810var lambdaSymbol = (IMethodSymbol)model.GetSymbolInfo(lambda).Symbol; 3983var innerLambdaSymbol1 = (IMethodSymbol)model.GetSymbolInfo(innerLambda1).Symbol; 3993var innerLambdaSymbol2 = (IMethodSymbol)model.GetSymbolInfo(innerLambda2).Symbol; 4135var localFunctionResult = lookupResults.OfType<IMethodSymbol>().First(m => m.MethodKind == MethodKind.LocalFunction); 4181var localFunctionSymbol = (IMethodSymbol)model.GetDeclaredSymbol(localFunction); 4182var nestedLocalFunction = (IMethodSymbol)model.GetDeclaredSymbol(lambda.DescendantNodes().OfType<LocalFunctionStatementSyntax>().ElementAt(1)); 4703var symbol2 = (IMethodSymbol)model.GetSpeculativeSymbolInfo(initializer.Position, expression, SpeculativeBindingOption.BindAsExpression).Symbol; 4782var actualAnnotations = invocations.Select(inv => (((IMethodSymbol)model.GetSymbolInfo(inv).Symbol)).TypeArguments[0].NullableAnnotation).ToArray();
Symbols\StaticAbstractMembersInInterfacesTests.cs (5)
19589var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 19672var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 19764var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 19853var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 28802var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<ConversionOperatorDeclarationSyntax>());
Symbols\SymbolEqualityTests.cs (18)
43var nonNullPlus = (IMethodSymbol)model.GetSymbolInfo(invocations[0]).Symbol; 44var nullPlus = (IMethodSymbol)model.GetSymbolInfo(invocations[1]).Symbol; 86var nonNullStringExt = (IMethodSymbol)model.GetSymbolInfo(invocations[0]).Symbol; 89var nullStringExt = (IMethodSymbol)model.GetSymbolInfo(invocations[1]).Symbol; 167var nonNullM = (IMethodSymbol)model.GetSymbolInfo(invocations[0]).Symbol; 168var nullM = (IMethodSymbol)model.GetSymbolInfo(invocations[1]).Symbol; 832var method1 = (IMethodSymbol)((INamedTypeSymbol)model.GetDeclaredSymbol(member1Syntax)).GetMembers("M").Single(); // A<T!>! A<T>.M(A<T!>! t) 833var method2 = (IMethodSymbol)model.GetSymbolInfo(member2Syntax).Symbol; // A<T!>! A<T!>.M(A<T!>! t) 939var lambdaSymbol = (IMethodSymbol)semanticModel1.GetSymbolInfo(lambdaSyntax).Symbol;
Symbols\TypeTests.cs (13)
1718var compType = (model.GetDeclaredSymbol(mnode) as IMethodSymbol).Parameters[0].Type; 2344var m1 = (IMethodSymbol)c.GetMember("M1"); 2349var m2 = (IMethodSymbol)c.GetMember("M2"); 2354var m3 = (IMethodSymbol)c.GetMember("M3"); 2392var m1 = (IMethodSymbol)c.GetMember("M1"); 2397var m2 = (IMethodSymbol)c.GetMember("M2"); 2402var m3 = (IMethodSymbol)c.GetMember("M3");
Symbols\UnsignedRightShiftTests.cs (16)
129var unsignedShiftSymbol = (IMethodSymbol)model.GetSymbolInfo(unsignedShift).Symbol; 130var shiftSymbol = (IMethodSymbol)model.GetSymbolInfo(shift).Symbol; 632var unsignedShiftSymbol = (IMethodSymbol)model.GetSymbolInfo(unsignedShift).Symbol; 633var shiftSymbol = (IMethodSymbol)model.GetSymbolInfo(shift).Symbol; 1182var unsignedShiftSymbol = (IMethodSymbol)model.GetSymbolInfo(unsignedShift).Symbol; 1183var shiftSymbol = (IMethodSymbol)model.GetSymbolInfo(shift).Symbol; 1590var unsignedShiftSymbol = (IMethodSymbol)model.GetSymbolInfo(unsignedShift).Symbol; 1591var shiftSymbol = (IMethodSymbol)model.GetSymbolInfo(shift).Symbol;
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (2)
Syntax\LambdaUtilitiesTests.cs (2)
47var enclosingMethod = (IMethodSymbol)model.GetEnclosingSymbol(span.Value.Start);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (15)
CompilationTestUtils.cs (9)
116public static void CheckReducedExtensionMethod(IMethodSymbol reducedMethod, IMethodSymbol reducedFrom) 139public static void CheckConstructedMethod(IMethodSymbol constructedMethod, IMethodSymbol constructedFrom) 158private static void CheckTypeParameters(IMethodSymbol method) 160var constructedFrom = method.ConstructedFrom; 220public ImmutableArray<IMethodSymbol> MethodGroup 222get { return this.MemberGroup.WhereAsArray(s => s.Kind == SymbolKind.Method).SelectAsArray(s => (IMethodSymbol)s); } 468var method = model.GetDeclaredSymbol(methodSyntax);
Extensions.cs (5)
659public static ITypeSymbol GetParameterType(this IMethodSymbol method, int index) => method.Parameters[index].Type; 716return ((IMethodSymbol)member).Parameters; 777return ((IMethodSymbol)symbol).ReturnType; 812return ((IMethodSymbol)symbol).ConstructedFrom; 837public static IEnumerable<Microsoft.CodeAnalysis.NullableAnnotation> TypeArgumentNullableAnnotations(this IMethodSymbol method)
FunctionPointerUtilities.cs (1)
238var signature = ptrType.Signature;
Microsoft.CodeAnalysis.CSharp.Workspaces (136)
CastSimplifier.cs (8)
570if (memberSymbol is not IMethodSymbol methodSymbol) 577for (var current = methodSymbol; current != null; current = current.OverriddenMethod) 812if (sym is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } op) 1027if (oldSymbolInfo is IMethodSymbol method && 1198if (originalMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } originalMethodSymbol || 1199rewrittenMemberSymbol is not IMethodSymbol { MethodKind: MethodKind.DelegateInvoke } rewrittenMethodSymbol) 1273if (originalMemberSymbol is IMethodSymbol originalMethodSymbol && 1274rewrittenMemberSymbol is IMethodSymbol rewrittenMethodSymbol)
Classification\SyntaxClassification\NameSyntaxClassifier.cs (3)
180symbol is IParameterSymbol { ContainingSymbol: IMethodSymbol { Name: WellKnownMemberNames.TopLevelStatementsEntryPointMethodName } }) 231case IMethodSymbol methodSymbol: 283private static string GetClassificationForMethod(IMethodSymbol methodSymbol)
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.cs (1)
32if (symbolInfo.Symbol is IMethodSymbol methodSymbol
CodeGeneration\CSharpSyntaxGenerator.cs (1)
348private protected override SyntaxNode DestructorDeclaration(IMethodSymbol destructorMethod)
ConstructorGenerator.cs (5)
27IMethodSymbol constructor, 43IMethodSymbol constructor, 89IMethodSymbol constructor) 107IMethodSymbol constructor) 116private static SyntaxTokenList GenerateModifiers(IMethodSymbol constructor, CSharpCodeGenerationContextInfo info)
ConversionGenerator.cs (3)
20IMethodSymbol method, 32IMethodSymbol method, 43IMethodSymbol method,
CSharpCodeGenerationService.cs (4)
117protected override TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 201var getMethod = property.GetMethod; 216var setMethod = property.SetMethod; 651IMethodSymbol method, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
CSharpSemanticFacts.cs (13)
65if (symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }) 188public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 199public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 203using var builder = TemporaryArray<IMethodSymbol>.Empty; 208return ImmutableArray<IMethodSymbol>.Empty; 211public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 215using var builder = TemporaryArray<IMethodSymbol>.Empty; 220return ImmutableArray<IMethodSymbol>.Empty; 223private static void FlattenDeconstructionMethods(DeconstructionInfo deconstruction, ref TemporaryArray<IMethodSymbol> builder) 225var method = deconstruction.Method; 368public ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken) 370using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var builder); 379if (localFunctionSymbol is IMethodSymbol methodSymbol)
CSharpSemanticFactsService.cs (1)
122public IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
CSharpTypeInferenceService.TypeInferrer.cs (15)
112if (allSymbols is [IMethodSymbol method]) 394var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 468var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 476argumentOpt == null && info.Symbol is IMethodSymbol method && method.Parameters.All(p => p.IsOptional || p.IsParams)) 480.OfType<IMethodSymbol>(); 555var methods = info.GetBestOrAllSymbols().OfType<IMethodSymbol>(); 584private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgument(int index, IEnumerable<IMethodSymbol> methods, AttributeArgumentSyntax argumentOpt = null) 587private IEnumerable<TypeInferenceInfo> InferTypeInArgument(int index, IEnumerable<IMethodSymbol> methods, ArgumentSyntax argumentOpt, InvocationExpressionSyntax parentInvocationExpressionToTypeInfer) 612private IMethodSymbol Instantiate(IMethodSymbol method, IList<ITypeSymbol> invocationTypes) 1339.Cast<IMethodSymbol>() 1357.Cast<IMethodSymbol>() 1447var addMethodParameterTypes = addMethodSymbols.Select(m => ((IMethodSymbol)m).Parameters[0]).Select(p => new TypeInferenceInfo(p.Type)); 1654var invoke = type.DelegateInvokeMethod; 2089var isAsync = symbol is IMethodSymbol methodSymbol && methodSymbol.IsAsync;
CSharpUseImplicitTypeHelper.cs (2)
234var method = memberGroup[0] as IMethodSymbol;
DestructorGenerator.cs (3)
23IMethodSymbol destructor, 39IMethodSymbol destructor, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 63IMethodSymbol constructor)
Editing\CSharpImportAdder.cs (2)
139if (member is IMethodSymbol method && method.IsExtensionMethod) 227if (symbol is IMethodSymbol method)
EventGenerator.cs (4)
152IMethodSymbol? accessor, 164IMethodSymbol accessor, 173private static BlockSyntax GenerateBlock(IMethodSymbol accessor) 182IMethodSymbol? accessor)
ExternalAccess\Pythia\Api\PythiaSymbolExtensions.cs (2)
29public static bool? IsMoreSpecificThan(this IMethodSymbol method1, IMethodSymbol method2)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs\ExpressionSyntaxExtensions.cs (2)
370if (symbol is IMethodSymbol 520return symbolInfo.GetBestOrAllSymbols().Any() && !symbolInfo.GetBestOrAllSymbols().Any(static s => s is IMethodSymbol);
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs\SyntaxNodeExtensions.cs (1)
1010if (symbol is IMethodSymbol method &&
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (3)
1025IMethodSymbol m => m.Arity > 0, 2008while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method) 2836if (symbol is IMethodSymbol)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
151public static bool TryGetRecordPrimaryConstructor(this INamedTypeSymbol typeSymbol, [NotNullWhen(true)] out IMethodSymbol? primaryConstructor)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\TypeSyntaxExtensions.cs\TypeSyntaxExtensions.cs (1)
55public static TypeSyntax GenerateReturnTypeSyntax(this IMethodSymbol method)
MethodGenerator.cs (12)
29IMethodSymbol method, 42IMethodSymbol method, 57IMethodSymbol method, 72IMethodSymbol method, CodeGenerationDestination destination, 90IMethodSymbol method, 109IMethodSymbol method, CodeGenerationDestination destination, 138IMethodSymbol method, CodeGenerationDestination destination, 193IMethodSymbol method, CSharpCodeGenerationContextInfo info, bool isExplicit) 207IMethodSymbol method) 214private static SyntaxList<TypeParameterConstraintClauseSyntax> GenerateDefaultConstraints(IMethodSymbol method) 247IMethodSymbol method, CSharpCodeGenerationContextInfo info) 253IMethodSymbol method, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info)
NamedTypeGenerator.cs (3)
109var primaryConstructor = members.OfType<IMethodSymbol>().FirstOrDefault(m => CodeGenerationConstructorInfo.GetIsPrimaryConstructor(m)); 227var invokeMethod = namedType.DelegateInvokeMethod;
OperatorGenerator.cs (4)
23IMethodSymbol method, 35IMethodSymbol method, 72IMethodSymbol method, 106private static SyntaxTokenList GenerateModifiers(IMethodSymbol method, CodeGenerationDestination destination, bool hasNoBody)
ParameterGenerator.cs (1)
80parameter.ContainingSymbol is IMethodSymbol methodSymbol &&
PropertyGenerator.cs (5)
274IMethodSymbol? accessor, 287IMethodSymbol accessor, 302private static BlockSyntax GenerateBlock(IMethodSymbol accessor) 311IMethodSymbol? accessor) 321IMethodSymbol accessor,
Recommendations\CSharpRecommendationServiceRunner.cs (1)
434if (symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction })
Recommendations\CSharpRecommendationServiceRunner_Conversions.cs (6)
153if (member is not IMethodSymbol method) 180static bool IsLiftableConversion(IMethodSymbol method) 184private IMethodSymbol LiftConversion(Compilation compilation, IMethodSymbol method) 227var conversion = CreateConversion( 249private static IMethodSymbol CreateConversion(INamedTypeSymbol containingType, ITypeSymbol fromType, ITypeSymbol toType, string? documentationCommentXml)
Recommendations\CSharpRecommendationServiceRunner_Operators.cs (2)
33if (member is not IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator } method) 57private static bool IsLiftableOperator(IMethodSymbol symbol)
Rename\CSharpRenameRewriterLanguageService.cs (5)
830renamedSymbol.ContainingSymbol is IMethodSymbol methodSymbol && 853conflicts.AddRange(DeclarationConflictHelpers.GetMembersWithConflictingSignatures((IMethodSymbol)renamedSymbol, trimOptionalParameters: false).Select(t => reverseMappedLocations[t])); 944var property = ((IMethodSymbol)symbol).AssociatedSymbol!; 1062var method = (IMethodSymbol)symbol;
SemanticModelExtensions.cs (1)
437if (semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol is IMethodSymbol member && index < member.Parameters.Length)
Simplification\CSharpSimplificationService.Expander.cs (8)
118var returnType = (_semanticModel.GetSymbolInfo(lambdaExpression).Symbol as IMethodSymbol)?.ReturnType; 140var returnType = (_semanticModel.GetSymbolInfo(parentLambda).Symbol as IMethodSymbol)?.ReturnType; 560((IMethodSymbol)symbol).IsStatic) 743if (((IMethodSymbol)symbol).TypeArguments.Length != 0) 745var typeArguments = ((IMethodSymbol)symbol).TypeArguments; 1056rewrittenNode = RewriteExtensionMethodInvocation(originalNode, rewrittenNode, ((MemberAccessExpressionSyntax)rewrittenNode.Expression).Expression, (IMethodSymbol)targetSymbol); 1067IMethodSymbol reducedExtensionMethod) 1092IMethodSymbol reducedExtensionMethod)
Simplification\Reducers\CSharpExtensionMethodReducer.cs (3)
60var targetMethodSymbol = (IMethodSymbol)targetSymbol.Symbol; 123if (newSymbol.Kind == SymbolKind.Method && oldSymbol.Equals(((IMethodSymbol)newSymbol).GetConstructedReducedFrom()))
Simplification\Simplifiers\ExpressionSimplifier.cs (1)
431if (enclosingSymbol is IMethodSymbol methodSymbol)
Simplification\Simplifiers\NameSimplifier.cs (2)
79var method = symbol as IMethodSymbol;
SpeculationAnalyzer.cs (1)
812protected override void GetForEachSymbols(SemanticModel model, CommonForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType)
StatementGenerator.cs (1)
18internal static BlockSyntax GenerateBlock(IMethodSymbol method)
TypeStyleHelper.cs (5)
104if (semanticModel.GetSymbolInfo(memberName, cancellationToken).Symbol is not IMethodSymbol methodSymbol) 118private static bool IsPossibleCreationOrConversionMethod(IMethodSymbol methodSymbol, 143private static bool IsPossibleCreationMethod(IMethodSymbol methodSymbol, 159private static bool IsPossibleConversionMethod(IMethodSymbol methodSymbol) 175private static bool IsContainerTypeEqualToReturnType(IMethodSymbol methodSymbol,
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (6)
CodeGeneration\SyntaxGeneratorTests.cs (6)
976var conversion = gcHandleType.GetMembers().OfType<IMethodSymbol>().Single(m => 984conversion = doubleType.GetMembers().OfType<IMethodSymbol>().Single(m => 2495var method = type.GetMembers().Single(m => m is IMethodSymbol { MethodKind: MethodKind.ExplicitInterfaceImplementation }); 4174var method = symbolC.GetMembers().OfType<IMethodSymbol>().Single(m => m.MethodKind == MethodKind.Ordinary);
Microsoft.CodeAnalysis.EditorFeatures (1)
GoToDefinition\GoToDefinitionHelpers.cs (1)
103if (symbol is IMethodSymbol method)
Microsoft.CodeAnalysis.EditorFeatures.Cocoa (3)
NavigationCommandHandlers\FindExtensionMethodsCommandHandler.cs (3)
99foreach (var extMethod in type.GetMembers().OfType<IMethodSymbol>().Where(method => method.IsExtensionMethod)) 104var reducedMethod = extMethod.ReduceExtensionMethod(symbol);
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (3)
EditAndContinue\EditAndContinueTestHelpers.cs (3)
247edit.OldSymbol is IMethodSymbol) 305if (expectedOldSymbol is IMethodSymbol { IsPartialDefinition: true } && 306symbolKey.Resolve(oldCompilation, ignoreAssemblyKey: true).Symbol is IMethodSymbol resolvedMethod)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (21)
CodeGeneration\CodeGenerationTests.cs (12)
117var ctor = CodeGenerationSymbolFactory.CreateConstructorSymbol( 144Func<SemanticModel, ImmutableArray<IMethodSymbol>> getExplicitInterfaces = null, 160var method = CodeGenerationSymbolFactory.CreateMethodSymbol( 239var method = CodeGenerationSymbolFactory.CreateOperatorSymbol( 288var method = CodeGenerationSymbolFactory.CreateConversionSymbol( 387IMethodSymbol addMethod = null, 388IMethodSymbol removeMethod = null, 389IMethodSymbol raiseMethod = null, 454var getAccessor = CodeGenerationSymbolFactory.CreateMethodSymbol( 465var setAccessor = CodeGenerationSymbolFactory.CreateMethodSymbol( 706private static ImmutableArray<IMethodSymbol> GetMethodSymbols( 707Func<SemanticModel, ImmutableArray<IMethodSymbol>> explicitInterface, TestContext context)
CodeGeneration\CodeGenerationTests.CSharp.cs (2)
681getExplicitInterfaces: s => s.LookupSymbols(input.IndexOf('M'), null, "M").OfType<IMethodSymbol>().ToImmutableArray()); 699getExplicitInterfaces: s => s.LookupSymbols(input.IndexOf('M'), null, "M").OfType<IMethodSymbol>().ToImmutableArray());
CodeGeneration\CodeGenerationTests.VisualBasic.cs (1)
648getExplicitInterfaces: s => s.LookupSymbols(input.IndexOf('M'), null, "M").OfType<IMethodSymbol>().ToImmutableArray());
Utilities\SymbolEquivalenceComparerTests.cs (6)
1738var method1 = GetInvokedSymbol<TInvocation>(comp1, typeName, methodName); 1739var method2 = GetInvokedSymbol<TInvocation>(comp2, typeName, methodName); 1749var cfmethod1 = method1.ConstructedFrom; 1750var cfmethod2 = method2.ConstructedFrom; 1755private static IMethodSymbol GetInvokedSymbol<TInvocation>(Compilation compilation, string typeName, string methodName) 1768return info.Symbol as IMethodSymbol;
Microsoft.CodeAnalysis.EditorFeatures2.UnitTests (2)
Diagnostics\DiagnosticServiceTests.vb (2)
1291Dim method = DirectCast(context.Symbol, IMethodSymbol) 1919Dim method = (DirectCast(ctxt.Symbol, IMethodSymbol))
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (4)
AbstractTypeParameterChecker.cs (2)
27public abstract IParameterSymbol GetThisParameter(IMethodSymbol method); 87public sealed override void VisitMethod(IMethodSymbol symbol)
InstructionDecoder.cs (2)
66var parameters = ((IMethodSymbol)method.GetISymbol()).Parameters; 117return ((IMethodSymbol)method.GetISymbol()).ReturnType.ToDisplayString(DisplayFormat);
Microsoft.CodeAnalysis.Features (596)
AbstractAddParameterCodeFixProvider.cs (11)
77if (semanticModel.GetEnclosingSymbol(node.SpanStart, cancellationToken) is IMethodSymbol methodWithDiagnostic) 123var candidates = semanticModel.GetMemberGroup(expression, cancellationToken).OfType<IMethodSymbol>().ToImmutableArray(); 156IMethodSymbol methodSymbol => methodSymbol.ContainingType, // Implicit object creation expressions 187ImmutableArray<IMethodSymbol> methodCandidates) 192foreach (var method in methodCandidates.OrderBy(m => m.Parameters.Length)) 225private static int NonParamsParameterCount(IMethodSymbol method) 299var aMethod = codeFixData.First().Method; // We need to term the MethodGroup and need an arbitrary IMethodSymbol to do so. 330var methodToUpdate = argumentInsertPositionData.MethodToUpdate; 348private static string GetCodeFixTitle(string resourceString, IMethodSymbol methodToUpdate, bool includeParameters) 366IMethodSymbol method, 432IMethodSymbol method,
AbstractMakeMethodAsynchronousCodeFixProvider.cs (9)
29bool keepVoid, IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes, CancellationToken cancellationToken); 58var methodSymbol = GetMethodSymbol(semanticModel, node, cancellationToken); 87private static IMethodSymbol? GetMethodSymbol(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 91return symbol as IMethodSymbol; 116var methodSymbol = GetMethodSymbol(semanticModel, node, cancellationToken); 158IMethodSymbol methodSymbol, 177var newMethod = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(newNode, cancellationToken); 187IMethodSymbol methodSymbol,
AbstractMakeMethodSynchronousCodeFixProvider.cs (8)
25protected abstract SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTypes knownTypes); 58var methodSymbol = (IMethodSymbol?)(semanticModel.GetDeclaredSymbol(node, cancellationToken) ?? semanticModel.GetSymbolInfo(node, cancellationToken).GetAnySymbol()); 73private async Task<Solution> RenameThenRemoveAsyncTokenAsync(Document document, SyntaxNode node, IMethodSymbol methodSymbol, CancellationToken cancellationToken) 89var newMethod = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(newNode, cancellationToken); 97Document document, IMethodSymbol methodSymbol, SyntaxNode node, CancellationToken cancellationToken) 128if (semanticModel.GetDeclaredSymbol(methodDeclaration, cancellationToken) is IMethodSymbol methodSymbol)
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
155return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
AbstractRemoveAsyncModifierCodeFixProvider.cs (5)
45var methodSymbol = GetMethodSymbol(node, semanticModel, cancellationToken); 85var methodSymbol = GetMethodSymbol(node, semanticModel, cancellationToken); 104private static IMethodSymbol? GetMethodSymbol(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 105=> semanticModel.GetSymbolInfo(node, cancellationToken).Symbol as IMethodSymbol ?? 106semanticModel.GetDeclaredSymbol(node, cancellationToken) as IMethodSymbol;
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (8)
331var targetMethod = ((IInvocationOperation)operationContext.Operation).TargetMethod.OriginalDefinition; 380var constructor = ((IObjectCreationOperation)operationContext.Operation).Constructor.OriginalDefinition; 407var entryPoint = symbolEndContext.Compilation.GetEntryPoint(symbolEndContext.CancellationToken); 502case IMethodSymbol _: 620var methodSymbol = (IMethodSymbol)memberSymbol; 717private bool IsMethodWithSpecialAttribute(IMethodSymbol methodSymbol) 720private static bool IsShouldSerializeOrResetPropertyMethod(IMethodSymbol methodSymbol)
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
105protected abstract bool MethodHasHandlesClause(IMethodSymbol method);
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
396if (owningSymbol is IMethodSymbol method && 676if (context.OwningSymbol is not IMethodSymbol method)
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (3)
32private readonly ConcurrentDictionary<IMethodSymbol, bool> _methodsUsedAsDelegates; 55_methodsUsedAsDelegates = new ConcurrentDictionary<IMethodSymbol, bool>(); 214parameter.ContainingSymbol is not IMethodSymbol method ||
AbstractSimplifyInterpolationHelpers.cs (1)
122private static bool IsObjectToStringOverride(IMethodSymbol method)
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (10)
56if (!TryGetLinqWhereExtensionMethod(enumerableType, out var whereMethodSymbol)) 78static bool TryGetLinqWhereExtensionMethod(INamedTypeSymbol enumerableType, [NotNullWhen(true)] out IMethodSymbol? whereMethod) 80foreach (var whereMethodSymbol in enumerableType.GetMembers(nameof(Enumerable.Where)).OfType<IMethodSymbol>()) 96static bool TryGetLinqMethodsThatDoNotReturnEnumerables(INamedTypeSymbol enumerableType, out ImmutableArray<IMethodSymbol> linqMethods) 98using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var linqMethodSymbolsBuilder); 99foreach (var method in enumerableType.GetMembers().OfType<IMethodSymbol>()) 113public void AnalyzeInvocationOperation(OperationAnalysisContext context, INamedTypeSymbol enumerableType, IMethodSymbol whereMethod, ImmutableArray<IMethodSymbol> linqMethods)
AbstractUseAutoPropertyAnalyzer.cs (5)
75protected abstract TExpression? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken); 76protected abstract TExpression? GetSetterExpression(IMethodSymbol setMethod, SemanticModel semanticModel, CancellationToken cancellationToken); 236var setMethod = property.SetMethod; 269private IFieldSymbol? GetSetterField(SemanticModel semanticModel, IMethodSymbol setMethod, CancellationToken cancellationToken) 272private IFieldSymbol? GetGetterField(SemanticModel semanticModel, IMethodSymbol getMethod, CancellationToken cancellationToken)
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (3)
37var referenceEqualsMethod = objectType.GetMembers(nameof(ReferenceEquals)) 38.OfType<IMethodSymbol>() 56private void AnalyzeSyntax(SyntaxNodeAnalysisContext context, IMethodSymbol referenceEqualsMethod, bool unconstraintedGenericSupported)
AbstractUseNullPropagationDiagnosticAnalyzer.cs (6)
87var referenceEqualsMethod = objectType?.GetMembers(nameof(ReferenceEquals)) 88.OfType<IMethodSymbol>() 105IMethodSymbol? referenceEqualsMethod) 169if (semanticModel.GetSymbolInfo(name, cancellationToken).GetAnySymbol() is IMethodSymbol) 198IMethodSymbol? referenceEqualsMethod, 253IMethodSymbol? referenceEqualsMethod,
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
30IMethodSymbol? referenceEqualsMethod)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (4)
107var method = TryGetValidFormatMethodSymbol(symbolInfo); 280protected static IMethodSymbol? TryGetValidFormatMethodSymbol(SymbolInfo symbolInfo) 292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction) 308return (IMethodSymbol)symbolInfo.Symbol;
AddAccessibilityModifiersHelpers.cs (1)
50if (symbol is IMethodSymbol or IPropertySymbol or IEventSymbol)
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.ConstructorCandidate.cs (2)
13public readonly IMethodSymbol Constructor; 17public ConstructorCandidate(IMethodSymbol constructor, ImmutableArray<ISymbol> missingMembers, ImmutableArray<IParameterSymbol> missingParameters)
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.State.cs (3)
86foreach (var constructor in containingType.InstanceConstructors) 98private static async Task<bool> IsApplicableConstructorAsync(IMethodSymbol constructor, Document document, ImmutableArray<string> parameterNamesForSelectedMembers, CancellationToken cancellationToken) 122private static ConstructorCandidate CreateConstructorCandidate(ImmutableArray<IParameterSymbol> parametersForSelectedMembers, ImmutableArray<ISymbol> selectedMembers, IMethodSymbol constructor)
AddDebuggerDisplay\AbstractAddDebuggerDisplayCodeRefactoringProvider.cs (5)
83var methodSymbol = (IMethodSymbol)semanticModel.GetRequiredDeclaredSymbol(method, cancellationToken); 99private static bool IsToStringMethod(IMethodSymbol methodSymbol) 102private static bool IsDebuggerDisplayMethod(IMethodSymbol methodSymbol) 161if (!typeSymbol.GetMembers().OfType<IMethodSymbol>().Any(IsDebuggerDisplayMethod))
AddImport\AbstractAddImportFeatureService.cs (2)
47protected abstract bool IsViableExtensionMethod(IMethodSymbol method, SyntaxNode expression, SemanticModel semanticModel, ISyntaxFacts syntaxFacts, CancellationToken cancellationToken); 451protected static bool IsViableExtensionMethod(IMethodSymbol method, ITypeSymbol receiver)
AddImport\SymbolReferenceFinder.cs (10)
373var methodSymbols = OfType<IMethodSymbol>(symbols); 387private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods( 388ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols, 395private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods( 396ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols, ITypeSymbol typeSymbol) 402private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethodsWorker( 403ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols) 428var methodSymbols = OfType<IMethodSymbol>(symbols).SelectAsArray(s => s.WithDesiredName(null)); 557SearchScope searchScope, string name, ITypeSymbol type, Func<IMethodSymbol, bool> predicate = null) 566var methodSymbols = OfType<IMethodSymbol>(symbols).SelectAsArray(s => s.WithDesiredName(null));
AddParameterService.cs (7)
26public static bool HasCascadingDeclarations(IMethodSymbol method) 75IMethodSymbol method, 109foreach (var methodDeclaration in documentLookup) 147private static async Task<ImmutableArray<IMethodSymbol>> FindMethodDeclarationReferencesAsync( 148Document invocationDocument, IMethodSymbol method, CancellationToken cancellationToken) 154.OfType<IMethodSymbol>() 160IMethodSymbol method,
ArgumentInsertPositionData.cs (2)
9public ArgumentInsertPositionData(IMethodSymbol methodToUpdate, TArgumentSyntax argumentToInsert, int argumentInsertionIndex) 16public IMethodSymbol MethodToUpdate { get; }
ChangeSignature\AbstractChangeSignatureService.cs (7)
49IMethodSymbol symbol, Document document, CancellationToken cancellationToken); 81protected abstract bool TryGetRecordPrimaryConstructor(INamedTypeSymbol typeSymbol, [NotNullWhen(true)] out IMethodSymbol? primaryConstructor); 114if (symbol is IMethodSymbol method) 138else if (TryGetRecordPrimaryConstructor(typeSymbol, out var primaryConstructor)) 270var methodSymbol = symbol.Definition as IMethodSymbol; 1037if (symbol is IMethodSymbol methodSymbol && methodSymbol.Parameters.LastOrDefault()?.IsParams == true)
ChangeSignature\DelegateInvokeMethodReferenceFinder.cs (5)
28internal class DelegateInvokeMethodReferenceFinder : AbstractReferenceFinder<IMethodSymbol> 32protected override bool CanFind(IMethodSymbol symbol) 36IMethodSymbol symbol, 63IMethodSymbol symbol, 74IMethodSymbol methodSymbol,
CodeFixData.cs (2)
14IMethodSymbol method, 26public IMethodSymbol Method { get; }
CodeLens\CodeLensFindReferenceProgress.cs (2)
82(definition as IMethodSymbol)?.AssociatedSymbol != null; 134(definition as IMethodSymbol)?.MethodKind == MethodKind.Constructor;
CodeLens\CodeLensReferencesService.cs (2)
231var method = (IMethodSymbol)current;
CodeRefactorings\SyncNamespace\AbstractChangeNamespaceService.cs (2)
535foreach (var methodSymbol in typeSymbol.GetMembers().OfType<IMethodSymbol>())
Completion\Providers\AbstractContextVariableArgumentProvider.cs (2)
90while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method) 97if (enclosingSymbol is IMethodSymbol { ContainingType: { } containingType })
Completion\Providers\AbstractDocCommentCompletionProvider.cs (2)
228var returns = symbol is IMethodSymbol method && !method.ReturnsVoid; 236var delegateInvokeMethod = namedType.DelegateInvokeMethod;
Completion\Providers\AbstractMemberInsertingCompletionProvider.cs (1)
155memberContainingDocument = await codeGenService.AddMethodAsync(context, containingType, (IMethodSymbol)generatedMember, cancellationToken).ConfigureAwait(false);
Completion\Providers\AbstractOverrideCompletionProvider.cs (2)
49if (newOverriddenMember is IMethodSymbol methodSymbol && 80SymbolKind.Method => ((IMethodSymbol)symbol).ReturnType,
Completion\Providers\AbstractPartialMethodCompletionProvider.cs (7)
36protected abstract bool IncludeAccessibility(IMethodSymbol method, CancellationToken cancellationToken); 38protected abstract string GetDisplayText(IMethodSymbol method, SemanticModel semanticModel, int position); 39protected abstract bool IsPartial(IMethodSymbol method); 68var method = (IMethodSymbol)member; 95.OfType<IMethodSymbol>() 104private CompletionItem CreateItem(IMethodSymbol method, int line, TextSpan span, SemanticModel semanticModel, DeclarationModifiers modifiers, SyntaxToken token)
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (1)
127=> symbol is IMethodSymbol method ? method.ReturnType : symbol.GetSymbolType();
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.cs (5)
139Compilation compilation, ImmutableArray<IMethodSymbol> extentsionMethodSymbols, ImmutableArray<ITypeSymbol> targetTypeSymbols, CancellationToken cancellationToken) 143using var _2 = PooledDictionary<(string containingNamespace, string methodName, bool isGeneric), (IMethodSymbol bestSymbol, int overloadCount, bool includeInTargetTypedCompletion)> 147foreach (var symbol in extentsionMethodSymbols) 151IMethodSymbol bestSymbol; 208Compilation compilation, IMethodSymbol methodSymbol, ImmutableArray<ITypeSymbol> targetTypeSymbols,
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.SymbolComputer.cs (22)
92public async Task<(ImmutableArray<IMethodSymbol> symbols, bool isPartialResult)> GetExtensionMethodSymbolsAsync(bool forceCacheCreation, bool hideAdvancedMembers, CancellationToken cancellationToken) 97using var _1 = ArrayBuilder<Task<ImmutableArray<IMethodSymbol>?>>.GetInstance(out var tasks); 115using var _2 = ArrayBuilder<IMethodSymbol>.GetInstance(out var symbols); 158private async Task<ImmutableArray<IMethodSymbol>?> GetExtensionMethodSymbolsFromProjectAsync( 176return ImmutableArray<IMethodSymbol>.Empty; 193private async ValueTask<ImmutableArray<IMethodSymbol>?> GetExtensionMethodSymbolsFromPeReferenceAsync( 223return ImmutableArray<IMethodSymbol>.Empty; 234private ImmutableArray<IMethodSymbol> GetExtensionMethodsForSymbolsFromDifferentCompilation( 235MultiDictionary<ITypeSymbol, IMethodSymbol> matchingMethodSymbols, 238using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var builder); 269foreach (var methodInOriginatingCompilation in methodSymbols.Select(s => SymbolFinder.FindSimilarSymbols(s, _originatingSemanticModel.Compilation).FirstOrDefault()).WhereNotNull()) 283var reducedMethodSymbol = methodInOriginatingCompilation.ReduceExtensionMethod(_receiverTypeSymbol); 306private ImmutableArray<IMethodSymbol> GetExtensionMethodsForSymbolsFromSameCompilation( 307MultiDictionary<ITypeSymbol, IMethodSymbol> matchingMethodSymbols, 310using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var builder); 328var reducedMethodSymbol = methodSymbols.First().ReduceExtensionMethod(_receiverTypeSymbol); 337foreach (var methodSymbol in methodSymbols) 350private MultiDictionary<ITypeSymbol, IMethodSymbol> GetPotentialMatchingSymbolsFromAssembly( 356var builder = new MultiDictionary<ITypeSymbol, IMethodSymbol>(); 387var methodSymbols = containerSymbol.GetMembers(methodName).OfType<IMethodSymbol>(); 389foreach (var methodSymbol in methodSymbols) 402static bool MatchExtensionMethod(IMethodSymbol method, string filterReceiverTypeName, bool internalsVisible, out ITypeSymbol? receiverType)
Completion\Providers\ImportCompletionProvider\ImportCompletionItem.cs (2)
175var methodSymbol = SymbolKey.ResolveString(methodSymbolKey, compilation).GetAnySymbol() as IMethodSymbol;
ConvertAnonymousType\AbstractConvertAnonymousTypeToClassCodeRefactoringProvider.cs (9)
267var constructor = CodeGenerationSymbolFactory.CreateConstructorSymbol( 287var constructor = CreateClassConstructor(semanticModel, typeName, properties, generator); 297var equalsMethod = await equalsAndGetHashCodeService.GenerateEqualsMethodAsync( 300var getHashCodeMethod = await equalsAndGetHashCodeService.GenerateGetHashCodeMethodAsync( 354var getMethod = prop.GetMethod != null ? CreateAccessorSymbol(prop, MethodKind.PropertyGet) : null; 355var setMethod = prop.SetMethod != null ? CreateAccessorSymbol(prop, MethodKind.PropertySet) : null; 372private static IMethodSymbol CreateAccessorSymbol(IPropertySymbol prop, MethodKind kind) 378private static IMethodSymbol CreateClassConstructor( 399var constructor = CodeGenerationSymbolFactory.CreateConstructorSymbol(
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (8)
256var indexer = GetInterfaceMember(collectionType, get_Item); 281var indexer = GetInterfaceMember(collectionType, get_Item); 301var countSymbol = GetInterfaceMember(current, get_Count); 302var indexerSymbol = GetInterfaceMember(current, get_Item); 308if (collectionType.FindImplementationForInterfaceMember(countSymbol) is not IMethodSymbol countImpl || 309collectionType.FindImplementationForInterfaceMember(indexerSymbol) is not IMethodSymbol indexerImpl) 349private static IMethodSymbol? GetInterfaceMember(ITypeSymbol interfaceType, string memberName) 354if (members is [IMethodSymbol method, ..])
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (3)
258var getEnumeratorMethod = TryFindMemberInThisOrBaseTypes<IMethodSymbol>( 281INamedTypeSymbol containingType, IMethodSymbol getEnumeratorMethod,
ConvertToInterpolatedString\AbstractConvertConcatenationToInterpolatedStringRefactoringProvider.cs (1)
249return semanticModel.GetSymbolInfo(expression, cancellationToken).Symbol is IMethodSymbol method &&
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (2)
76if (semanticModel.GetSymbolInfo(invocation, cancellationToken).GetAnySymbol() is not IMethodSymbol invocationSymbol) 226IMethodSymbol invocationSymbol,
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (7)
809var constructor = CreateConstructor(semanticModel, isRecord, structName, fields, generator, parameterNamingRule); 815var equalsMethod = await equalsAndGetHashCodeService.GenerateEqualsMethodAsync( 818var getHashCodeMethod = await equalsAndGetHashCodeService.GenerateGetHashCodeMethodAsync( 845private static IMethodSymbol GenerateDeconstructMethod( 847INamedTypeSymbol tupleType, IMethodSymbol constructor) 913private static IMethodSymbol CreateConstructor( 936var constructor = CodeGenerationSymbolFactory.CreateConstructorSymbol(
Debugging\AbstractBreakpointResolver.cs (6)
77protected abstract bool HasMethodBody(IMethodSymbol method, CancellationToken cancellationToken); 222: members.OfType<IMethodSymbol>().Where(m => m.TypeParameters.Length == nameAndArity.Arity); 231private static IMethodSymbol GetPartialImplementationPartOrNull(ISymbol symbol) 232=> (symbol.Kind == SymbolKind.Method) ? ((IMethodSymbol)symbol).PartialImplementationPart : null; 270return HasMethodBody((IMethodSymbol)methodOrProperty, cancellationToken); 284IMethodSymbol method => method.Parameters.Length != parameterCount,
DeserializationConstructorCheck.cs (1)
24public bool IsDeserializationConstructor(IMethodSymbol methodSymbol)
DocumentHighlighting\AbstractDocumentHighlightsService.cs (1)
140switch (((IMethodSymbol)symbol).MethodKind)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (47)
294protected abstract bool AreHandledEventsEqual(IMethodSymbol oldMethod, IMethodSymbol newMethod); 333SymbolKind.Method => GetDisplayName((IMethodSymbol)symbol), 359internal virtual string GetDisplayName(IMethodSymbol symbol) 434internal abstract IMethodSymbol GetLambdaExpressionSymbol(SemanticModel model, SyntaxNode lambdaExpression, CancellationToken cancellationToken); 1057if (newSymbol is IMethodSymbol { IsAsync: true }) 2298protected static bool ReturnTypesEquivalent(IMethodSymbol oldMethod, IMethodSymbol newMethod, bool exact) 2371var oldMethod = (IMethodSymbol)oldMember; 2372var newMethod = (IMethodSymbol)newMember; 2632if (newSymbol != null && !(newSymbol is IMethodSymbol newMethod && newMethod.IsPartialDefinition)) 3132if (oldSymbol is IMethodSymbol oldMethod && 3133newSymbol is IMethodSymbol newMethod) 3358Debug.Assert(containingSymbol is IPropertySymbol or IMethodSymbol); 3374if (containingSymbol is IMethodSymbol { IsPartialDefinition: true }) 3451if (symbol is IMethodSymbol 3477Debug.Assert(symbol is IMethodSymbol or IPropertySymbol or IEventSymbol); 3480if (symbol is IMethodSymbol) 3717else if (oldSymbol is IMethodSymbol oldMethod && newSymbol is IMethodSymbol newMethod) 3799if (oldSymbol is not IMethodSymbol { AssociatedSymbol: not null }) 3829else if (oldSymbol is IMethodSymbol oldMethod && newSymbol is IMethodSymbol newMethod) 3972if (oldSymbol is not IMethodSymbol { AssociatedSymbol: not null }) 4081private void AnalyzeReturnType(IMethodSymbol oldMethod, IMethodSymbol newMethod, EditAndContinueCapabilitiesGrantor capabilities, ref RudeEditKind rudeEdit, ref bool hasGeneratedReturnTypeAttributeChange, ref bool hasReturnTypeChange, CancellationToken cancellationToken) 4176=> parameter is { Ordinal: 0, ContainingSymbol: IMethodSymbol { IsExtensionMethod: true } }; 4206if (newSymbol.ContainingSymbol is IMethodSymbol { AssociatedSymbol: IEventSymbol associatedSymbol } && 4332if (oldSymbol is IMethodSymbol oldMethod && 4333newSymbol is IMethodSymbol newMethod) 4508if (newSymbol is IMethodSymbol or IEventSymbol or IPropertySymbol) 4541var result = record.GetMembers(WellKnownMemberNames.PrintMembersMethodName) 4542.OfType<IMethodSymbol>() 4554.OfType<IMethodSymbol>() 4565.OfType<IMethodSymbol>() 4891foreach (var newCtor in isStatic ? newType.StaticConstructors : newType.InstanceConstructors) 4939Contract.ThrowIfFalse(oldCtor is IMethodSymbol { MethodKind: MethodKind.Constructor or MethodKind.StaticConstructor }); 5529var containingLambda = parameter.ContainingSymbol as IMethodSymbol; 5861var oldLambdaSymbol = GetLambdaExpressionSymbol(oldModel, oldLambda, cancellationToken); 5862var newLambdaSymbol = GetLambdaExpressionSymbol(newModel, newLambda, cancellationToken); 5918if ((member as IMethodSymbol)?.MethodKind == MethodKind.AnonymousFunction || HasParameterClosureScope(member)) 5963if (oldMember is not IMethodSymbol oldMethod) 6053=> symbol is IMethodSymbol { Name: WellKnownMemberNames.TopLevelStatementsEntryPointMethodName }; 6061if (current is IMethodSymbol { Arity: > 0 })
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (2)
177=> symbol is IMethodSymbol method && 186private static bool AnalyzeStringLiteral(IMethodSymbol method, string? argName, int? argIndex)
EmbeddedLanguages\EmbeddedLanguageDetector.cs (2)
170m => m is IMethodSymbol { Parameters: [{ Type.SpecialType: SpecialType.System_String }, ..] }); 175if (impl is not IMethodSymbol { Parameters.Length: >= 1 } method)
EmbeddedLanguages\Json\LanguageServices\JsonLanguageDetector.cs (1)
152if (symbol is IMethodSymbol { DeclaredAccessibility: Accessibility.Public, IsStatic: true } &&
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexLanguageDetector.cs (1)
84from method in regexType.GetMembers().OfType<IMethodSymbol>()
EncapsulateField\AbstractEncapsulateFieldService.cs (2)
408protected static IMethodSymbol CreateSet(string originalFieldName, IFieldSymbol field, SyntaxGenerator factory) 427protected static IMethodSymbol CreateGet(string originalFieldName, IFieldSymbol field, SyntaxGenerator factory)
ExtractInterface\AbstractExtractInterfaceService.cs (2)
399var method = member as IMethodSymbol;
ExtractMethod\Extensions.cs (2)
50var methodSymbol = info.Symbol as IMethodSymbol;
ExtractMethod\MethodExtractor.CodeGenerator.cs (2)
65protected abstract OperationStatus<IMethodSymbol> GenerateMethodDefinition(bool localFunction, CancellationToken cancellationToken); 174OperationStatus<IMethodSymbol> methodSymbolResult,
ExtractMethod\MethodExtractor.VariableSymbol.cs (4)
130var compare = CompareMethodParameters((IMethodSymbol)_parameterSymbol.ContainingSymbol, (IMethodSymbol)other._parameterSymbol.ContainingSymbol); 140private static int CompareMethodParameters(IMethodSymbol left, IMethodSymbol right)
Fixer.cs (2)
61foreach (var candidateSymbol in candidateSymbols.OfType<IMethodSymbol>())
GenerateComparisonOperators\GenerateComparisonOperatorsCodeRefactoringProvider.cs (9)
81var compareMethod = TryGetCompareMethodImpl(containingType, iface); 122private static IMethodSymbol? TryGetCompareMethodImpl(INamedTypeSymbol containingType, ITypeSymbol comparableType) 126if (member is IMethodSymbol method) 127return (IMethodSymbol?)containingType.FindImplementationForInterfaceMember(method); 143var compareMethod = TryGetCompareMethodImpl(containingType, comparableType)!; 163IMethodSymbol compareMethod) 176private static ImmutableArray<IMethodSymbol> GenerateComparisonOperators( 183using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var operators); 247if (member is IMethodSymbol method &&
GenerateConstructorFromMembers\AbstractGenerateConstructorFromMembersCodeRefactoringProvider.State.cs (5)
24public IMethodSymbol? MatchingConstructor { get; private set; } 25public IMethodSymbol? DelegatedConstructor { get; private set; } 99private static IMethodSymbol? GetDelegatedConstructorBasedOnParameterTypes( 116private static IMethodSymbol? GetMatchingConstructorBasedOnParameterTypes(INamedTypeSymbol containingType, ImmutableArray<IParameterSymbol> parameters) 119private static bool MatchesConstructorBasedOnParameterTypes(IMethodSymbol constructor, ImmutableArray<IParameterSymbol> parameters)
GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.AbstractCodeAction.cs (5)
22private readonly IList<IMethodSymbol> _constructors; 31IList<IMethodSymbol> constructors, 59private IMethodSymbol CreateConstructorDefinition( 60IMethodSymbol baseConstructor) 81private static Accessibility DetermineAccessibility(IMethodSymbol baseConstructor, INamedTypeSymbol classType)
GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.CodeAction.cs (2)
19IMethodSymbol constructor, 25private static string GetDisplayText(State state, IMethodSymbol constructor)
GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.CodeActionAll.cs (1)
18IList<IMethodSymbol> constructors,
GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.cs (1)
45foreach (var constructor in state.UnimplementedConstructors)
GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.State.cs (5)
21public ImmutableArray<IMethodSymbol> UnimplementedConstructors { get; private set; } 97var baseNoArgConstructor = baseType.Constructors.FirstOrDefault(c => c.Parameters.Length == 0); 119IMethodSymbol constructor, 120ImmutableArray<IMethodSymbol> classConstructors, 123var matchingConstructor = classConstructors.FirstOrDefault(
GenerateEqualsAndGetHashCodeFromMembers\AbstractGenerateEqualsAndGetHashCodeService.cs (5)
40public async Task<IMethodSymbol> GenerateEqualsMethodAsync( 52public async Task<IMethodSymbol> GenerateIEquatableEqualsMethodAsync( 63public async Task<IMethodSymbol> GenerateEqualsMethodThroughIEquatableEqualsAsync( 119public async Task<IMethodSymbol> GenerateGetHashCodeMethodAsync( 129private IMethodSymbol CreateGetHashCodeMethod(
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeAction.cs (7)
66using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var methods); 142private async Task AddOperatorsAsync(ArrayBuilder<IMethodSymbol> members, CancellationToken cancellationToken) 158private IMethodSymbol CreateEqualityOperator( 187private static IMethodSymbol CreateInequalityOperator(Compilation compilation, SyntaxGenerator generator, ImmutableArray<IParameterSymbol> parameters) 204private Task<IMethodSymbol> CreateGetHashCodeMethodAsync(CancellationToken cancellationToken) 210private Task<IMethodSymbol> CreateEqualsMethodAsync(CancellationToken cancellationToken) 218private async Task<IMethodSymbol> CreateIEquatableEqualsMethodAsync(INamedTypeSymbol constructedEquatableType, CancellationToken cancellationToken)
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (3)
129.OfType<IMethodSymbol>() 161.OfType<IMethodSymbol>() 165.OfType<IMethodSymbol>()
GenerateEqualsAndGetHashCodeFromMembers\IGenerateEqualsAndGetHashCodeService.cs (4)
29Task<IMethodSymbol> GenerateEqualsMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, string? localNameOpt, CancellationToken cancellationToken); 35Task<IMethodSymbol> GenerateEqualsMethodThroughIEquatableEqualsAsync(Document document, INamedTypeSymbol namedType, CancellationToken cancellationToken); 41Task<IMethodSymbol> GenerateIEquatableEqualsMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, INamedTypeSymbol constructedEquatableType, CancellationToken cancellationToken); 50Task<IMethodSymbol> GenerateGetHashCodeMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, CancellationToken cancellationToken);
GenerateEqualsAndGetHashCodeFromMembers\IGenerateEqualsAndGetHashCodeServiceExtensions.cs (1)
13public static Task<IMethodSymbol> GenerateEqualsMethodAsync(
GenerateMember\GenerateConstructor\AbstractGenerateConstructorService.cs (5)
44protected abstract IMethodSymbol GetCurrentConstructor(SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken); 45protected abstract IMethodSymbol GetDelegatedConstructor(SemanticModel semanticModel, IMethodSymbol constructor, CancellationToken cancellationToken); 47protected bool WillCauseConstructorCycle(State state, SemanticDocument document, IMethodSymbol delegatedConstructor, CancellationToken cancellationToken) 51var currentConstructor = GetCurrentConstructor(document.SemanticModel, state.Token, cancellationToken);
GenerateMember\GenerateConstructor\AbstractGenerateConstructorService.State.cs (9)
50private IMethodSymbol? _delegatedConstructor; 152var delegatedConstructor = FindConstructorToDelegateTo(parameters, expressions, cancellationToken); 182private IMethodSymbol? FindConstructorToDelegateTo( 194var result = FindConstructorToDelegateTo(parameters, expressions, TypeToGenerateIn.InstanceConstructors, cancellationToken) ?? 203private IMethodSymbol? FindConstructorToDelegateTo( 206ImmutableArray<IMethodSymbol> constructors, 211foreach (var constructor in constructors) 246private bool Matches(IMethodSymbol ctor, ISyntaxFactsService service) 590var constructor = CodeGenerationSymbolFactory.CreateConstructorSymbol(
GenerateMember\GenerateConstructor\GenerateConstructorHelpers.cs (4)
22IMethodSymbol constructor) 75IMethodSymbol constructor, 83var constructorInCompilation = (IMethodSymbol?)SymbolKey.Create(constructor).Resolve(semanticModel.Compilation).Symbol;
GenerateMember\GenerateParameterizedMember\AbstractGenerateConversionService.cs (2)
26protected abstract bool TryInitializeImplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IMethodSymbol methodSymbol, out INamedTypeSymbol typeToGenerateIn); 27protected abstract bool TryInitializeExplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IMethodSymbol methodSymbol, out INamedTypeSymbol typeToGenerateIn);
GenerateMember\GenerateParameterizedMember\AbstractGenerateConversionService.State.cs (2)
62out var identifierToken, out var methodSymbol, out var typeToGenerateIn)) 86out var identifierToken, out var methodSymbol, out var typeToGenerateIn))
GenerateMember\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (1)
76var methodSymbol = CodeGenerationSymbolFactory.CreateMethodSymbol(
GenerateMember\GenerateParameterizedMember\AbstractGenerateMethodService.cs (1)
26protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IMethodSymbol methodSymbol, out INamedTypeSymbol typeToGenerateIn);
GenerateMember\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (3)
90out var identifierToken, out var methodSymbol, out var typeToGenerateIn)) 167var delegateInvokeMethod = typeInference.InferDelegateType(semanticModel, SimpleNameOrMemberAccessExpression, cancellationToken)?.DelegateInvokeMethod; 248private static IMethodSymbol CreateMethodSymbolWithReturnType(
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.CodeAction.cs (1)
91var method = await _state.SignatureInfo.GenerateMethodAsync(syntaxFactory, _isAbstract, cancellationToken).ConfigureAwait(false);
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs (2)
17private readonly IMethodSymbol _methodSymbol; 23IMethodSymbol methodSymbol,
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (4)
76var getMethod = CodeGenerationSymbolFactory.CreateAccessorSymbol( 81var setMethod = includeSetter ? getMethod : null; 96public async ValueTask<IMethodSymbol> GenerateMethodAsync( 109var method = CodeGenerationSymbolFactory.CreateMethodSymbol(
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.State.cs (2)
81.OfType<IMethodSymbol>(); 87var generatedMethod = await SignatureInfo.GenerateMethodAsync(syntaxFactory, false, cancellationToken).ConfigureAwait(false);
GenerateMember\GenerateVariable\AbstractGenerateVariableService.CodeAction.cs (3)
67var getAccessor = CreateAccessor(_state.DetermineMaximalAccessibility()); 68var setAccessor = _isReadonly || _refKind != RefKind.None 104private IMethodSymbol CreateAccessor(Accessibility accessibility)
GenerateMember\GenerateVariable\AbstractGenerateVariableService.cs (1)
214var containingMethod = state.ContainingMethod;
GenerateMember\GenerateVariable\AbstractGenerateVariableService.State.cs (5)
31public IMethodSymbol ContainingMethod { get; private set; } 397private static IMethodSymbol FindContainingMethodSymbol(int position, SemanticModel semanticModel, CancellationToken cancellationToken) 402if (symbol is IMethodSymbol method && !method.IsAnonymousFunction()) 480var enclosingMethodSymbol = _document.SemanticModel.GetEnclosingSymbol<IMethodSymbol>(SimpleNameOrMemberAccessExpressionOpt.SpanStart, cancellationToken);
GenerateType\AbstractGenerateTypeService.GenerateNamedType.cs (1)
155var delegatedConstructor = _state.BaseTypeOrInterfaceOpt.InstanceConstructors.FirstOrDefault(
GenerateType\AbstractGenerateTypeService.State.cs (2)
57public IMethodSymbol? DelegateMethodSymbol { get; private set; } 426public IMethodSymbol? DelegateCreationMethodSymbol { get; set; }
GoToBase\AbstractGoToBaseService.cs (6)
17protected abstract Task<IMethodSymbol?> FindNextConstructorInChainAsync( 18Solution solution, IMethodSymbol constructor, CancellationToken cancellationToken); 20protected static IMethodSymbol? FindBaseNoArgConstructor(IMethodSymbol constructor) 47if (bases.Length == 0 && symbol is IMethodSymbol { MethodKind: MethodKind.Constructor } constructor) 49var nextConstructor = await FindNextConstructorInChainAsync(solution, constructor, cancellationToken).ConfigureAwait(false);
HashCodeAnalyzer.cs (8)
20private readonly IMethodSymbol _objectGetHashCodeMethod; 26Compilation compilation, IMethodSymbol objectGetHashCodeMethod, 43if (objectType?.GetMembers(nameof(GetHashCode)).FirstOrDefault() is not IMethodSymbol objectGetHashCodeMethod) 64if (owningSymbol is not IMethodSymbol { Name: nameof(GetHashCode) } method) 90IMethodSymbol method, ImmutableArray<IOperation> statements) 113IMethodSymbol method, ImmutableArray<IOperation> statements) 211private bool OverridesSystemObject(IMethodSymbol? method) 213for (var current = method; current != null; current = current.OverriddenMethod)
HashCodeAnalyzer.OperationDeconstructor.cs (3)
24private readonly IMethodSymbol _method; 31HashCodeAnalyzer analyzer, IMethodSymbol method, ILocalSymbol? hashCodeVariable) 71var targetMethod = invocation.TargetMethod;
ImplementAbstractClass\ImplementAbstractClassData.cs (7)
170IMethodSymbol method => GenerateMethod(compilation, method, throughMember, modifiers, accessibility), 178Compilation compilation, IMethodSymbol method, ISymbol? throughMember, 213var getMethod = ShouldGenerateAccessor(property.GetMethod) 222var setMethod = ShouldGenerateAccessor(property.SetMethod) 249private IMethodSymbol? GetEventAddOrRemoveMethod( 250IEventSymbol @event, IMethodSymbol? accessor, ISymbol? throughMember, 268private bool ShouldGenerateAccessor([NotNullWhen(true)] IMethodSymbol? method)
ImplementInterface\AbstractImplementInterfaceService.AccessibilityHelper.cs (1)
51case IMethodSymbol methodSymbol:
ImplementInterface\AbstractImplementInterfaceService.CodeAction.cs (7)
374if (member is not IMethodSymbol method) 410if (member is IMethodSymbol method) 427var accessor = CodeGenerationSymbolFactory.CreateAccessorSymbol( 442private IMethodSymbol? GetAddOrRemoveMethod( 443IEventSymbol @event, bool generateInvisibly, IMethodSymbol accessor, string memberName, 479if (member is IMethodSymbol method1 && baseMember is IMethodSymbol method2)
ImplementInterface\AbstractImplementInterfaceService.CodeAction_Method.cs (3)
19IMethodSymbol method, 28var updatedMethod = method.EnsureNonConflictingNames(State.ClassOrStructType, syntaxFacts); 45private SyntaxNode CreateStatement(Compilation compilation, IMethodSymbol method)
ImplementInterface\AbstractImplementInterfaceService.CodeAction_Property.cs (6)
35var getAccessor = GenerateGetAccessor( 39var setAccessor = GenerateSetAccessor( 84private IMethodSymbol? GenerateSetAccessor( 104var setMethod = property.SetMethod.RemoveInaccessibleAttributesAndAttributesOfTypes( 117private IMethodSymbol? GenerateGetAccessor( 131var getMethod = property.GetMethod.RemoveInaccessibleAttributesAndAttributesOfTypes(
ImplementInterface\AbstractImplementInterfaceService.cs (1)
30protected abstract string ToDisplayString(IMethodSymbol disposeImplMethod, SymbolDisplayFormat format);
ImplementInterface\AbstractImplementInterfaceService.DisposePatternCodeAction.cs (12)
39private static IMethodSymbol? TryGetIDisposableDispose(Compilation compilation) 48if (member is IMethodSymbol disposeMethod && 73var disposeMethod = TryGetIDisposableDispose(state.Model.Compilation); 137var disposeMethod = TryGetIDisposableDispose(compilation)!; 206IMethodSymbol disposeMethod, 209var disposeImplMethod = CreateDisposeImplementationMethod(compilation, document, classType, disposeMethod, disposedValueField); 213var disposeInterfaceMethod = CreateDisposeInterfaceMethod( 223private IMethodSymbol CreateDisposeImplementationMethod( 227IMethodSymbol disposeMethod, 276private IMethodSymbol CreateDisposeInterfaceMethod( 280IMethodSymbol disposeMethod, 316var result = CodeGenerationSymbolFactory.CreateMethodSymbol(
InheritanceMargin\AbstractInheritanceMarginService.cs (1)
89or IMethodSymbol
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (3)
69if (symbol is IEventSymbol or IPropertySymbol or IMethodSymbol) 578if (memberSymbol is IMethodSymbol or IEventSymbol or IPropertySymbol) 611if (memberSymbol is IMethodSymbol or IEventSymbol or IPropertySymbol
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (10)
52IMethodSymbol methodSymbol, 86IMethodSymbol methodSymbol, 163document = await AddStringCheckAsync(document, parameter, functionDeclaration, (IMethodSymbol)parameter.ContainingSymbol, blockStatementOpt, nameof(string.IsNullOrEmpty), lazySimplifierOptions, cancellationToken).ConfigureAwait(false); 169(IMethodSymbol)parameter.ContainingSymbol, blockStatementOpt, lazySimplifierOptions, cancellationToken).ConfigureAwait(false); 301var targetMethod = invocation.TargetMethod; 316IMethodSymbol method, 339IMethodSymbol method, 355IMethodSymbol method, 415var methodSymbol = (IMethodSymbol)parameter.ContainingSymbol;
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (8)
47protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 52Document document, SyntaxNode functionDeclaration, IMethodSymbol method, IBlockOperation? blockStatementOpt, 64IMethodSymbol method, 110IMethodSymbol method, 162IMethodSymbol method, 223IMethodSymbol method) 353var getMethod = CodeGenerationSymbolFactory.CreateAccessorSymbol( 601if (parameter.ContainingSymbol is IMethodSymbol method)
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (4)
42IMethodSymbol method, 54IMethodSymbol methodSymbol, 88var methodSymbol = (IMethodSymbol)parameter.ContainingSymbol;
InlineHints\AbstractInlineParameterNameHintsService.cs (1)
224if (parameter is not { ContainingSymbol: IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction } method })
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (7)
92var calleeMethodSymbol = semanticModel.GetSymbolInfo(calleeInvocationNode, cancellationToken).GetAnySymbol() as IMethodSymbol; 248IMethodSymbol calleeMethodSymbol, 291IMethodSymbol calleeMethodSymbol, 366IMethodSymbol calleeMethodSymbol, 383if (callerSymbol is IMethodSymbol callerMethodSymbol 420IMethodSymbol calleeMethodSymbol,
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (2)
53IMethodSymbol calleeMethodSymbol, 330IMethodSymbol calleeMethodSymbol,
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (5)
44protected abstract bool IsDestructor(IMethodSymbol methodSymbol); 72if (containingSymbol is not IMethodSymbol methodSymbol) 138TExpressionSyntax expression, IMethodSymbol methodSymbol, SyntaxNode containingMethod, CodeGenerationOptionsProvider fallbackOptions, 230IMethodSymbol methodSymbol, SyntaxNode containingMethod, bool allOccurrences, IntroduceParameterCodeActionKind selectedCodeAction, 256Document document, IMethodSymbol methodSymbol, CancellationToken cancellationToken)
IntroduceParameter\IntroduceParameterDocumentRewriter.cs (3)
31private readonly IMethodSymbol _methodSymbol; 41IMethodSymbol methodSymbol, 457var newMethod = isTrampoline
LanguageServiceIndexFormat\SymbolMoniker.cs (1)
39if (symbol is IMethodSymbol method && method.MethodKind == MethodKind.BuiltinOperator)
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.cs (3)
37var invokeMethod = anonymousType.DelegateInvokeMethod ?? throw ExceptionUtilities.Unreachable(); 49IMethodSymbol invokeMethod, 152if (symbol is IMethodSymbol method)
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
50public override void VisitMethod(IMethodSymbol symbol)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (4)
193var documentationComment = original is IMethodSymbol method 359else if (symbol is IMethodSymbol method) 663private void AddDescriptionForMethod(IMethodSymbol method) 762.Where(s => s is IMethodSymbol || s.IsIndexer())
MetadataAsSource\AbstractMetadataAsSourceService.WrappedEventSymbol.cs (3)
34public IMethodSymbol? AddMethod => _symbol.AddMethod; 37public IMethodSymbol? RaiseMethod => _symbol.RaiseMethod; 38public IMethodSymbol? RemoveMethod => _symbol.RemoveMethod;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedMethodSymbol.cs (13)
17private readonly IMethodSymbol _symbol; 19public WrappedMethodSymbol(IMethodSymbol methodSymbol, bool canImplementImplicitly, IDocumentationCommentFormattingService docCommentFormattingService) 31public IMethodSymbol ConstructedFrom => _symbol.ConstructedFrom; 38public ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations 43? ImmutableArray.Create<IMethodSymbol>() 58public new IMethodSymbol OriginalDefinition 66public IMethodSymbol OverriddenMethod => _symbol.OverriddenMethod; 70public IMethodSymbol PartialDefinitionPart => _symbol.PartialDefinitionPart; 72public IMethodSymbol PartialImplementationPart => _symbol.PartialImplementationPart; 80public IMethodSymbol ReducedFrom 115public IMethodSymbol Construct(params ITypeSymbol[] typeArguments) 118public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations) 124public IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedNamedTypeSymbol.cs (5)
49SymbolKind.Method => new WrappedMethodSymbol((IMethodSymbol)m, canImplementImplicitly, docCommentFormattingService), 71public IMethodSymbol DelegateInvokeMethod => _symbol.DelegateInvokeMethod; 81public ImmutableArray<IMethodSymbol> InstanceConstructors => _symbol.InstanceConstructors; 82public ImmutableArray<IMethodSymbol> StaticConstructors => _symbol.StaticConstructors; 83public ImmutableArray<IMethodSymbol> Constructors => _symbol.Constructors;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedPropertySymbol.cs (2)
34public IMethodSymbol GetMethod => _symbol.GetMethod; 56public IMethodSymbol SetMethod => _symbol.SetMethod;
NamingStyleDiagnosticAnalyzerBase.cs (1)
116if (symbol is IMethodSymbol methodSymbol && methodSymbol.IsEntryPoint(compilation.TaskType(), compilation.TaskOfTType()))
PullMemberUp\MemberAndDestinationValidator.cs (1)
47IMethodSymbol methodSymbol => methodSymbol.MethodKind == MethodKind.Ordinary,
PullMemberUp\MembersPuller.cs (6)
78private static IMethodSymbol FilterOutNonPublicAccessor(IMethodSymbol getterOrSetter) 87private static IMethodSymbol MakePublicAccessor(IMethodSymbol getterOrSetter) 184else if (member is IMethodSymbol methodSymbol) 462if (member is IMethodSymbol methodSymbol)
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
38public override bool VisitMethod(IMethodSymbol symbol)
RegisterFixData.cs (3)
12public RegisterFixData() : this(new SeparatedSyntaxList<TArgumentSyntax>(), ImmutableArray<IMethodSymbol>.Empty, false) 16public RegisterFixData(SeparatedSyntaxList<TArgumentSyntax> arguments, ImmutableArray<IMethodSymbol> methodCandidates, bool isConstructorInitializer) 24public ImmutableArray<IMethodSymbol> MethodCandidates { get; }
Rename\SymbolicRenameInfo.cs (1)
206if (symbol.Kind == SymbolKind.Method && ((IMethodSymbol)symbol).MethodKind == MethodKind.UserDefinedOperator)
ReplaceMethodWithProperty\AbstractReplaceMethodWithPropertyService.cs (2)
31private static bool OverridesMetadataSymbol(IMethodSymbol method) 33for (var current = method; current != null; current = current.OverriddenMethod)
ReplaceMethodWithProperty\IReplaceMethodWithPropertyService.cs (4)
33public readonly IMethodSymbol GetMethod; 34public readonly IMethodSymbol SetMethod; 39IMethodSymbol getMethod, IMethodSymbol setMethod,
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (27)
61if (semanticModel.GetDeclaredSymbol(methodDeclaration) is not IMethodSymbol methodSymbol || 86var setMethod = FindSetMethod(methodSymbol); 103private static IMethodSymbol? FindSetMethod(IMethodSymbol getMethod) 107var setMethod = containingType.GetMembers() 108.OfType<IMethodSymbol>() 116private static bool IsValidGetMethod(IMethodSymbol getMethod) 128private static bool OverridesMethodFromSystemObject(IMethodSymbol method) 130for (var current = method; current != null; current = current.OverriddenMethod) 141private static bool IsValidSetMethod(IMethodSymbol setMethod, IMethodSymbol getMethod) 149private static bool IsValidSetMethod(IMethodSymbol setMethod) 162IMethodSymbol getMethod, 163IMethodSymbol? setMethod, 349MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalGetDefinitions, 350MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalSetDefinitions, 385foreach (var originalSetMethod in originalSetDefinitions) 389var setMethod = GetSymbolInCurrentCompilation(compilation, originalSetMethod, cancellationToken); 406MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalDefinitions, 411foreach (var originalDefinition in originalDefinitions) 415var getMethod = GetSymbolInCurrentCompilation(compilation, originalDefinition, cancellationToken); 418var setMethod = updateSetMethod ? FindSetMethod(getMethod) : null; 438private static async Task<SyntaxNode?> GetMethodDeclarationAsync(IMethodSymbol? method, CancellationToken cancellationToken) 450private static async Task<MultiDictionary<DocumentId, IMethodSymbol>> GetDefinitionsByDocumentIdAsync( 455var result = new MultiDictionary<DocumentId, IMethodSymbol>(); 460var definition = referencedSymbol.Definition as IMethodSymbol;
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (2)
146.OfType<IMethodSymbol>() 156.OfType<IMethodSymbol>()
RQName\RQNodeBuilder.cs (2)
24IMethodSymbol methodSymbol => BuildMethod(methodSymbol), 198private static RQMethod? BuildMethod(IMethodSymbol symbol)
Shared\Extensions\ISymbolExtensions_2.cs (5)
96var methodSymbol = (IMethodSymbol)symbol; 190IMethodSymbol method => GetMethodDocumentation(method, compilation, cancellationToken).SummaryText, 199if (containingSymbol.ContainingSymbol.IsDelegateType() && containingSymbol is IMethodSymbol methodSymbol) 241public static DocumentationComment GetMethodDocumentation(IMethodSymbol method, Compilation compilation, CancellationToken cancellationToken)
Shared\Extensions\ISymbolExtensions_Sorting.cs (4)
108private static int CompareMethods(IMethodSymbol xMethod, string[] xTypeNames, IMethodSymbol yMethod, string[] yTypeNames) 176? CompareMethods((IMethodSymbol)s1, symbol1ParameterTypeNames, (IMethodSymbol)s2, symbol2ParameterTypeNames)
Shared\Utilities\ExtractTypeHelpers.cs (2)
208var method = member as IMethodSymbol;
SignatureHelp\AbstractSignatureHelpProvider.cs (1)
275if (symbol is IMethodSymbol methodSymbol && methodSymbol.IsGenericMethod && methodSymbol != methodSymbol.OriginalDefinition)
SignatureHelp\CommonSignatureHelpUtilities.cs (2)
147public static async Task<ImmutableArray<IMethodSymbol>> GetCollectionInitializerAddMethodsAsync( 172var addMethods = addSymbols.OfType<IMethodSymbol>()
StackTraceExplorer\AbstractStackTraceSymbolResolver.cs (3)
15public abstract Task<IMethodSymbol?> TryGetBestMatchAsync( 109protected static IMethodSymbol? TryGetBestMatch(ImmutableArray<IMethodSymbol> candidateFunctions,
StackTraceExplorer\StackFrameLocalMethodResolver.cs (1)
17public override async Task<IMethodSymbol?> TryGetBestMatchAsync(
StackTraceExplorer\StackFrameMethodSymbolResolver.cs (3)
15public override Task<IMethodSymbol?> TryGetBestMatchAsync(Project project, 26.OfType<IMethodSymbol>() 30var match = TryGetBestMatch(candidateMethods, methodTypeArguments, methodArguments);
StackTraceExplorer\StackTraceExplorerUtilities.cs (5)
63var method = await TryGetBestMatchAsync(project, fullyQualifiedTypeName, methodNode, methodArguments, methodTypeArguments, cancellationToken).ConfigureAwait(false); 81var method = await TryGetBestMatchAsync(project, fullyQualifiedTypeName, methodNode, methodArguments, methodTypeArguments, cancellationToken).ConfigureAwait(false); 94DefinitionItem GetDefinition(IMethodSymbol method) 109private static async Task<IMethodSymbol?> TryGetBestMatchAsync(Project project, string fullyQualifiedTypeName, StackFrameSimpleNameNode methodNode, StackFrameParameterList methodArguments, StackFrameTypeArgumentList? methodTypeArguments, CancellationToken cancellationToken) 120var matchingMethod = await resolver.TryGetBestMatchAsync(project, type, methodNode, methodArguments, methodTypeArguments, cancellationToken).ConfigureAwait(false);
SuppressMessageAttributeState.TargetSymbolResolver.cs (9)
190foreach (var method in GetMatchingMethods(candidateMembers, arity, parameters, returnType)) 504var methodContext = bindingContext as IMethodSymbol; 546var methodContext = bindingContext as IMethodSymbol; 738private ImmutableArray<IMethodSymbol> GetMatchingMethods(ImmutableArray<ISymbol> candidateMembers, int? arity, ParameterInfo[] parameters, TypeInfo? returnType) 740var builder = new ArrayBuilder<IMethodSymbol>(); 744var methodSymbol = symbol as IMethodSymbol;
UseCollectionInitializerAnalyzer.cs (1)
137return addMethods.Any(static m => m is IMethodSymbol methodSymbol && methodSymbol.Parameters.Any());
ValueTracking\ValueTracker.cs (4)
129case IMethodSymbol methodSymbol: 189private static async Task TrackMethodSymbolAsync(IMethodSymbol methodSymbol, OperationCollector collector, CancellationToken cancellationToken) 245static bool HasAValueReturn(IMethodSymbol methodSymbol) 250static bool HasAnOutOrRefParam(IMethodSymbol methodSymbol)
ValueTracking\ValueTracker.FindReferencesProgress.cs (1)
46if (symbol is IMethodSymbol methodSymbol)
Microsoft.CodeAnalysis.LanguageServerIndexFormat.Generator (1)
Generator.cs (1)
469if (symbol is IMethodSymbol { MethodKind: MethodKind.BuiltinOperator })
Microsoft.CodeAnalysis.Rebuild (3)
CompilationFactory.cs (3)
113var debugEntryPoint = getDebugEntryPoint(); 175IMethodSymbol? getDebugEntryPoint() 184.OfType<IMethodSymbol>();
Microsoft.CodeAnalysis.Scripting (2)
ScriptBuilder.cs (2)
128var entryPoint = compilation.GetEntryPoint(cancellationToken); 189internal static MethodInfo GetEntryPointRuntimeMethod(IMethodSymbol entryPoint, Assembly assembly)
Microsoft.CodeAnalysis.Test.Utilities (31)
Compilation\CompilationExtensions.cs (2)
56IMethodSymbol debugEntryPoint = null, 378if ((parameterInitializerOperation.Parameter.ContainingSymbol as IMethodSymbol)?.MethodKind is not (MethodKind.LocalFunction or MethodKind.AnonymousFunction))
Compilation\ControlFlowGraphVerifier.cs (8)
117var localFunctionsMap = PooledDictionary<IMethodSymbol, ControlFlowGraph>.GetInstance(); 328foreach (IMethodSymbol m in graph.LocalFunctions) 1419foreach (IMethodSymbol method in region.LocalFunctions) 1543var method = region.LocalFunctions[i]; 1695foreach (IMethodSymbol m in region.LocalFunctions) 1724IMethodSymbol method; 1780while (symbol is IMethodSymbol m) 2014return symbol is IMethodSymbol
Compilation\OperationTreeVerifier.cs (4)
472var disposeMethod = ((UsingDeclarationOperation)operation).DisposeInfo.DisposeMethod; 748var disposeMethod = ((UsingOperation)operation).DisposeInfo.DisposeMethod; 1199var unaryOperatorMethod = ((BinaryOperation)operation).UnaryOperatorMethod; 1218private void LogHasOperatorMethodExpressionCommon(IMethodSymbol operatorMethodOpt, ITypeSymbol constrainedToTypeOpt)
Compilation\TestOperationVisitor.cs (10)
557var signature = operation.GetFunctionPointerSignature(); 731var operatorMethod = operation.OperatorMethod; 746var operatorMethod = operation.OperatorMethod; 747var unaryOperatorMethod = ((BinaryOperation)operation).UnaryOperatorMethod; 785if (symbol is IMethodSymbol method) 823var operatorMethod = operation.OperatorMethod; 1005var constructor = operation.Constructor; 1153var operatorMethod = operation.OperatorMethod; 1182var operatorMethod = operation.OperatorMethod; 1469case IMethodSymbol method:
Diagnostics\CouldHaveMoreSpecificTypeAnalyzer.cs (1)
52if (operationBlockContext.OwningSymbol is IMethodSymbol containingMethod)
Diagnostics\FieldCouldBeReadOnlyAnalyzer.cs (1)
46if (operationBlockContext.OwningSymbol is IMethodSymbol containingMethod)
Diagnostics\LocalCouldBeConstAnalyzer.cs (1)
40if (operationBlockContext.OwningSymbol is IMethodSymbol containingMethod)
Diagnostics\TrackingDiagnosticAnalyzer.cs (4)
40MethodKind = symbol is IMethodSymbol ? ((IMethodSymbol)symbol).MethodKind : (MethodKind?)null; 41ReturnsVoid = symbol is IMethodSymbol ? ((IMethodSymbol)symbol).ReturnsVoid : false;
Microsoft.CodeAnalysis.UnitTests (1)
Emit\SemanticEditTests.cs (1)
26var method = type!.Constructors.Single();
Microsoft.CodeAnalysis.VisualBasic (125)
Analysis\FlowAnalysis\VisualBasicDataFlowAnalysis.vb (2)
289Public Overrides ReadOnly Property UsedLocalFunctions As ImmutableArray(Of IMethodSymbol) 291Return ImmutableArray(Of IMethodSymbol).Empty
Compilation\AwaitExpressionInfo.vb (6)
19Friend Sub New(getAwaiter As IMethodSymbol, isCompleted As IPropertySymbol, getResult As IMethodSymbol) 25Private ReadOnly _getAwaiter As IMethodSymbol 27Private ReadOnly _getResult As IMethodSymbol 32Public ReadOnly Property GetAwaiterMethod As IMethodSymbol 41Public ReadOnly Property GetResultMethod As IMethodSymbol
Compilation\ForEachStatementInfo.vb (6)
14Public ReadOnly Property GetEnumeratorMethod As IMethodSymbol 19Public ReadOnly Property MoveNextMethod As IMethodSymbol 29Public ReadOnly Property DisposeMethod As IMethodSymbol 63Friend Sub New(getEnumeratorMethod As IMethodSymbol, 64moveNextMethod As IMethodSymbol, 66disposeMethod As IMethodSymbol,
Compilation\SemanticModel.vb (6)
2628Public Overloads Function GetDeclaredSymbol(declarationSyntax As SubNewStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 2637Public Overloads Function GetDeclaredSymbol(declarationSyntax As MethodStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 2646Public Overloads Function GetDeclaredSymbol(declarationSyntax As DeclareStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 2655Public Overloads Function GetDeclaredSymbol(declarationSyntax As OperatorStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 2664Public Overloads Function GetDeclaredSymbol(declarationSyntax As MethodBlockBaseSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 2725Public Overloads Function GetDeclaredSymbol(declarationSyntax As AccessorStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol
Compilation\VisualBasicCompilation.vb (6)
475Friend Overrides Sub ValidateDebugEntryPoint(debugEntryPoint As IMethodSymbol, diagnostics As DiagnosticBag) 2358debugEntryPoint As IMethodSymbol, 2380debugEntryPoint As IMethodSymbol, 2920rightType As ITypeSymbol) As IMethodSymbol 3003operandType As ITypeSymbol) As IMethodSymbol 3064Protected Overrides Function CommonGetEntryPoint(cancellationToken As CancellationToken) As IMethodSymbol
Operations\VisualBasicOperationFactory.vb (7)
431Dim symbol As IMethodSymbol = boundLambda.LambdaSymbol 439Dim targetMethod As IMethodSymbol = boundCall.Method 501Dim operatorMethod As IMethodSymbol = Nothing 514Dim operatorMethod As IMethodSymbol = TryGetOperatorMethod(boundUserDefinedUnaryOperator) 635Dim unaryOperatorMethod As IMethodSymbol = Nothing 760Dim method As IMethodSymbol = boundDelegateCreationExpression.Method 820Dim constructor As IMethodSymbol = boundObjectCreationExpression.ConstructorOpt
Semantics\Conversions.vb (1)
209Public ReadOnly Property MethodSymbol As IMethodSymbol
SymbolDisplay\SymbolDisplayVisitor.Members.vb (11)
163Public Overrides Sub VisitMethod(symbol As IMethodSymbol) 194Private Sub AddMethodKind(symbol As IMethodSymbol) 289Private Sub AddMethodName(symbol As IMethodSymbol) 380Private Shared Function TryGetOperatorTokenKind(symbol As IMethodSymbol) As SyntaxKind 408Private Shared Function TryGetConversionTokenKind(symbol As IMethodSymbol) As SyntaxKind 418Private Sub AddMethodGenericParameters(method As IMethodSymbol) 424Private Sub AddMethodParameters(method As IMethodSymbol) 433Private Sub AddMethodReturnType(method As IMethodSymbol) 451Private Sub VisitDeclareMethod(method As IMethodSymbol) 685Private Function IsDeclareMethod(method As IMethodSymbol) As Boolean 701DirectCast(symbol, IMethodSymbol).MethodKind = MethodKind.AnonymousFunction OrElse
Symbols\Attributes\AttributeData.vb (2)
159''' Gets the constructor used in this application of the attribute as an <see cref="IMethodSymbol"/>. 161Protected Overrides ReadOnly Property CommonAttributeConstructor As IMethodSymbol
Symbols\EventSymbol.vb (3)
290Private ReadOnly Property IEventSymbol_AddMethod As IMethodSymbol Implements IEventSymbol.AddMethod 296Private ReadOnly Property IEventSymbol_RemoveMethod As IMethodSymbol Implements IEventSymbol.RemoveMethod 302Private ReadOnly Property IEventSymbol_RaiseMethod As IMethodSymbol Implements IEventSymbol.RaiseMethod
Symbols\LabelSymbol.vb (1)
111Friend ReadOnly Property ILabelSymbol_ContainingMethod As IMethodSymbol Implements ILabelSymbol.ContainingMethod
Symbols\MethodSymbol.vb (55)
37Public MustOverride ReadOnly Property IsVararg As Boolean Implements IMethodSymbol.IsVararg 42Public Overridable ReadOnly Property IsCheckedBuiltin As Boolean Implements IMethodSymbol.IsCheckedBuiltin 108Private ReadOnly Property IMethodSymbol_IsReadOnly As Boolean Implements IMethodSymbol.IsReadOnly 114Private ReadOnly Property IMethodSymbol_IsInitOnly As Boolean Implements IMethodSymbol.IsInitOnly 259Public ReadOnly Property IsConditional As Boolean Implements IMethodSymbol.IsConditional 372Public MustOverride Function GetDllImportData() As DllImportData Implements IMethodSymbol.GetDllImportData 874Private ReadOnly Property IMethodSymbol_Arity As Integer Implements IMethodSymbol.Arity 880Private ReadOnly Property IMethodSymbol_ConstructedFrom As IMethodSymbol Implements IMethodSymbol.ConstructedFrom 886Private ReadOnly Property IMethodSymbol_ExplicitInterfaceImplementations As ImmutableArray(Of IMethodSymbol) Implements IMethodSymbol.ExplicitInterfaceImplementations 888Return ImmutableArrayExtensions.Cast(Of MethodSymbol, IMethodSymbol)(Me.ExplicitInterfaceImplementations) 892Private ReadOnly Property IMethodSymbol_MethodImplementationFlags As System.Reflection.MethodImplAttributes Implements IMethodSymbol.MethodImplementationFlags 898Private ReadOnly Property IMethodSymbol_IsExtensionMethod As Boolean Implements IMethodSymbol.IsExtensionMethod 904Private ReadOnly Property IMethodSymbol_MethodKind As MethodKind Implements IMethodSymbol.MethodKind 910Private ReadOnly Property IMethodSymbol_OriginalDefinition As IMethodSymbol Implements IMethodSymbol.OriginalDefinition 916Private ReadOnly Property IMethodSymbol_OverriddenMethod As IMethodSymbol Implements IMethodSymbol.OverriddenMethod 922Private ReadOnly Property IMethodSymbol_ReceiverType As ITypeSymbol Implements IMethodSymbol.ReceiverType 928Private ReadOnly Property IMethodSymbol_ReceiverNullableAnnotation As NullableAnnotation Implements IMethodSymbol.ReceiverNullableAnnotation 934Private Function IMethodSymbol_GetTypeInferredDuringReduction(reducedFromTypeParameter As ITypeParameterSymbol) As ITypeSymbol Implements IMethodSymbol.GetTypeInferredDuringReduction 938Private ReadOnly Property IMethodSymbol_ReducedFrom As IMethodSymbol Implements IMethodSymbol.ReducedFrom 944Private Function IMethodSymbol_ReduceExtensionMethod(receiverType As ITypeSymbol) As IMethodSymbol Implements IMethodSymbol.ReduceExtensionMethod 952Private ReadOnly Property IMethodSymbol_Parameters As ImmutableArray(Of IParameterSymbol) Implements IMethodSymbol.Parameters 989Private ReadOnly Property IMethodSymbol_PartialDefinitionPart As IMethodSymbol Implements IMethodSymbol.PartialDefinitionPart 995Private ReadOnly Property IMethodSymbol_PartialImplementationPart As IMethodSymbol Implements IMethodSymbol.PartialImplementationPart 1001Private ReadOnly Property IMethodSymbol_IsPartialDefinition As Boolean Implements IMethodSymbol.IsPartialDefinition 1007Private ReadOnly Property IMethodSymbol_ReturnsVoid As Boolean Implements IMethodSymbol.ReturnsVoid 1013Private ReadOnly Property IMethodSymbol_ReturnsByRef As Boolean Implements IMethodSymbol.ReturnsByRef 1019Private ReadOnly Property IMethodSymbol_ReturnsByReadonlyRef As Boolean Implements IMethodSymbol.ReturnsByRefReadonly 1025Private ReadOnly Property IMethodSymbol_RefKind As RefKind Implements IMethodSymbol.RefKind 1031Private ReadOnly Property IMethodSymbol_ReturnType As ITypeSymbol Implements IMethodSymbol.ReturnType 1037Private ReadOnly Property IMethodSymbol_ReturnNullableAnnotation As NullableAnnotation Implements IMethodSymbol.ReturnNullableAnnotation 1043Private ReadOnly Property IMethodSymbol_CallingConvention As Reflection.Metadata.SignatureCallingConvention Implements IMethodSymbol.CallingConvention 1049Private ReadOnly Property IMethodSymbol_UnmanagedCallingConventionTypes As ImmutableArray(Of INamedTypeSymbol) Implements IMethodSymbol.UnmanagedCallingConventionTypes 1055Private ReadOnly Property IMethodSymbol_TypeArguments As ImmutableArray(Of ITypeSymbol) Implements IMethodSymbol.TypeArguments 1061Private ReadOnly Property IMethodSymbol_TypeArgumentsNullableAnnotation As ImmutableArray(Of NullableAnnotation) Implements IMethodSymbol.TypeArgumentNullableAnnotations 1067Private ReadOnly Property IMethodSymbol_TypeParameters As ImmutableArray(Of ITypeParameterSymbol) Implements IMethodSymbol.TypeParameters 1073Private ReadOnly Property IMethodSymbol_AssociatedSymbol As ISymbol Implements IMethodSymbol.AssociatedSymbol 1079Private ReadOnly Property IMethodSymbol_IsGenericMethod As Boolean Implements IMethodSymbol.IsGenericMethod 1085Private ReadOnly Property IMethodSymbol_IsAsync As Boolean Implements IMethodSymbol.IsAsync, IMethodSymbolInternal.IsAsync 1091Private ReadOnly Property IMethodSymbol_HidesBaseMethodsByName As Boolean Implements IMethodSymbol.HidesBaseMethodsByName 1097Private ReadOnly Property IMethodSymbol_RefCustomModifiers As ImmutableArray(Of CustomModifier) Implements IMethodSymbol.RefCustomModifiers 1103Private ReadOnly Property IMethodSymbol_ReturnTypeCustomModifiers As ImmutableArray(Of CustomModifier) Implements IMethodSymbol.ReturnTypeCustomModifiers 1109Private Function IMethodSymbol_GetReturnTypeAttributes() As ImmutableArray(Of AttributeData) Implements IMethodSymbol.GetReturnTypeAttributes 1113Private Function IMethodSymbol_Construct(ParamArray typeArguments() As ITypeSymbol) As IMethodSymbol Implements IMethodSymbol.Construct 1121Private Function IMethodSymbol_Construct(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As IMethodSymbol Implements IMethodSymbol.Construct 1125Private ReadOnly Property IMethodSymbol_AssociatedAnonymousDelegate As INamedTypeSymbol Implements IMethodSymbol.AssociatedAnonymousDelegate
Symbols\NamedTypeSymbol.vb (8)
398Private Function GetConstructors(Of TMethodSymbol As {IMethodSymbol, Class})(includeInstance As Boolean, includeShared As Boolean) As ImmutableArray(Of TMethodSymbol) 1106Private ReadOnly Property INamedTypeSymbol_DelegateInvokeMethod As IMethodSymbol Implements INamedTypeSymbol.DelegateInvokeMethod 1188Private ReadOnly Property INamedTypeSymbol_InstanceConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.InstanceConstructors 1190Return GetConstructors(Of IMethodSymbol)(includeInstance:=True, includeShared:=False) 1194Private ReadOnly Property INamedTypeSymbol_StaticConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.StaticConstructors 1196Return GetConstructors(Of IMethodSymbol)(includeInstance:=False, includeShared:=True) 1200Private ReadOnly Property INamedTypeSymbol_Constructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.Constructors 1202Return GetConstructors(Of IMethodSymbol)(includeInstance:=True, includeShared:=True)
Symbols\PropertySymbol.vb (2)
544Private ReadOnly Property IPropertySymbol_GetMethod As IMethodSymbol Implements IPropertySymbol.GetMethod 568Private ReadOnly Property IPropertySymbol_SetMethod As IMethodSymbol Implements IPropertySymbol.SetMethod
Symbols\TypeParameterSymbol.vb (1)
373Private ReadOnly Property ITypeParameterSymbol_DeclaringMethod As IMethodSymbol Implements ITypeParameterSymbol.DeclaringMethod
VisualBasicExtensions.vb (8)
553Public Function IsOverloads(methodSymbol As IMethodSymbol) As Boolean 571Public Function HandledEvents(methodSymbol As IMethodSymbol) As ImmutableArray(Of HandledEvent) 1084Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As SubNewStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 1097Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As MethodStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 1110Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As DeclareStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 1123Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As OperatorStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 1136Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As MethodBlockBaseSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol 1214Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As AccessorStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As IMethodSymbol
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (19)
ExpressionSyntaxExtensions.vb (5)
154Dim methodSymbol = TryCast(symbolInfo.GetAnySymbol(), IMethodSymbol) 299If TypeOf symbol Is IMethodSymbol Then 300Dim method = DirectCast(symbol, IMethodSymbol) 395Dim method = TryCast(semanticModel.GetSymbolInfo(memberAccess, cancellationToken).Symbol, IMethodSymbol) 512Return Not symbolInfo.GetBestOrAllSymbols().OfType(Of IMethodSymbol)().Any() AndAlso
SemanticModelExtensions.vb (1)
253Dim member = TryCast(semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol, IMethodSymbol)
SpeculationAnalyzer.vb (1)
596Protected Overrides Sub GetForEachSymbols(model As SemanticModel, forEach As ForEachStatementSyntax, ByRef getEnumeratorMethod As IMethodSymbol, ByRef elementType As ITypeSymbol)
SyntaxNodeExtensions.vb (1)
1116Dim method = TryCast(symbol, IMethodSymbol)
VisualBasicRemoveUnusedMembersDiagnosticAnalyzer.vb (1)
19For Each method In DirectCast(context.Symbol, INamedTypeSymbol).GetMembers().OfType(Of IMethodSymbol)
VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (1)
36Protected Overrides Function MethodHasHandlesClause(method As IMethodSymbol) As Boolean
VisualBasicSemanticFacts.vb (7)
197Public Function GetGetAwaiterMethod(model As SemanticModel, node As SyntaxNode) As IMethodSymbol Implements ISemanticFacts.GetGetAwaiterMethod 207Public Function GetDeconstructionAssignmentMethods(model As SemanticModel, deconstruction As SyntaxNode) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetDeconstructionAssignmentMethods 208Return ImmutableArray(Of IMethodSymbol).Empty 211Public Function GetDeconstructionForEachMethods(model As SemanticModel, deconstruction As SyntaxNode) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetDeconstructionForEachMethods 212Return ImmutableArray(Of IMethodSymbol).Empty 270Public Function GetLocalFunctionSymbols(compilation As Compilation, symbol As ISymbol, cancellationToken As CancellationToken) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetLocalFunctionSymbols 271Return ImmutableArray(Of IMethodSymbol).Empty
VisualBasicUseAutoPropertyAnalyzer.vb (2)
80Protected Overrides Function GetGetterExpression(getMethod As IMethodSymbol, cancellationToken As CancellationToken) As ExpressionSyntax 103Protected Overrides Function GetSetterExpression(setMethod As IMethodSymbol, semanticModel As SemanticModel, cancellationToken As CancellationToken) As ExpressionSyntax
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (16)
IMethodSymbolExtensions.vb (1)
14Public Function IsAggregateFunction(symbol As IMethodSymbol) As Boolean
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
183For Each candidateSymbol In candidateSymbols.OfType(Of IMethodSymbol)()
VisualBasicConvertToAsyncFunctionCodeFixProvider.vb (1)
58Dim methodSymbol = TryCast(semanticModel.GetSymbolInfo(oldNode, cancellationToken).Symbol, IMethodSymbol)
VisualBasicConvertToIteratorCodeFixProvider.vb (1)
59Dim method = TryCast(symbol, IMethodSymbol)
VisualBasicMakeMethodAsynchronousCodeFixProvider.vb (2)
62methodSymbolOpt As IMethodSymbol, 83Private Shared Function FixFunctionBlock(methodSymbol As IMethodSymbol, node As MethodBlockSyntax, knownTypes As KnownTypes) As SyntaxNode
VisualBasicMakeMethodSynchronousCodeFixProvider.vb (2)
38Protected Overrides Function RemoveAsyncTokenAndFixReturnType(methodSymbolOpt As IMethodSymbol, node As SyntaxNode, knownTypes As KnownTypes) As SyntaxNode 54Private Shared Function FixFunctionBlock(methodSymbol As IMethodSymbol, node As MethodBlockSyntax, knownTypes As KnownTypes) As SyntaxNode
VisualBasicSemanticFactsService.vb (1)
138Public Function TryGetDisposeMethod(semanticModel As SemanticModel, node As SyntaxNode, cancellationToken As CancellationToken) As IMethodSymbol Implements ISemanticFactsService.TryGetDisposeMethod
VisualBasicTypeInferenceService.TypeInferrer.vb (7)
337Dim methods = symbols.OfType(Of IMethodSymbol)() 368Dim methods = symbols.OfType(Of IMethodSymbol)() 712Return lambdaTypes.Where(Function(t) t.InferredType.TypeKind = TypeKind.Delegate).SelectMany(Function(t) t.InferredType.GetMembers(WellKnownMemberNames.DelegateInvokeName).OfType(Of IMethodSymbol)().Select(Function(m) New TypeInferenceInfo(m.ReturnType))) 738Dim memberMethod = TryCast(memberSymbol, IMethodSymbol) 769Dim memberType = If(TryCast(memberSymbol, IMethodSymbol)?.ReturnType, 1037Dim expressionAddMethodSymbols = SemanticModel.GetCollectionInitializerSymbolInfo(expression).GetAllSymbols().OfType(Of IMethodSymbol) 1049Dim initializerAddMethodSymbols = SemanticModel.GetCollectionInitializerSymbolInfo(collectionInitializer).GetAllSymbols().OfType(Of IMethodSymbol)
Microsoft.CodeAnalysis.VisualBasic.EditorFeatures (5)
GoToBase\VisualBasicGoToBaseService.vb (3)
21Protected Overrides Async Function FindNextConstructorInChainAsync(solution As Solution, constructor As IMethodSymbol, cancellationToken As CancellationToken) As Task(Of IMethodSymbol) 44Return TryCast(semanticModel.GetSymbolInfo(initializer, cancellationToken).GetAnySymbol(), IMethodSymbol)
NavigationBar\VisualBasicEditorNavigationBarItemService_CodeGeneration.vb (1)
268Dim methodToReplicate = TryCast(generateCodeItem.MethodToReplicateSymbolKey.Resolve(compilation, cancellationToken:=cancellationToken).Symbol, IMethodSymbol)
Utilities\NamedTypeSymbolExtensions.vb (1)
28Dim possibleInitializeComponent = baseType.GetMembers("InitializeComponent").OfType(Of IMethodSymbol).FirstOrDefault()
Microsoft.CodeAnalysis.VisualBasic.EditorFeatures.UnitTests (5)
EditAndContinue\Helpers\VisualBasicEditAndContinueTestHelpers.vb (1)
48Assert.True(TypeOf method Is IMethodSymbol, "Only methods should have a syntax map.")
SymbolId\SymbolKeyMetadataVsSourceTests.vb (2)
89Dim mtSym04 = (TryCast(typesym.GetMembers("M").[Single](), IMethodSymbol)).Parameters(0).Type 256ResolveAndVerifySymbol(localSymbols(3).Type, DirectCast(ver20Symbols(1), IMethodSymbol).ReturnType, comp20, SymbolIdComparison.IgnoreCase)
SymbolId\SymbolKeyTestBase.vb (2)
206Dim method = DirectCast(member, IMethodSymbol) 250Public Sub GetLocalSymbols(symbol As IMethodSymbol, list As List(Of ISymbol))
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (13)
CodeGen\CodeGenTuples.vb (12)
17249Dim cMabImplementations = DirectCast(DirectCast(c, TypeSymbol).GetMember("M_1"), IMethodSymbol).ExplicitInterfaceImplementations 17252Dim cMcdImplementations = DirectCast(DirectCast(c, TypeSymbol).GetMember("M_2"), IMethodSymbol).ExplicitInterfaceImplementations 17316Dim m2 = DirectCast(DirectCast(c2, TypeSymbol).GetMember("M"), IMethodSymbol) 17389Dim m2 = DirectCast(DirectCast(c2, TypeSymbol).GetMember("M"), IMethodSymbol) 17532Dim cMabImplementations = DirectCast(DirectCast(c, TypeSymbol).GetMember("M_1"), IMethodSymbol).ExplicitInterfaceImplementations 17535Dim cMcdImplementations = DirectCast(DirectCast(c, TypeSymbol).GetMember("M_2"), IMethodSymbol).ExplicitInterfaceImplementations 17579Dim cMabImplementations = DirectCast(DirectCast(c3, TypeSymbol).GetMember("M_1"), IMethodSymbol).ExplicitInterfaceImplementations 17582Dim cMcdImplementations = DirectCast(DirectCast(c3, TypeSymbol).GetMember("M_2"), IMethodSymbol).ExplicitInterfaceImplementations 17629Dim mImplementations = DirectCast(DirectCast(c3, TypeSymbol).GetMember("M"), IMethodSymbol).ExplicitInterfaceImplementations 21359Dim mImplementations = DirectCast(m, IMethodSymbol).ExplicitInterfaceImplementations 21495Dim mImplementations = DirectCast(m, IMethodSymbol).ExplicitInterfaceImplementations 22443Dim actSymbol = DirectCast(model.GetSymbolInfo(actSyntax).Symbol, IMethodSymbol)
Emit\EditAndContinue\EditAndContinueTestBase.vb (1)
93Friend Shared Function GetAllLocals(compilation As VisualBasicCompilation, method As IMethodSymbol) As ImmutableArray(Of KeyValuePair(Of ILocalSymbol, Integer))
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (1)
TypeParameterChecker.vb (1)
29Public Overrides Function GetThisParameter(method As IMethodSymbol) As IParameterSymbol
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler.UnitTests (2)
ExpressionCompilerTestBase.vb (2)
473Friend Shared Sub CheckAttribute(assembly As IEnumerable(Of Byte), method As IMethodSymbol, description As AttributeDescription, expected As Boolean) 497CheckAttribute(assembly, DirectCast(method, IMethodSymbol), description, expected)
Microsoft.CodeAnalysis.VisualBasic.Features (99)
AddImport\VisualBasicAddImportFeatureService.vb (1)
328Protected Overrides Function IsViableExtensionMethod(method As IMethodSymbol,
ChangeSignature\VisualBasicChangeSignatureService.vb (5)
357Dim methodSymbol = TryCast(symbolInfo.Symbol, IMethodSymbol) 397Dim methodSymbol = TryCast(symbolInfo.Symbol, IMethodSymbol) 416Dim methodSymbol = TryCast(symbolInfo.Symbol, IMethodSymbol) 684method As IMethodSymbol, 785Protected Overrides Function TryGetRecordPrimaryConstructor(typeSymbol As INamedTypeSymbol, ByRef primaryConstructor As IMethodSymbol) As Boolean
CodeFixes\GenerateEvent\GenerateEventCodeFixProvider.vb (4)
81Dim delegateSymbol As IMethodSymbol = Nothing 122delegateSymbol As IMethodSymbol, 170Private Shared Function TryGetDelegateSymbol(handlerExpression As ExpressionSyntax, semanticModel As SemanticModel, ByRef delegateSymbol As IMethodSymbol, cancellationToken As CancellationToken) As Boolean 171delegateSymbol = TryCast(semanticModel.GetSymbolInfo(handlerExpression, cancellationToken).GetAnySymbol(), IMethodSymbol)
CodeFixes\IncorrectExitContinue\IncorrectExitContinueCodeFixProvider.vb (1)
162Dim methodSymbol = TryCast(enclosingDeclaration, IMethodSymbol)
CodeLens\VisualBasicDisplayInfoService.vb (1)
98Dim methodSymbol = TryCast(symbol, IMethodSymbol) ' its really a SourcePropertyAccessorSymbol but it Is Not accessible
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (1)
121Dim method = TryCast(symbol, IMethodSymbol)
Completion\CompletionProviders\NamedParameterCompletionProvider.vb (1)
182Dim methodParameters = accessibleMembers.OfType(Of IMethodSymbol).Select(Function(m) m.Parameters.As(Of ISymbol)())
Completion\CompletionProviders\OverrideCompletionProvider.vb (4)
159Dim finalizeMethod = members.OfType(Of IMethodSymbol)().Where(Function(x) x.Name = "Finalize" AndAlso OverridesObjectMethod(x)).SingleOrDefault() 166Dim filteredMembers = members.OfType(Of IMethodSymbol)().Where(Function(m) Not m.ReturnsVoid) 178Dim filteredMembers = members.OfType(Of IMethodSymbol)().Where(Function(m) m.ReturnsVoid) 187Private Shared Function OverridesObjectMethod(method As IMethodSymbol) As Boolean
Debugging\BreakpointResolver.vb (1)
29Protected Overrides Function HasMethodBody(method As IMethodSymbol, cancellationToken As CancellationToken) As Boolean
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (8)
1394If symbol.Kind = SymbolKind.Method AndAlso CType(symbol, IMethodSymbol).IsPartialDefinition Then 1430Friend Overrides Function GetLambdaExpressionSymbol(model As SemanticModel, lambdaExpression As SyntaxNode, cancellationToken As CancellationToken) As IMethodSymbol 1434Return DirectCast(model.GetEnclosingSymbol(lambdaExpressionSyntax.SubOrFunctionHeader.Span.End, cancellationToken), IMethodSymbol) 1862Friend Overrides Function GetDisplayName(symbol As IMethodSymbol) As String 2442Protected Overrides Function AreHandledEventsEqual(oldMethod As IMethodSymbol, newMethod As IMethodSymbol) As Boolean 2468Dim method = DirectCast(newSymbol, IMethodSymbol) 2505Dim method = DirectCast(newSymbol, IMethodSymbol)
EncapsulateField\VisualBasicEncapsulateFieldService.vb (1)
134Return containingType.Constructors.SelectMany(Function(c As IMethodSymbol)
ExtractMethod\Extensions.vb (1)
140Dim methodSymbols = model.GetSymbolInfo(invocation, cancellationToken).GetAllSymbols().Where(Function(s) s.Kind = SymbolKind.Method).Cast(Of IMethodSymbol)()
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.vb (2)
69Protected Overrides Function GenerateMethodDefinition(localFunction As Boolean, cancellationToken As CancellationToken) As OperationStatus(Of IMethodSymbol) 344Dim method = TryCast(x, IMethodSymbol)
ExtractMethod\VisualBasicSelectionResult.vb (1)
160Return DirectCast(symbol, IMethodSymbol).ReturnType
GenerateConstructor\VisualBasicGenerateConstructorService.vb (4)
169Protected Overrides Function GetCurrentConstructor(semanticModel As SemanticModel, token As SyntaxToken, cancellationToken As CancellationToken) As IMethodSymbol 174Protected Overrides Function GetDelegatedConstructor(semanticModel As SemanticModel, constructor As IMethodSymbol, cancellationToken As CancellationToken) As IMethodSymbol 183Dim methodSymbol = TryCast(semanticModel.GetSymbolInfo(expressionStatement.Expression, cancellationToken).Symbol, IMethodSymbol)
GenerateMember\GenerateParameterizedMember\VisualBasicGenerateConversionService.vb (6)
55Protected Overrides Function TryInitializeExplicitConversionState(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef identifierToken As SyntaxToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean 69Protected Overrides Function TryInitializeImplicitConversionState(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef identifierToken As SyntaxToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean 83Private Shared Function TryGetConversionMethodAndTypeToGenerateIn(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean 113Private Shared Function TryGetExplicitConversionMethodAndTypeToGenerateIn(document As SemanticDocument, castExpression As CastExpressionSyntax, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean 129Private Shared Function TryGetImplicitConversionMethodAndTypeToGenerateIn(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean 145Private Shared Function GenerateMethodSymbol(typeToGenerateIn As INamedTypeSymbol, parameterSymbol As INamedTypeSymbol) As IMethodSymbol
GenerateMember\GenerateParameterizedMember\VisualBasicGenerateMethodService.vb (2)
45ByRef methodSymbol As IMethodSymbol, 59methodSymbol = DirectCast(semanticModel.GetDeclaredSymbol(methodStatement, cancellationToken), IMethodSymbol)
GenerateType\VisualBasicGenerateTypeService.vb (4)
296generateTypeServiceStateOptions.DelegateCreationMethodSymbol = TryCast(semanticModel.GetSymbolInfo(simpleArgumentExpression, cancellationToken).Symbol, IMethodSymbol) 338generateTypeServiceStateOptions.DelegateCreationMethodSymbol = DirectCast(symbol, IMethodSymbol) 358Private Shared Function GetMemberGroupIfPresent(semanticModel As SemanticModel, expression As ExpressionSyntax, cancellationToken As CancellationToken) As IMethodSymbol 365Return If(memberGroup.ElementAt(0).IsKind(SymbolKind.Method), DirectCast(memberGroup.ElementAt(0), IMethodSymbol), Nothing)
ImplementInterface\VisualBasicImplementInterfaceService.vb (1)
23Protected Overrides Function ToDisplayString(disposeImplMethod As IMethodSymbol, format As SymbolDisplayFormat) As String
InitializeParameter\VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb (1)
62Protected Overrides Function GetAccessorBody(accessor As IMethodSymbol, cancellationToken As CancellationToken) As SyntaxNode
IntroduceParameter\VisualBasicIntroduceParameterCodeRefactoringProvider.vb (1)
34Protected Overrides Function IsDestructor(methodSymbol As IMethodSymbol) As Boolean
LanguageServices\VisualBasicSymbolDisplayService.SymbolDescriptionBuilder.vb (1)
170Dim method = TryCast(symbol, IMethodSymbol)
NavigationBar\VisualBasicNavigationBarItemService.vb (7)
271Dim method = DirectCast(symbol, IMethodSymbol) 324Dim methodsImplementingEvents = containingType.GetMembers().OfType(Of IMethodSymbol) _ 327Dim eventToImplementingMethods As New Dictionary(Of IEventSymbol, List(Of IMethodSymbol)) 331Dim list As List(Of IMethodSymbol) = Nothing 334list = New List(Of IMethodSymbol) 411Dim method = TryCast(member, IMethodSymbol) 450Private Shared Function IsUnimplementedPartial(method As IMethodSymbol) As Boolean
ReplacePropertyWithMethods\VisualBasicReplacePropertyWithMethods.vb (6)
85getMethod As IMethodSymbol, 118setMethod As IMethodSymbol, 145method As IMethodSymbol, 146desiredName As String) As IMethodSymbol 172explicitInterfaceImplMethod As IMethodSymbol, 173desiredName As String) As IMethodSymbol
SignatureHelp\AbstractOrdinaryMethodSignatureHelpProvider.vb (2)
56If TypeOf symbol Is IMethodSymbol Then 57Dim method = DirectCast(symbol, IMethodSymbol)
SignatureHelp\AttributeSignatureHelpProvider.vb (3)
106Private Overloads Shared Function Convert(constructor As IMethodSymbol, 132Private Shared Function GetParameters(constructor As IMethodSymbol, 181Private Shared Function GetPreambleParts(method As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart)
SignatureHelp\FunctionAggregationSignatureHelpProvider.vb (5)
68includeReducedExtensionMethods:=True).OfType(Of IMethodSymbol). 95Private Overloads Shared Function Convert(method As IMethodSymbol, 113Private Shared Function GetPreambleParts(method As IMethodSymbol) As IList(Of SymbolDisplayPart) 121Private Shared Function GetPostambleParts(method As IMethodSymbol, 137Private Shared Function GetParameterParts(method As IMethodSymbol, semanticModel As SemanticModel, position As Integer,
SignatureHelp\GenericNameSignatureHelpProvider.Method.vb (3)
9Private Shared Function GetPreambleParts(method As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart) 28Private Shared Function GetContainingType(method As IMethodSymbol) As ITypeSymbol 38Private Shared Function GetPostambleParts(method As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart)
SignatureHelp\GenericNameSignatureHelpProvider.vb (2)
99WhereAsArray(Function(s) TypeOf s Is INamedTypeSymbol OrElse TypeOf s Is IMethodSymbol). 132Dim method = DirectCast(symbol, IMethodSymbol)
SignatureHelp\InvocationExpressionSignatureHelpProvider.DelegateInvoke.vb (3)
39Private Shared Function GetDelegateInvokePreambleParts(invokeMethod As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart) 52Private Shared Function GetDelegateInvokeParameters(invokeMethod As IMethodSymbol, semanticModel As SemanticModel, position As Integer, documentationCommentFormattingService As IDocumentationCommentFormattingService, cancellationToken As CancellationToken) As IList(Of SignatureHelpSymbolParameter) 66Private Shared Function GetDelegateInvokePostambleParts(invokeMethod As IMethodSymbol,
SignatureHelp\InvocationExpressionSignatureHelpProvider.vb (1)
89Dim matchedMethodSymbol = TryCast(symbolInfo.Symbol, IMethodSymbol)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.DelegateType.vb (2)
38Private Shared Function GetDelegateTypePreambleParts(invokeMethod As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart) 45Private Shared Function GetDelegateTypeParameters(invokeMethod As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SignatureHelpSymbolParameter)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.NormalType.vb (2)
45Private Shared Function ConvertNormalTypeConstructor(constructor As IMethodSymbol, objectCreationExpression As ObjectCreationExpressionSyntax, semanticModel As SemanticModel, 60Private Shared Function GetNormalTypePreambleParts(method As IMethodSymbol, semanticModel As SemanticModel, position As Integer) As IList(Of SymbolDisplayPart)
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
183For Each candidateSymbol In candidateSymbols.OfType(Of IMethodSymbol)()
VisualBasicConvertToAsyncFunctionCodeFixProvider.vb (1)
58Dim methodSymbol = TryCast(semanticModel.GetSymbolInfo(oldNode, cancellationToken).Symbol, IMethodSymbol)
VisualBasicConvertToIteratorCodeFixProvider.vb (1)
59Dim method = TryCast(symbol, IMethodSymbol)
VisualBasicMakeMethodAsynchronousCodeFixProvider.vb (2)
62methodSymbolOpt As IMethodSymbol, 83Private Shared Function FixFunctionBlock(methodSymbol As IMethodSymbol, node As MethodBlockSyntax, knownTypes As KnownTypes) As SyntaxNode
VisualBasicMakeMethodSynchronousCodeFixProvider.vb (2)
38Protected Overrides Function RemoveAsyncTokenAndFixReturnType(methodSymbolOpt As IMethodSymbol, node As SyntaxNode, knownTypes As KnownTypes) As SyntaxNode 54Private Shared Function FixFunctionBlock(methodSymbol As IMethodSymbol, node As MethodBlockSyntax, knownTypes As KnownTypes) As SyntaxNode
VisualBasicRemoveUnusedMembersDiagnosticAnalyzer.vb (1)
19For Each method In DirectCast(context.Symbol, INamedTypeSymbol).GetMembers().OfType(Of IMethodSymbol)
VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (1)
36Protected Overrides Function MethodHasHandlesClause(method As IMethodSymbol) As Boolean
VisualBasicUseAutoPropertyAnalyzer.vb (2)
80Protected Overrides Function GetGetterExpression(getMethod As IMethodSymbol, cancellationToken As CancellationToken) As ExpressionSyntax 103Protected Overrides Function GetSetterExpression(setMethod As IMethodSymbol, semanticModel As SemanticModel, cancellationToken As CancellationToken) As ExpressionSyntax
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (17)
Compilation\CompilationAPITests.vb (1)
1973Dim genericMethod = DirectCast(comp.GetMember("Program.M"), IMethodSymbol)
Semantics\AnonymousTypesTests.vb (3)
1509Assert.Same(associatedDelegate, DirectCast(lambda2, IMethodSymbol).AssociatedAnonymousDelegate) 1554Assert.Same(associatedDelegate, DirectCast(lambda2, IMethodSymbol).AssociatedAnonymousDelegate) 1596Assert.Same(associatedDelegate, DirectCast(lambda2, IMethodSymbol).AssociatedAnonymousDelegate)
Semantics\InitOnlyMemberTests.vb (9)
75Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Property0").SetMethod, IMethodSymbol).IsInitOnly) 348Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Property0").SetMethod, IMethodSymbol).IsInitOnly) 569Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Item").SetMethod, IMethodSymbol).IsInitOnly) 861Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Item").SetMethod, IMethodSymbol).IsInitOnly) 1118Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Property0").SetMethod, IMethodSymbol).IsInitOnly) 1306Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Item").SetMethod, IMethodSymbol).IsInitOnly) 1959Assert.True(DirectCast(p0Set.OverriddenMethod, IMethodSymbol).IsInitOnly) 3454Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Item").SetMethod, IMethodSymbol).IsInitOnly) 3863Assert.True(DirectCast(comp1.GetMember(Of PropertySymbol)("C.Item").SetMethod, IMethodSymbol).IsInitOnly)
Semantics\NativeIntegerTests.vb (4)
25Dim method = DirectCast(type.GetMembers("F1").Single(), IMethodSymbol) 30method = DirectCast(type.GetMembers("F2").Single(), IMethodSymbol) 39method = DirectCast(type.GetMembers("F1").Single(), IMethodSymbol) 44method = DirectCast(type.GetMembers("F2").Single(), IMethodSymbol)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (19)
CrossLanguageTest.vb (2)
22Dim method = csharpCompilation.GetTypeByMetadataName("Sample").GetMembers("Create").OfType(Of IMethodSymbol).SingleOrDefault() 40method = basicCompilation.GetTypeByMetadataName("Sample").GetMembers("Create").OfType(Of IMethodSymbol).SingleOrDefault()
SymbolsTests\CheckedUserDefinedOperatorsTests.vb (3)
188Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray() 375Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray() 554Dim operators = c0_3.GetMembers().OfType(Of IMethodSymbol)().Where(Function(m) m.MethodKind <> MethodKind.Constructor).ToArray()
SymbolsTests\ExtensionMethods\ExtensionMethodTests.vb (1)
2556Dim extensionMethod = DirectCast(compilation.GetSymbolsWithName("ExtMethod", SymbolFilter.Member).Single(), IMethodSymbol)
SymbolsTests\MethodImplementationFlagsTests.vb (10)
35Dim aggressiveInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_Aggressive") 37Dim noInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_NoInlining") 65Dim aggressiveOptimizationMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_Aggressive") 67Dim noOptimizationMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_NoOptimization") 103Dim aggressiveOptNoInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_AggressiveOpt_NoInlining") 105Dim noOptNoInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_NoOpt_NoInlining") 107Dim aggressiveOptAggressiveInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_AggressiveOpt_AggressiveInlining") 109Dim noOptAggressiveInliningMethod As IMethodSymbol = c.GetMember(Of MethodSymbol)("M_NoOpt_AggressiveInlining") 133Dim method As IMethodSymbol = c.GetMember(Of MethodSymbol)("M") 157Dim method As IMethodSymbol = c.GetMember(Of MethodSymbol)("M")
SymbolsTests\Source\MethodTests.vb (3)
1743Dim m As IMethodSymbol = comp.GetMember(Of MethodSymbol)("C.M") 1758Dim m As IMethodSymbol = comp.GetMember(Of MethodSymbol)("C.M") 1778Dim m As IMethodSymbol = comp.GetMember(Of MethodSymbol)("C.M")
Microsoft.CodeAnalysis.VisualBasic.Test.Utilities (1)
Extensions.vb (1)
337Return DirectCast(this, IMethodSymbol).ReturnsVoid
Microsoft.CodeAnalysis.VisualBasic.Workspaces (81)
CaseCorrection\VisualBasicCaseCorrectionService.Rewriter.vb (5)
96Dim definitionPart As IMethodSymbol = Nothing 108Dim definitionPart As IMethodSymbol = Nothing 169(symbol.IsKind(SymbolKind.Method) AndAlso DirectCast(symbol, IMethodSymbol).MethodKind = MethodKind.Constructor) 202Private Function GetOtherPartOfPartialMethod(methodDeclaration As MethodStatementSyntax, <Out> ByRef definitionPart As IMethodSymbol) As IMethodSymbol
Classification\SyntaxClassification\NameSyntaxClassifier.vb (2)
110Dim classification = GetClassificationForMethod(node, DirectCast(symbol, IMethodSymbol)) 210Private Shared Function GetClassificationForMethod(node As NameSyntax, methodSymbol As IMethodSymbol) As String
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.vb (2)
28If TypeOf symbolInfo.Symbol Is IMethodSymbol AndAlso 29DirectCast(symbolInfo.Symbol, IMethodSymbol).MethodKind = MethodKind.UserDefinedOperator Then
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (1)
124Function(s) If(TryCast(s, IMethodSymbol)?.MethodKind = MethodKind.Ordinary, False))
CodeGeneration\ConstructorGenerator.vb (5)
18constructor As IMethodSymbol, 30Friend Function GenerateConstructorDeclaration(constructor As IMethodSymbol, 58Private Function GenerateStatements(constructor As IMethodSymbol) As SyntaxList(Of StatementSyntax) 82Private Function GenerateModifiers(constructor As IMethodSymbol, destination As CodeGenerationDestination, options As CodeGenerationContextInfo) As SyntaxTokenList 95Private Function CreateBaseConstructorCall(constructor As IMethodSymbol) As StatementSyntax
CodeGeneration\ConversionGenerator.vb (3)
13method As IMethodSymbol, 24Public Function GenerateConversionDeclaration(method As IMethodSymbol, 38Private Function GenerateConversionDeclarationWorker(method As IMethodSymbol,
CodeGeneration\MethodGenerator.vb (8)
14method As IMethodSymbol, 27method As IMethodSymbol, 40method As IMethodSymbol, 52Public Shared Function GenerateMethodDeclaration(method As IMethodSymbol, 67Private Shared Function GenerateMethodDeclarationWorker(method As IMethodSymbol, 103Private Shared Function GenerateAsClause(method As IMethodSymbol, isSub As Boolean, options As CodeGenerationContextInfo) As SimpleAsClauseSyntax 137Private Overloads Shared Function GenerateTypeParameterList(method As IMethodSymbol) As TypeParameterListSyntax 141Private Shared Function GenerateModifiers(method As IMethodSymbol,
CodeGeneration\OperatorGenerator.vb (3)
13method As IMethodSymbol, 24Public Function GenerateOperatorDeclaration(method As IMethodSymbol, 38Private Function GenerateOperatorDeclarationWorker(method As IMethodSymbol,
CodeGeneration\PropertyGenerator.vb (3)
120accessor As IMethodSymbol, 147Private Function GenerateAccessorStatements(accessor As IMethodSymbol) As SyntaxList(Of StatementSyntax) 157accessor As IMethodSymbol,
CodeGeneration\StatementGenerator.vb (1)
15Friend Function GenerateStatements(method As IMethodSymbol) As SyntaxList(Of StatementSyntax)
CodeGeneration\VisualBasicCodeGenerationService.vb (2)
136method As IMethodSymbol, 528Public Overrides Function CreateMethodDeclaration(method As IMethodSymbol,
CodeGeneration\VisualBasicSyntaxGenerator.vb (1)
1354Private Protected Overrides Function DestructorDeclaration(destructorMethod As IMethodSymbol) As SyntaxNode
Editing\VisualBasicImportAdder.vb (2)
123Dim method = TryCast(member, IMethodSymbol) 206Dim method = TryCast(_model.GetSymbolInfo(node.Name, _cancellationToken).GetAnySymbol(), IMethodSymbol)
IMethodSymbolExtensions.vb (1)
14Public Function IsAggregateFunction(symbol As IMethodSymbol) As Boolean
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb\ExpressionSyntaxExtensions.vb (5)
154Dim methodSymbol = TryCast(symbolInfo.GetAnySymbol(), IMethodSymbol) 299If TypeOf symbol Is IMethodSymbol Then 300Dim method = DirectCast(symbol, IMethodSymbol) 395Dim method = TryCast(semanticModel.GetSymbolInfo(memberAccess, cancellationToken).Symbol, IMethodSymbol) 512Return Not symbolInfo.GetBestOrAllSymbols().OfType(Of IMethodSymbol)().Any() AndAlso
Recommendations\VisualBasicRecommendationServiceRunner.vb (4)
104symbols.OfType(Of IMethodSymbol)(). 337symbols = symbols.WhereAsArray(Function(s) s.Kind <> SymbolKind.Method OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.UserDefinedOperator) 371Private Function GetEnclosingCtor(node As MemberAccessExpressionSyntax) As IMethodSymbol 375Dim method = TryCast(symbol, IMethodSymbol)
Rename\VisualBasicRenameRewriterLanguageService.vb (6)
716Dim methodSymbol = DirectCast(renamedSymbol.ContainingSymbol, IMethodSymbol) 758DeclarationConflictHelpers.GetMembersWithConflictingSignatures(DirectCast(renamedSymbol, IMethodSymbol), trimOptionalParameters:=True) _ 911If TypeOf renamedSymbol Is IMethodSymbol Then 912If DirectCast(renamedSymbol, IMethodSymbol).IsOverloads AndAlso 914DirectCast(renamedSymbol, IMethodSymbol).Parameters.Length <> 0) Then 942Dim method = DirectCast(symbol, IMethodSymbol)
SemanticModelExtensions.vb (1)
253Dim member = TryCast(semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol, IMethodSymbol)
Simplification\Reducers\VisualBasicEscapingReducer.vb (1)
103If symbol IsNot Nothing AndAlso symbol.Kind = SymbolKind.Method AndAlso Not DirectCast(symbol, IMethodSymbol).IsConstructor Then
Simplification\Reducers\VisualBasicExtensionMethodReducer.vb (2)
41Dim targetMethodSymbol = DirectCast(targetSymbol.Symbol, IMethodSymbol) 63If newSymbol.Kind = SymbolKind.Method And oldSymbol.Equals(DirectCast(newSymbol, IMethodSymbol).GetConstructedReducedFrom()) Then
Simplification\Simplifiers\ExpressionSimplifier.vb (1)
246If isInCref AndAlso TypeOf rightSymbol Is IMethodSymbol AndAlso Not containingType.SpecialType = SpecialType.None Then
Simplification\VisualBasicSimplificationService.Expander.vb (5)
212newInvocationExpression = RewriteExtensionMethodInvocation(node, newInvocationExpression, memberAccess.Expression, DirectCast(newInvocationExpression.Expression, MemberAccessExpressionSyntax).Expression, DirectCast(targetSymbol, IMethodSymbol)) 224reducedExtensionMethod As IMethodSymbol) As InvocationExpressionSyntax 250reducedExtensionMethod As IMethodSymbol, 686If DirectCast(symbol, IMethodSymbol).TypeArguments.Length <> 0 Then 687Dim typeArguments = DirectCast(symbol, IMethodSymbol).TypeArguments
SpeculationAnalyzer.vb (1)
596Protected Overrides Sub GetForEachSymbols(model As SemanticModel, forEach As ForEachStatementSyntax, ByRef getEnumeratorMethod As IMethodSymbol, ByRef elementType As ITypeSymbol)
SyntaxNodeExtensions.vb (1)
1116Dim method = TryCast(symbol, IMethodSymbol)
VisualBasicSemanticFacts.vb (7)
197Public Function GetGetAwaiterMethod(model As SemanticModel, node As SyntaxNode) As IMethodSymbol Implements ISemanticFacts.GetGetAwaiterMethod 207Public Function GetDeconstructionAssignmentMethods(model As SemanticModel, deconstruction As SyntaxNode) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetDeconstructionAssignmentMethods 208Return ImmutableArray(Of IMethodSymbol).Empty 211Public Function GetDeconstructionForEachMethods(model As SemanticModel, deconstruction As SyntaxNode) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetDeconstructionForEachMethods 212Return ImmutableArray(Of IMethodSymbol).Empty 270Public Function GetLocalFunctionSymbols(compilation As Compilation, symbol As ISymbol, cancellationToken As CancellationToken) As ImmutableArray(Of IMethodSymbol) Implements ISemanticFacts.GetLocalFunctionSymbols 271Return ImmutableArray(Of IMethodSymbol).Empty
VisualBasicSemanticFactsService.vb (1)
138Public Function TryGetDisposeMethod(semanticModel As SemanticModel, node As SyntaxNode, cancellationToken As CancellationToken) As IMethodSymbol Implements ISemanticFactsService.TryGetDisposeMethod
VisualBasicTypeInferenceService.TypeInferrer.vb (7)
337Dim methods = symbols.OfType(Of IMethodSymbol)() 368Dim methods = symbols.OfType(Of IMethodSymbol)() 712Return lambdaTypes.Where(Function(t) t.InferredType.TypeKind = TypeKind.Delegate).SelectMany(Function(t) t.InferredType.GetMembers(WellKnownMemberNames.DelegateInvokeName).OfType(Of IMethodSymbol)().Select(Function(m) New TypeInferenceInfo(m.ReturnType))) 738Dim memberMethod = TryCast(memberSymbol, IMethodSymbol) 769Dim memberType = If(TryCast(memberSymbol, IMethodSymbol)?.ReturnType, 1037Dim expressionAddMethodSymbols = SemanticModel.GetCollectionInitializerSymbolInfo(expression).GetAllSymbols().OfType(Of IMethodSymbol) 1049Dim initializerAddMethodSymbols = SemanticModel.GetCollectionInitializerSymbolInfo(collectionInitializer).GetAllSymbols().OfType(Of IMethodSymbol)
Microsoft.CodeAnalysis.VisualBasic.Workspaces.UnitTests (3)
CodeGeneration\SyntaxGeneratorTests.vb (3)
1066Dim Conversion = gcHandleType.GetMembers().OfType(Of IMethodSymbol)().Single( 1075Conversion = doubleType.GetMembers().OfType(Of IMethodSymbol)().Single( 1092Dim symbol = CType(model.GetDeclaredSymbol(node), IMethodSymbol)
Microsoft.CodeAnalysis.Workspaces (492)
AbstractCodeGenerationService.cs (7)
54public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 83public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 126protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 148public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 349IMethodSymbol method => CreateMethodDeclaration(method, codeGenerationDestination, info, cancellationToken), 367IMethodSymbol method => AddMethod(currentDestination, method, info, availableIndices, cancellationToken), 447public Task<Document> AddMethodAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken)
AbstractFlagsEnumGenerator.cs (1)
43var ctor = attribute.AttributeConstructor;
AbstractSemanticFactsService.cs (9)
102protected static IMethodSymbol? FindDisposeMethod(Compilation compilation, ITypeSymbol? type, bool isAsync) 107var methodToLookFor = isAsync 114return impl as IMethodSymbol; 116IMethodSymbol? GetDisposeMethod(string typeName, string methodName) 119return disposableType?.GetMembers().OfType<IMethodSymbol>().FirstOrDefault(m => m.Parameters.Length == 0 && m.Name == methodName); 169public IMethodSymbol GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 172public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 175public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 202public ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken)
AbstractSpeculationAnalyzer.cs (12)
343symbol = ((IMethodSymbol)symbol).GetConstructedReducedFrom()!; 348newSymbol = ((IMethodSymbol)newSymbol).GetConstructedReducedFrom()!; 370if (symbol is IMethodSymbol methodSymbol && newSymbol is IMethodSymbol newMethodSymbol) 431if (symbol is IMethodSymbol methodSymbol && 432newSymbol is IMethodSymbol newMethodSymbol && 743GetForEachSymbols(this.OriginalSemanticModel, forEachStatement, out var originalGetEnumerator, out var originalElementType); 744GetForEachSymbols(this.SpeculativeSemanticModel, newForEachStatement, out var newGetEnumerator, out var newElementType); 760protected abstract void GetForEachSymbols(SemanticModel model, TForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType); 762private bool ReplacementBreaksForEachGetEnumerator(IMethodSymbol getEnumerator, IMethodSymbol newGetEnumerator, TExpressionSyntax newForEachStatementExpression) 839((IMethodSymbol)symbol).MethodKind == MethodKind.DelegateInvoke;
AccessibilityExtensions.cs (1)
37switch (((IMethodSymbol)currentSymbol).MethodKind)
CodeGenerationAbstractMethodSymbol.cs (10)
20public new IMethodSymbol OriginalDefinition { get; protected set; } 50public abstract IMethodSymbol ConstructedFrom { get; } 53public abstract IMethodSymbol OverriddenMethod { get; } 54public abstract IMethodSymbol ReducedFrom { get; } 56public abstract IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType); 57public abstract ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations { get; } 58public abstract IMethodSymbol PartialDefinitionPart { get; } 59public abstract IMethodSymbol PartialImplementationPart { get; } 111public IMethodSymbol Construct(params ITypeSymbol[] typeArguments) 114public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
CodeGenerationAbstractNamedTypeSymbol.cs (4)
81public abstract IMethodSymbol DelegateInvokeMethod { get; } 86public abstract ImmutableArray<IMethodSymbol> InstanceConstructors { get; } 87public abstract ImmutableArray<IMethodSymbol> StaticConstructors { get; } 88public abstract ImmutableArray<IMethodSymbol> Constructors { get; }
CodeGenerationAttributeData.cs (1)
19protected override IMethodSymbol CommonAttributeConstructor => null;
CodeGenerationConstructedMethodSymbol.cs (7)
69public override IMethodSymbol ConstructedFrom => _constructedFrom; 76public override IMethodSymbol OverriddenMethod 80public override IMethodSymbol ReducedFrom 87public override IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType) 93public override ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations 97public override IMethodSymbol PartialDefinitionPart 101public override IMethodSymbol PartialImplementationPart
CodeGenerationConstructedNamedTypeSymbol.cs (4)
47public override IMethodSymbol DelegateInvokeMethod 60public override ImmutableArray<IMethodSymbol> InstanceConstructors 69public override ImmutableArray<IMethodSymbol> StaticConstructors 78public override ImmutableArray<IMethodSymbol> Constructors
CodeGenerationConstructorInfo.cs (10)
12private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationConstructorInfo> s_constructorToInfoMap = new(); 38IMethodSymbol constructor, 50private static CodeGenerationConstructorInfo? GetInfo(IMethodSymbol method) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 65public static string GetTypeName(IMethodSymbol constructor) 68public static bool GetIsUnsafe(IMethodSymbol constructor) 71public static bool GetIsPrimaryConstructor(IMethodSymbol constructor) 83private static string GetTypeName(CodeGenerationConstructorInfo? info, IMethodSymbol constructor)
CodeGenerationDestructorInfo.cs (6)
14private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationDestructorInfo> s_destructorToInfoMap = 29IMethodSymbol destructor, 37private static CodeGenerationDestructorInfo GetInfo(IMethodSymbol method) 43public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 46public static string GetTypeName(IMethodSymbol destructor) 52private static string GetTypeName(CodeGenerationDestructorInfo info, IMethodSymbol constructor)
CodeGenerationEventSymbol.cs (6)
22public IMethodSymbol? AddMethod { get; } 23public IMethodSymbol? RemoveMethod { get; } 24public IMethodSymbol? RaiseMethod { get; } 34IMethodSymbol? addMethod, 35IMethodSymbol? removeMethod, 36IMethodSymbol? raiseMethod)
CodeGenerationMethodInfo.cs (9)
14private static readonly ConditionalWeakTable<IMethodSymbol, CodeGenerationMethodInfo> s_methodToInfoMap = 41IMethodSymbol method, 53private static CodeGenerationMethodInfo GetInfo(IMethodSymbol method) 59public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 62public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 65public static bool GetIsNew(IMethodSymbol method) 68public static bool GetIsUnsafe(IMethodSymbol method) 71public static bool GetIsPartial(IMethodSymbol method) 74public static bool GetIsAsyncMethod(IMethodSymbol method)
CodeGenerationMethodSymbol.cs (8)
24public override ImmutableArray<IMethodSymbol> ExplicitInterfaceImplementations { get; } 34ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 103public override IMethodSymbol ConstructedFrom => this; 110public override IMethodSymbol OverriddenMethod => null; 112public override IMethodSymbol ReducedFrom => null; 117public override IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType) 120public override IMethodSymbol PartialImplementationPart => null; 122public override IMethodSymbol PartialDefinitionPart => null;
CodeGenerationNamedTypeSymbol.cs (7)
96public override IMethodSymbol DelegateInvokeMethod 101? this.GetMembers(WellKnownMemberNames.DelegateInvokeName).OfType<IMethodSymbol>().FirstOrDefault() 168public override ImmutableArray<IMethodSymbol> InstanceConstructors 174this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.Constructor && !m.IsStatic)); 178public override ImmutableArray<IMethodSymbol> StaticConstructors 184this.GetMembers().OfType<IMethodSymbol>().Where(m => m.MethodKind == MethodKind.StaticConstructor && m.IsStatic)); 188public override ImmutableArray<IMethodSymbol> Constructors
CodeGenerationPropertySymbol.cs (4)
27public IMethodSymbol GetMethod { get; } 28public IMethodSymbol SetMethod { get; } 41IMethodSymbol getMethod, 42IMethodSymbol setMethod)
CodeGenerationSymbol.cs (2)
86public static IMethodSymbol ContainingMethod => null; 170public ImmutableArray<AttributeData> GetAttributes(IMethodSymbol attributeConstructor)
CodeGenerationSymbolFactory.cs (28)
38IMethodSymbol? addMethod = null, 39IMethodSymbol? removeMethod = null, 40IMethodSymbol? raiseMethod = null) 57IMethodSymbol? getMethod, 58IMethodSymbol? setMethod, 85ImmutableArray<IParameterSymbol> parameters, IMethodSymbol? getMethod, IMethodSymbol? setMethod, 123public static IMethodSymbol CreateConstructorSymbol( 142public static IMethodSymbol CreateDestructorSymbol( 151internal static IMethodSymbol CreateMethodSymbol( 158ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 176public static IMethodSymbol CreateMethodSymbol( 180ImmutableArray<IMethodSymbol> explicitInterfaceImplementations, 195public static IMethodSymbol CreateOperatorSymbol( 223public static IMethodSymbol CreateConversionSymbol( 248public static IMethodSymbol CreateConversionSymbol( 358internal static IMethodSymbol CreateAccessorSymbol( 359IMethodSymbol accessor, 362ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default, 384public static IMethodSymbol CreateAccessorSymbol( 472var invokeMethod = CreateMethodSymbol( 512internal static IMethodSymbol CreateMethodSymbol( 513IMethodSymbol method, 517ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default, 551IMethodSymbol? getMethod = null, 552IMethodSymbol? setMethod = null) 575IMethodSymbol? addMethod = null, 576IMethodSymbol? removeMethod = null)
CodeGenerationTypeParameterSymbol.cs (2)
82public IMethodSymbol DeclaringMethod 86return this.ContainingSymbol as IMethodSymbol;
CodeGenerator.cs (1)
44public static Task<Document> AddMethodDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken)
Editing\DeclarationModifiers.cs (3)
70IMethodSymbol or 75var method = symbol as IMethodSymbol;
Editing\SyntaxGenerator.cs (17)
177public SyntaxNode MethodDeclaration(IMethodSymbol method, IEnumerable<SyntaxNode>? statements = null) 180internal SyntaxNode MethodDeclaration(IMethodSymbol method, string name, IEnumerable<SyntaxNode>? statements = null) 231bool HasNullableAnnotation(ITypeParameterSymbol typeParameter, IMethodSymbol method) 260public SyntaxNode OperatorDeclaration(IMethodSymbol method, IEnumerable<SyntaxNode>? statements = null) 276private static OperatorKind GetOperatorKind(IMethodSymbol method) 342isExtension: symbol is { Ordinal: 0, ContainingSymbol: IMethodSymbol { IsExtensionMethod: true } }, 381var getMethodSymbol = property.GetMethod; 382var setMethodSymbol = property.SetMethod; 532var invoke = symbol.Type.GetMembers("Invoke").FirstOrDefault(m => m.Kind == SymbolKind.Method) as IMethodSymbol; 560IMethodSymbol constructorMethod, 573private protected abstract SyntaxNode DestructorDeclaration(IMethodSymbol destructorMethod); 745var method = (IMethodSymbol)symbol; 802TypeKind.Delegate => type.GetMembers(WellKnownMemberNames.DelegateInvokeName) is [IMethodSymbol invoke, ..] 842var method = (IMethodSymbol)symbol;
FindSymbols\FindReferences\Finders\AbstractMemberScopedReferenceFinder.cs (1)
88if (current is IMethodSymbol)
FindSymbols\FindReferences\Finders\AbstractMethodOrPropertyOrEventSymbolReferenceFinder.cs (4)
17protected static ImmutableArray<IMethodSymbol> GetReferencedAccessorSymbols( 30? ImmutableArray<IMethodSymbol>.Empty 38using var _ = ArrayBuilder<IMethodSymbol>.GetInstance(out var result); 60? ImmutableArray<IMethodSymbol>.Empty
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (1)
517var awaitExpressionMethod = state.SemanticFacts.GetGetAwaiterMethod(state.SemanticModel, node);
FindSymbols\FindReferences\Finders\ConstructorInitializerSymbolReferenceFinder.cs (4)
17internal sealed class ConstructorInitializerSymbolReferenceFinder : AbstractReferenceFinder<IMethodSymbol> 19protected override bool CanFind(IMethodSymbol symbol) 23IMethodSymbol symbol, 54IMethodSymbol methodSymbol,
FindSymbols\FindReferences\Finders\ConstructorSymbolReferenceFinder.cs (10)
18internal class ConstructorSymbolReferenceFinder : AbstractReferenceFinder<IMethodSymbol> 26protected override bool CanFind(IMethodSymbol symbol) 29protected override Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(IMethodSymbol symbol, Project project, CancellationToken cancellationToken) 36IMethodSymbol symbol, 98IMethodSymbol methodSymbol, 151IMethodSymbol symbol, 164IMethodSymbol symbol, 174IMethodSymbol symbol, 192IMethodSymbol symbol, 203IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\DestructorSymbolReferenceFinder.cs (4)
13internal sealed class DestructorSymbolReferenceFinder : AbstractReferenceFinder<IMethodSymbol> 15protected override bool CanFind(IMethodSymbol symbol) 19IMethodSymbol symbol, 30IMethodSymbol methodSymbol,
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.cs (4)
17internal sealed partial class ExplicitConversionSymbolReferenceFinder : AbstractMethodOrPropertyOrEventSymbolReferenceFinder<IMethodSymbol> 19protected override bool CanFind(IMethodSymbol symbol) 27IMethodSymbol symbol, 63IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\ExplicitInterfaceMethodReferenceFinder.cs (4)
13internal sealed class ExplicitInterfaceMethodReferenceFinder : AbstractReferenceFinder<IMethodSymbol> 15protected override bool CanFind(IMethodSymbol symbol) 19IMethodSymbol symbol, 31IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\MethodTypeParameterSymbolReferenceFinder.cs (2)
24var method = (IMethodSymbol)symbol.ContainingSymbol;
FindSymbols\FindReferences\Finders\OperatorSymbolReferenceFinder.cs (4)
15internal sealed class OperatorSymbolReferenceFinder : AbstractMethodOrPropertyOrEventSymbolReferenceFinder<IMethodSymbol> 17protected override bool CanFind(IMethodSymbol symbol) 21IMethodSymbol symbol, 48IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\OrdinaryMethodReferenceFinder.cs (10)
12internal sealed class OrdinaryMethodReferenceFinder : AbstractMethodOrPropertyOrEventSymbolReferenceFinder<IMethodSymbol> 14protected override bool CanFind(IMethodSymbol symbol) 22IMethodSymbol symbol, 34private static ImmutableArray<ISymbol> GetOtherPartsOfPartial(IMethodSymbol symbol) 46IMethodSymbol methodSymbol, 101private static bool IsForEachMethod(IMethodSymbol methodSymbol) 105private static bool IsDeconstructMethod(IMethodSymbol methodSymbol) 108private static bool IsGetAwaiterMethod(IMethodSymbol methodSymbol) 111private static bool IsAddMethod(IMethodSymbol methodSymbol) 115IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\ParameterSymbolReferenceFinder.cs (11)
71if (parameter.ContainingSymbol is IMethodSymbol { AssociatedAnonymousDelegate.DelegateInvokeMethod: { } invokeMethod } && 141ParameterNamesMatch(syntaxFacts, (IMethodSymbol)parameter.ContainingSymbol, (IMethodSymbol)symbol.ContainingSymbol)) 153private static bool ParameterNamesMatch(ISyntaxFactsService syntaxFacts, IMethodSymbol methodSymbol1, IMethodSymbol methodSymbol2) 170if (declaredSymbol is IMethodSymbol { MethodKind: not MethodKind.AnonymousFunction } method) 183if (containingSymbol is IMethodSymbol containingMethod) 203if (parameter.ContainingSymbol is IMethodSymbol containingMethod) 211var beginInvokeMethod = containingType.GetMembers(WellKnownMemberNames.DelegateBeginInvokeName) 212.OfType<IMethodSymbol>() 239if (parameter.ContainingSymbol is IMethodSymbol method)
FindSymbols\FindReferences\Finders\PropertyAccessorSymbolReferenceFinder.cs (5)
15internal sealed class PropertyAccessorSymbolReferenceFinder : AbstractMethodOrPropertyOrEventSymbolReferenceFinder<IMethodSymbol> 17protected override bool CanFind(IMethodSymbol symbol) 21IMethodSymbol symbol, 34IMethodSymbol symbol, 64IMethodSymbol symbol,
FindSymbols\FindReferences\Finders\PropertySymbolReferenceFinder.cs (1)
72foreach (var constructor in containingType.Constructors)
FindSymbols\FindReferences\FindReferencesSearchEngine.cs (1)
343=> symbol is IMethodSymbol or IPropertySymbol or IEventSymbol;
FindSymbols\ReferenceLocationExtensions.cs (2)
89var method = (IMethodSymbol)current;
FindSymbols\SymbolFinder_Hierarchy.cs (2)
113if (symbol is IMethodSymbol or IPropertySymbol or IEventSymbol) 149? ((IMethodSymbol)symbol).AssociatedSymbol?.Name
ForEachSymbols.cs (6)
11public readonly IMethodSymbol GetEnumeratorMethod; 12public readonly IMethodSymbol MoveNextMethod; 14public readonly IMethodSymbol DisposeMethod; 17internal ForEachSymbols(IMethodSymbol getEnumeratorMethod, 18IMethodSymbol moveNextMethod, 20IMethodSymbol disposeMethod,
ICodeGenerationService.cs (3)
34SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 64TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144Task<Document> AddMethodAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IMethodSymbol method, CancellationToken cancellationToken);
IMethodSymbolExtensions.cs (7)
19public static ImmutableArray<IMethodSymbol> GetAllMethodSymbolsOfPartialParts(this IMethodSymbol method) 42public static bool HasEventHandlerSignature(this IMethodSymbol method, [NotNullWhen(returnValue: true)] INamedTypeSymbol? eventArgsType) 47public static bool TryGetPredefinedComparisonOperator(this IMethodSymbol symbol, out PredefinedOperator op) 71public static PredefinedOperator GetPredefinedOperator(this IMethodSymbol symbol) 101public static bool IsEntryPoint(this IMethodSymbol methodSymbol, INamedTypeSymbol? taskType, INamedTypeSymbol? genericTaskType) 112public static bool IsAsyncReturningVoidTask(this IMethodSymbol method, Compilation compilation)
IParameterSymbolExtensions.cs (2)
28ContainingSymbol: IMethodSymbol 60ContainingSymbol: IMethodSymbol
ISemanticFacts.cs (4)
82IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 84ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 86ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 105ImmutableArray<IMethodSymbol> GetLocalFunctionSymbols(Compilation compilation, ISymbol symbol, CancellationToken cancellationToken);
ISemanticFactsExtensions.cs (1)
112=> symbol is IMethodSymbol methodSymbol &&
ISemanticFactsService.cs (1)
49IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
106public override bool VisitMethod(IMethodSymbol symbol)
ISymbolExtensions_Accessibility.cs (4)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature; 154((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator && 163Debug.Assert(!(symbol.IsKind(SymbolKind.Method) && ((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator && symbol.ContainingSymbol.IsKind(SymbolKind.FunctionPointerType))); 165((IMethodSymbol)symbol).MethodKind == MethodKind.BuiltinOperator &&
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\INamedTypeSymbolExtensions.cs\INamedTypeSymbolExtensions.cs (8)
121static bool IsAccessorImplemented(IMethodSymbol? accessor, INamedTypeSymbol classOrStructType) 169IMethodSymbol method => method.ExplicitInterfaceImplementations.Length > 0, 226static bool IsNonPublicImplementableAccessor(IMethodSymbol? accessor) 233if (member is IMethodSymbol { IsStatic: true, IsAbstract: true, MethodKind: MethodKind.UserDefinedOperator } method) 326private static bool IsInaccessibleImplementableAccessor(IMethodSymbol? accessor, ISymbol within) 416where m.Kind != SymbolKind.Method || ((IMethodSymbol)m).MethodKind is MethodKind.Ordinary or MethodKind.UserDefinedOperator or MethodKind.Conversion 572IMethodSymbol { MethodKind: MethodKind.Ordinary, CanBeReferencedByName: true } => true, 611return member is IMethodSymbol
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ISymbolExtensions.cs\ISymbolExtensions.cs (39)
78IMethodSymbol method => method.OverriddenMethod, 88IMethodSymbol method => ImmutableArray<ISymbol>.CastUp(method.ExplicitInterfaceImplementations), 137var methodSymbol = (IMethodSymbol)symbol; 178=> symbol is IMethodSymbol { MethodKind: MethodKind.AnonymousFunction }; 205=> symbol is IMethodSymbol { MethodKind: MethodKind.ReducedExtension }; 211=> symbol is IMethodSymbol { IsExtensionMethod: true }; 214=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 223=> symbol is IMethodSymbol { MethodKind: MethodKind.Constructor }; 226=> symbol is IMethodSymbol { MethodKind: MethodKind.StaticConstructor }; 229=> symbol is IMethodSymbol { MethodKind: MethodKind.Destructor }; 232=> symbol is IMethodSymbol { MethodKind: MethodKind.UserDefinedOperator }; 235=> symbol is IMethodSymbol { MethodKind: MethodKind.Conversion }; 238=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary }; 241=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction }; 280IMethodSymbol methodSymbol => methodSymbol.ReturnType, 289SymbolKind.Method => ((IMethodSymbol)symbol).Arity, 304symbol = ((IMethodSymbol)symbol).GetConstructedReducedFrom(); 309if (symbol.ContainingSymbol is IMethodSymbol method) 327var method = parameter.ContainingSymbol as IMethodSymbol; 360IMethodSymbol m => m.Parameters, 368IMethodSymbol m => m.TypeParameters, 389IMethodSymbol m => m.TypeArguments, 434if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None)) 549=> (symbol as IMethodSymbol)?.MethodKind.IsPropertyAccessor() == true; 552=> symbol is IMethodSymbol { MethodKind: MethodKind.EventAdd or MethodKind.EventRaise or MethodKind.EventRemove }; 578var methodSymbol = symbol as IMethodSymbol; 602var getAwaiters = potentialGetAwaiters.OfType<IMethodSymbol>().Where(x => !x.Parameters.Any()); 606public static bool IsValidGetAwaiter(this IMethodSymbol symbol) 610private static bool VerifyGetAwaiter(IMethodSymbol getAwaiter) 624var methods = returnType.GetMembers().OfType<IMethodSymbol>(); 640public static bool IsValidGetEnumerator(this IMethodSymbol symbol) 644private static bool VerifyGetEnumerator(IMethodSymbol getEnumerator) 664if (!members.OfType<IMethodSymbol>().Any(x => 680public static bool IsValidGetAsyncEnumerator(this IMethodSymbol symbol) 684private static bool VerifyGetAsyncEnumerator(IMethodSymbol getAsyncEnumerator) 707if (!members.OfType<IMethodSymbol>().Any(x => x.Name == WellKnownMemberNames.MoveNextAsyncMethodName))
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (2)
407.SelectAccessibleMembers<IMethodSymbol>(WellKnownMemberNames.CollectionInitializerAddMethodName, within ?? typeSymbol) 408.OfType<IMethodSymbol>()
NamingStyleRules.cs (1)
52if (symbol is IMethodSymbol method)
OperationExtensions.cs (3)
226var containingMethod = TryGetContainingAnonymousFunctionOrLocalFunction(operation) ?? (containingSymbol as IMethodSymbol); 230public static IMethodSymbol? TryGetContainingAnonymousFunctionOrLocalFunction(this IOperation? operation)
ReassignedVariable\AbstractReassignedVariableService.cs (2)
156if (methodOrProperty is IMethodSymbol { MethodKind: MethodKind.PropertyGet or MethodKind.PropertySet } method) 159if (methodOrProperty is not IMethodSymbol and not IPropertySymbol)
Recommendations\AbstractRecommendationService.cs (1)
87switch (((IMethodSymbol)symbol).MethodKind)
Recommendations\AbstractRecommendationServiceRunner.cs (4)
68if (parameter.ContainingSymbol is not IMethodSymbol { MethodKind: MethodKind.AnonymousFunction } owningMethod) 195if (candidateSymbol is IMethodSymbol method) 235private bool TryGetMatchingParameterTypeForArgument(IMethodSymbol method, string argumentName, int ordinalInInvocation, out ITypeSymbol parameterType) 368if (originalMember is IMethodSymbol { Parameters: [{ Type: ITypeParameterSymbol parameterType }, ..] })
Rename\ConflictEngine\DeclarationConflictHelpers.cs (5)
15public static ImmutableArray<Location> GetMembersWithConflictingSignatures(IMethodSymbol renamedMethod, bool trimOptionalParameters) 19.OfType<IMethodSymbol>() 23method => GetAllSignatures(((IMethodSymbol)method).Parameters, trimOptionalParameters)); 58if (isMethod && conflictingSymbol is IMethodSymbol conflictingMethod && renamedMember is IMethodSymbol renamedMethod)
Rename\RenameUtilities.cs (7)
188if (symbol is IMethodSymbol) 195if (string.Equals(member.MetadataName, symbol.MetadataName, StringComparison.Ordinal) && member is IMethodSymbol && !member.Equals(symbol)) 209return ((IMethodSymbol)symbol).AssociatedSymbol; 334var containingMethod = (IMethodSymbol)symbol.ContainingSymbol; 360var methodSymbol = (IMethodSymbol)symbol;
Rename\SymbolicRenameLocations.ReferenceProcessing.cs (2)
194foreach (var method in namedType.GetMembers().OfType<IMethodSymbol>())
Shared\Extensions\IMethodSymbolExtensions.cs (13)
20public static bool CompatibleSignatureToDelegate(this IMethodSymbol method, INamedTypeSymbol delegateType) 24var invoke = delegateType.DelegateInvokeMethod; 58public static IMethodSymbol RenameTypeParameters(this IMethodSymbol method, ImmutableArray<string> newNames) 90public static IMethodSymbol RenameParameters( 91this IMethodSymbol method, ImmutableArray<string> parameterNames) 155public static IMethodSymbol EnsureNonConflictingNames( 156this IMethodSymbol method, INamedTypeSymbol containingType, ISyntaxFactsService syntaxFacts) 176var updatedMethod = method.RenameTypeParameters(newTypeParameterNames); 180public static IMethodSymbol RemoveInaccessibleAttributesAndAttributesOfTypes( 181this IMethodSymbol method, ISymbol accessibleWithin, 216public static bool? IsMoreSpecificThan(this IMethodSymbol method1, IMethodSymbol method2)
Shared\Extensions\ISymbolExtensions.cs (9)
134ImmutableArray<AttributeData> attributes, bool hideAdvancedMembers, IMethodSymbol? constructor) 157ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors) 166ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors) 175ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors) 188ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> attributeConstructors, int hiddenFlag) 194foreach (var constructor in attributeConstructors) 476if (memberSymbol is IMethodSymbol methodSymbol) 513static bool IsSameSignature(IMethodSymbol left, IMethodSymbol right)
Shared\Extensions\ISymbolExtensions_2.cs (1)
15if (symbol.ContainingSymbol is IMethodSymbol method)
Shared\Extensions\ITypeSymbolExtensions.cs (1)
136IMethodSymbol methodSymbol => typeSymbol.FindImplementations(methodSymbol, services),
Shared\Extensions\SemanticModelExtensions.cs (4)
37symbol.ContainingSymbol is IMethodSymbol method) 53if (symbol is IMethodSymbol methodSymbol && 62var mapped = containingType.GetMembers(methodSymbol.Name) 63.OfType<IMethodSymbol>()
Shared\Extensions\SyntaxGeneratorExtensions.cs (9)
24public static IMethodSymbol CreateBaseDelegatingConstructor( 26IMethodSymbol constructor, 65var constructor = CodeGenerationSymbolFactory.CreateConstructorSymbol( 413IMethodSymbol? accessorGet = null; 424IMethodSymbol? accessorSet = null; 476if (symbol is IMethodSymbol method) 502private static async Task<IMethodSymbol> OverrideMethodAsync( 504IMethodSymbol overriddenMethod, 556this SyntaxGenerator generator, IMethodSymbol method, ISymbol throughMember)
Shared\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (6)
24public static IMethodSymbol CreateEqualsMethod( 41public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56public static IMethodSymbol CreateIEquatableEqualsMethod( 69var methodSymbol = constructedEquatableType 71.OfType<IMethodSymbol>() 436from method in baseType.GetMembers(EqualsName).OfType<IMethodSymbol>()
Shared\Utilities\EditorBrowsableHelpers.cs (10)
18public IMethodSymbol? EditorBrowsableAttributeConstructor { get; } 19public ImmutableArray<IMethodSymbol> TypeLibTypeAttributeConstructors { get; } 20public ImmutableArray<IMethodSymbol> TypeLibFuncAttributeConstructors { get; } 21public ImmutableArray<IMethodSymbol> TypeLibVarAttributeConstructors { get; } 42public static IMethodSymbol? GetSpecialEditorBrowsableAttributeConstructor(Compilation compilation) 72public static ImmutableArray<IMethodSymbol> GetSpecialTypeLibTypeAttributeConstructors(Compilation compilation) 80public static ImmutableArray<IMethodSymbol> GetSpecialTypeLibFuncAttributeConstructors(Compilation compilation) 88public static ImmutableArray<IMethodSymbol> GetSpecialTypeLibVarAttributeConstructors(Compilation compilation) 103private static ImmutableArray<IMethodSymbol> GetSpecialTypeLibAttributeConstructorsWorker( 114return ImmutableArray<IMethodSymbol>.Empty;
Shared\Utilities\SignatureComparer.cs (12)
41SymbolKind.Method => HaveSameSignature((IMethodSymbol)symbol1, (IMethodSymbol)symbol2, caseSensitive), 65private static bool BadPropertyAccessor(IMethodSymbol method1, IMethodSymbol method2) 71public bool HaveSameSignature(IMethodSymbol method1, 72IMethodSymbol method2, 151var method1 = (IMethodSymbol)symbol1; 152var method2 = (IMethodSymbol)symbol2; 198private bool HaveSameSignatureAndConstraintsAndReturnType(IMethodSymbol method1, IMethodSymbol method2)
SymbolEquivalenceComparer.cs (6)
131public bool ReturnTypeEquals(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies = null) 176private static bool IsConstructedFromSelf(IMethodSymbol symbol) 182private static bool CheckContainingType(IMethodSymbol x) 213private static bool IsPartialMethodDefinitionPart(IMethodSymbol symbol) 216private static bool IsPartialMethodImplementationPart(IMethodSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
125SymbolKind.Method => MethodsAreEquivalent((IMethodSymbol)x, (IMethodSymbol)y, equivalentTypesWithDifferingAssemblies), 171private bool MethodsAreEquivalent(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies, bool considerReturnRefKinds = false) 180var rx = x.ReducedFrom; 181var ry = y.ReducedFrom; 473internal bool ReturnTypesAreEquivalent(IMethodSymbol x, IMethodSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies = null)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
68SymbolKind.Method => CombineHashCodes((IMethodSymbol)x, currentHash), 112private int CombineHashCodes(IMethodSymbol x, int currentHash)
SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (1)
63if (isAnonymousDelegateType && symbol is IMethodSymbol methodSymbol)
SymbolKey.BuiltinOperatorSymbolKey.cs (6)
13private sealed class BuiltinOperatorSymbolKey : AbstractSymbolKey<IMethodSymbol> 17public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 25SymbolKeyReader reader, IMethodSymbol? contextualSymbol, out string? failureReason) 30using var parameterTypes = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 56var unaryOperator = reader.Compilation.CreateBuiltinOperator(name, returnTypeSymbol, parameterTypes[0]); 60var binaryOperator = reader.Compilation.CreateBuiltinOperator(name, returnTypeSymbol, parameterTypes[0], parameterTypes[1]);
SymbolKey.cs (5)
32/// <item>Two <see cref="IMethodSymbol"/>s are the "same" if they have 35/// equal <see cref="IMethodSymbol.Arity"/>, 36/// the "same" <see cref="IMethodSymbol.TypeArguments"/>, and have 73/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 326IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
SymbolKey.MethodSymbolKey.cs (22)
12private sealed class ReducedExtensionMethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 16public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 25SymbolKeyReader reader, IMethodSymbol? contextualMethod, out string? failureReason) 42using var result = PooledArrayBuilder<IMethodSymbol>.GetInstance(); 43foreach (var reducedFrom in reducedFromResolution.OfType<IMethodSymbol>()) 56private sealed class ConstructedMethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 60public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 67SymbolKeyReader reader, IMethodSymbol? contextualMethod, out string? failureReason) 71using var typeArguments = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 102using var result = PooledArrayBuilder<IMethodSymbol>.GetInstance(); 103foreach (var method in constructedFrom.OfType<IMethodSymbol>()) 124private sealed class MethodSymbolKey : AbstractSymbolKey<IMethodSymbol> 128public sealed override void Create(IMethodSymbol symbol, SymbolKeyWriter visitor) 161SymbolKeyReader reader, IMethodSymbol? contextualSymbol, out string? failureReason) 180using var methods = GetMembersOfNamedType<IMethodSymbol>(containingType, metadataName: null); 181IMethodSymbol? method = null; 182foreach (var candidate in methods) 224_ = reader.ReadSymbolKeyArray<IMethodSymbol, ITypeSymbol>( 244private static IMethodSymbol? Resolve( 245SymbolKeyReader reader, bool isPartialMethodImplementationPart, IMethodSymbol method)
SymbolKey.ParameterSymbolKey.cs (2)
43case IMethodSymbol method: 62var delegateInvoke = (eventSymbol.Type as INamedTypeSymbol)?.DelegateInvokeMethod;
SymbolKey.SymbolKeyReader.cs (6)
331private readonly List<IMethodSymbol?> _methodSymbolStack = new(); 409public MethodPopper PushMethod(IMethodSymbol? method) 415private void PopMethod(IMethodSymbol? method) 422public IMethodSymbol? ResolveMethod(int index) 444private readonly IMethodSymbol? _method; 446public MethodPopper(SymbolKeyReader reader, IMethodSymbol? method)
SymbolKey.SymbolKeyWriter.cs (5)
69private readonly List<IMethodSymbol> _methodSymbolStack = new(); 359public override void VisitMethod(IMethodSymbol methodSymbol) 499var method = _methodSymbolStack[i]; 513public void PushMethod(IMethodSymbol method) 516public void PopMethod(IMethodSymbol method)
SymbolKey.TypeParameterOrdinalSymbolKey.cs (1)
24var method = reader.ResolveMethod(methodIndex);
SymbolSpecification.cs (2)
401SymbolCategory.Method => symbol is IMethodSymbol method && method.MethodKind == (MethodKind)_kind, 528if (Modifier.IsAsync && kind == SymbolKind.Method && ((IMethodSymbol)symbol).IsAsync)
SymbolUsageAnalysis.AnalysisData.cs (3)
72protected abstract PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 91public BasicBlockAnalysisData AnalyzeLocalFunctionInvocation(IMethodSymbol localFunction, CancellationToken cancellationToken) 126protected abstract BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken);
SymbolUsageAnalysis.cs (1)
43BasicBlockAnalysisData AnalyzeLocalFunction(IMethodSymbol localFunction)
SymbolUsageAnalysis.DataFlowAnalyzer.cs (2)
30IMethodSymbol lambdaOrLocalFunction, 52IMethodSymbol localFunctionOrLambda,
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (12)
36private readonly Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> _analyzeLocalFunctionOrLambdaInvocation; 55private readonly PooledDictionary<IMethodSymbol, ControlFlowGraph> _localFunctionTargetsToAccessingCfgMap; 79PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 80Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> analyzeLocalFunctionOrLambdaInvocation, 82PooledDictionary<IMethodSymbol, ControlFlowGraph> localFunctionTargetsToAccessingCfgMap, 112protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 119Func<IMethodSymbol, ControlFlowGraph, AnalysisData, CancellationToken, BasicBlockAnalysisData> analyzeLocalFunctionOrLambdaInvocation) 132lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(), 135localFunctionTargetsToAccessingCfgMap: PooledDictionary<IMethodSymbol, ControlFlowGraph>.GetInstance(), 141IMethodSymbol lambdaOrLocalFunction, 321ControlFlowGraph TryGetLocalFunctionControlFlowGraphInScope(IMethodSymbol localFunction) 484protected override BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken)
SymbolUsageAnalysis.OperationTreeAnalysisData.cs (7)
21private readonly Func<IMethodSymbol, BasicBlockAnalysisData> _analyzeLocalFunction; 26PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 27Func<IMethodSymbol, BasicBlockAnalysisData> analyzeLocalFunction) 39protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 43Func<IMethodSymbol, BasicBlockAnalysisData> analyzeLocalFunction) 48lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(), 52protected override BasicBlockAnalysisData AnalyzeLocalFunctionInvocationCore(IMethodSymbol localFunction, CancellationToken cancellationToken)
SymbolUsageAnalysis.Walker.cs (1)
317private void AnalyzeLocalFunctionInvocation(IMethodSymbol localFunction)
SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (3)
98var baseHashCode = GetBaseGetHashCodeMethod(containingType); 192public static IMethodSymbol? GetBaseGetHashCodeMethod(INamedTypeSymbol containingType) 205from method in baseType.GetMembers(GetHashCodeName).OfType<IMethodSymbol>()
Microsoft.CodeAnalysis.Workspaces.UnitTests (46)
FindReferencesTests.cs (2)
377var interfaceMethod = (IMethodSymbol)(await netStandardProject.GetCompilationAsync()).GetTypeByMetadataName("N.I").GetMembers("Get").First();
SymbolKeyTests.cs (21)
375TestRoundTrip(GetDeclaredSymbols(compilation).OfType<IMethodSymbol>().SelectMany(ms => ms.Parameters), compilation); 471var symbols = GetDeclaredSymbols(compilation).OfType<IMethodSymbol>().SelectMany(ms => GetInteriorSymbols(ms, compilation).OfType<ILocalSymbol>()).ToList(); 493var symbols = GetDeclaredSymbols(compilation).OfType<IMethodSymbol>().SelectMany(ms => GetInteriorSymbols(ms, compilation).OfType<ILabelSymbol>()).ToList(); 520var symbols = GetDeclaredSymbols(compilation).OfType<IMethodSymbol>().SelectMany(ms => GetInteriorSymbols(ms, compilation).OfType<IRangeVariableSymbol>()).ToList(); 651var method = GetDeclaredSymbols(compilation).OfType<IMethodSymbol>().First(); 652var constructed = method.Construct(compilation.GetSpecialType(SpecialType.System_Int32), method.TypeParameters[1]); 732var a_string_b_int_m_datetime = ((IMethodSymbol)a_string_b_int_m).Construct(compilation.GetSpecialType(SpecialType.System_DateTime)); 737var a_b_int_m_datetime = ((IMethodSymbol)a_b_int_m).Construct(compilation.GetSpecialType(SpecialType.System_DateTime)); 742var a_b_m_datetime = ((IMethodSymbol)a_b_m).Construct(compilation.GetSpecialType(SpecialType.System_DateTime)); 769.Where(n => !n.IsImplicitlyDeclared).Single().GetMembers("M").OfType<IMethodSymbol>().Single().TypeParameters.Single(); 884var methods = GetDeclaredSymbols(compilation1).OfType<IMethodSymbol>(); 885foreach (var method in methods) 966var method = found as IMethodSymbol; 1003var method = found as IMethodSymbol; 1332var methods = GetDeclaredSymbols(compilation).OfType<IMethodSymbol>();
UtilityTest\DocumentationCommentIdTests.cs (23)
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); 216CheckDeclarationId<IMethodSymbol>("M:Acme.ValueType.M(System.Int32)", compilation, s => s.Name == "M" && s.Parameters is [{ Type.Name: "Int32" }]); 217CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.NestedClass.M(System.Int32)", compilation, s => s.Name == "M" && s.Parameters is [{ Type.Name: "Int32" }]); 218CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M0", compilation, s => s.Name == "M0" && s.Parameters.Length == 0); 219CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M1(System.Char,System.Single@,Acme.ValueType@)", compilation, s => s.Name == "M1"); 220CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M2(System.Int16[],System.Int32[0:,0:],System.Int64[][])", compilation, s => s.Name == "M2"); 221CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M3(System.Int64[][],Acme.Widget[0:,0:,0:][])", compilation, s => s.Name == "M3"); 222CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M4(System.Char*,Color**)", compilation, s => s.Name == "M4"); 223CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M5(System.Void*,System.Double*[0:,0:][])", compilation, s => s.Name == "M5"); 224CheckDeclarationId<IMethodSymbol>("M:Acme.Widget.M6(System.Int32,System.Object[])", compilation, s => s.Name == "M6"); 225CheckDeclarationId<IMethodSymbol>("M:Acme.MyList`1.Test(`0)", compilation, s => s.Name == "Test"); 226CheckDeclarationId<IMethodSymbol>("M:Acme.UseList.Process(Acme.MyList{System.Int32})", compilation, s => s.Name == "Process"); 227CheckDeclarationId<IMethodSymbol>("M:Acme.UseList.GetValues``1(``0)", compilation, s => s.Name == "GetValues"); 228CheckDeclarationId<IMethodSymbol>("M:Acme.UseList.Process2``1(Acme.MyList{``0})", compilation, s => s.Name == "Process2"); 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"); 337var method = outerType.GetMembers("M").First() as IMethodSymbol;
Microsoft.VisualStudio.LanguageServices (34)
CallHierarchy\CallHierarchyProvider.cs (1)
86if (symbol is IMethodSymbol methodSymbol)
Implementation\VsRefactorNotifyService.cs (2)
163var methodSymbol = symbol as IMethodSymbol;
Library\ObjectBrowser\AbstractDescriptionBuilder.cs (2)
213BuildMethodDeclaration((IMethodSymbol)symbol, options); 242protected abstract void BuildMethodDeclaration(IMethodSymbol methodSymbol, _VSOBJDESCOPTIONS options);
Library\ObjectBrowser\AbstractListItemFactory.cs (2)
347var methodSymbol = (IMethodSymbol)member;
Library\ObjectBrowser\Lists\MemberListItem.cs (2)
44var methodSymbol = (IMethodSymbol)symbol;
Progression\GraphBuilder.cs (6)
262node = await GetOrCreateNodeForMethodAsync(graph, (IMethodSymbol)symbol, solution, cancellationToken).ConfigureAwait(false); 371var methodSymbol = (IMethodSymbol)symbol; 488else if (symbol is IMethodSymbol methodSymbol) 494private static void UpdateMethodPropertiesForNode(IMethodSymbol symbol, GraphNode node) 603private static async Task<GraphNode> GetOrCreateNodeForMethodAsync(Graph graph, IMethodSymbol method, Solution solution, CancellationToken cancellationToken)
Progression\GraphNodeIdCreation.cs (2)
320if (member is IMethodSymbol methodSymbol && methodSymbol.MethodKind == MethodKind.Conversion) 467if (containingSymbol is IMethodSymbol method && method.AssociatedSymbol != null && method.AssociatedSymbol.Kind == SymbolKind.Property)
Progression\GraphQueries\CallsGraphQuery.cs (2)
55if (newSymbol != null && newSymbol is IMethodSymbol && 56(newSymbol.CanBeReferencedByName || ((IMethodSymbol)newSymbol).MethodKind == MethodKind.Constructor))
Progression\GraphQueries\ImplementedByGraphQuery.cs (1)
29IMethodSymbol or
Progression\GraphQueries\ImplementsGraphQuery.cs (1)
36else if (symbol is IMethodSymbol or
Progression\GraphQueries\OverridesGraphQuery.cs (1)
27if (symbol is IMethodSymbol or
Progression\SymbolContainment.cs (1)
87if (member is IMethodSymbol method && method.AssociatedSymbol != null)
ProjectSystem\AbstractEntryPointFinder.cs (1)
36public override void VisitMethod(IMethodSymbol symbol)
Snippets\AbstractSnippetExpansionClient.cs (4)
552var methodSymbols = symbols.OfType<IMethodSymbol>().ToImmutableArray(); 747if (newSymbol is not IMethodSymbol method) 776public void MoveToSpecificMethod(IMethodSymbol method, CancellationToken cancellationToken) 1190public IMethodSymbol? _method;
Venus\ContainedLanguageCodeSupport.cs (6)
109var methods = type.GetMembers().OfType<IMethodSymbol>().Where(m => m.CompatibleSignatureToDelegate((INamedTypeSymbol)eventType)); 190var invokeMethod = ((INamedTypeSymbol)eventType).DelegateInvokeMethod; 191var newMethod = CodeGenerationSymbolFactory.CreateMethodSymbol( 382var method = (IMethodSymbol)member; 455return string.Format("{0}({1})", member.Name, string.Join(",", ((IMethodSymbol)member).Parameters.Select(p => p.Type.ToDisplayString())));
Microsoft.VisualStudio.LanguageServices.CSharp (19)
CodeModel\CSharpCodeModelService.cs (4)
997if (symbol is IMethodSymbol methodSymbol) 2190public override EnvDTE.vsCMFunction GetFunctionKind(IMethodSymbol symbol) 3623var methodSymbol = (IMethodSymbol)symbol;
CodeModel\CSharpCodeModelService_Prototype.cs (5)
32return GetFunctionPrototype((IMethodSymbol)symbol, flags); 55return GetFunctionPrototype(methodDeclaration, (IMethodSymbol)symbol, flags); 138private string GetFunctionPrototype(IMethodSymbol symbol, PrototypeFlags flags) 159private string GetFunctionPrototype(BaseMethodDeclarationSyntax node, IMethodSymbol symbol, PrototypeFlags flags) 386private void AppendFunctionPrototype(StringBuilder builder, IMethodSymbol symbol, PrototypeFlags flags, string baseName)
CodeModel\MethodXml\MethodXmlBuilder.cs (2)
17private MethodXmlBuilder(IMethodSymbol symbol, SemanticModel semanticModel) 611var symbol = semanticModel.GetDeclaredSymbol(methodDeclaration);
LanguageService\CSharpHelpContextService.cs (1)
198if (symbol is IMethodSymbol method && method.MethodKind == MethodKind.BuiltinOperator)
ObjectBrowser\DescriptionBuilder.cs (5)
40var delegateInvokeMethod = typeSymbol.DelegateInvokeMethod; 190protected override void BuildMethodDeclaration(IMethodSymbol methodSymbol, _VSOBJDESCOPTIONS options) 249var methodSymbol = memberSymbol as IMethodSymbol; 332private void BuildGenericConstraints(IMethodSymbol methodSymbol)
Progression\CSharpProgressionLanguageService.cs (2)
125case IMethodSymbol m: return IncludeReturnType(m) ? m.ReturnType : null; 132private static bool IncludeReturnType(IMethodSymbol f)
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
GlyphExtensionsTests.cs (1)
227var methodTypeMock = symbolMock.As<IMethodSymbol>();
Microsoft.VisualStudio.LanguageServices.Implementation (35)
CodeModel\AbstractCodeModelObject_CodeGen.cs (7)
41var newMethodSymbol = CodeGenerationSymbolFactory.CreateConstructorSymbol( 58var newMethodSymbol = CodeGenerationSymbolFactory.CreateDestructorSymbol( 89IMethodSymbol? addMethod = null; 90IMethodSymbol? removeMethod = null; 150var newMethodSymbol = CodeGenerationSymbolFactory.CreateMethodSymbol( 185IMethodSymbol? getMethod = null; 201IMethodSymbol? setMethod = null;
CodeModel\AbstractCodeModelService.cs (2)
217return (EnvDTE.CodeElement)ExternalCodeFunction.Create(state, projectId, (IMethodSymbol)symbol); 704public abstract EnvDTE.vsCMFunction GetFunctionKind(IMethodSymbol symbol);
CodeModel\Collections\ExternalOverloadsCollection.cs (3)
48var symbol = (IMethodSymbol)ParentElement.LookupSymbol(); 67var element = ExternalCodeFunction.Create(this.State, _projectId, (IMethodSymbol)method);
CodeModel\Collections\OverloadsCollection.cs (2)
50var symbol = (IMethodSymbol)ParentElement.LookupSymbol();
CodeModel\ExternalElements\ExternalCodeAccessorFunction.cs (4)
20internal static EnvDTE.CodeFunction Create(CodeModelState state, ProjectId projectId, IMethodSymbol symbol, AbstractExternalCodeMember parent) 28private ExternalCodeAccessorFunction(CodeModelState state, ProjectId projectId, IMethodSymbol symbol, AbstractExternalCodeMember parent) 40private IMethodSymbol MethodSymbol 42get { return (IMethodSymbol)LookupSymbol(); }
CodeModel\ExternalElements\ExternalCodeFunction.cs (7)
20internal static EnvDTE.CodeFunction Create(CodeModelState state, ProjectId projectId, IMethodSymbol symbol) 26private ExternalCodeFunction(CodeModelState state, ProjectId projectId, IMethodSymbol symbol) 31private IMethodSymbol MethodSymbol 33get { return (IMethodSymbol)LookupSymbol(); } 70var symbol = (IMethodSymbol)LookupSymbol(); 119var symbol = MethodSymbol;
CodeModel\ICodeModelService.cs (1)
233EnvDTE.vsCMFunction GetFunctionKind(IMethodSymbol symbol);
CodeModel\InternalElements\CodeAccessorFunction.cs (1)
138if (LookupSymbol() is not IMethodSymbol methodSymbol)
CodeModel\InternalElements\CodeDelegate.cs (1)
63private IMethodSymbol LookupInvokeMethod()
CodeModel\InternalElements\CodeFunction.cs (5)
70private IMethodSymbol MethodSymbol 72get { return (IMethodSymbol)LookupSymbol(); } 106if (LookupSymbol() is not IMethodSymbol symbol) 119var symbol = (IMethodSymbol)LookupSymbol();
CodeModel\MethodXml\AbstractMethodXmlBuilder.cs (2)
65protected readonly IMethodSymbol Symbol; 69protected AbstractMethodXmlBuilder(IMethodSymbol symbol, SemanticModel semanticModel)
Microsoft.VisualStudio.LanguageServices.UnitTests (4)
CommonControls\NewTypeDestinationSelectionViewModelTests.vb (2)
238Dim extractableMembers = DirectCast(symbol, INamedTypeSymbol).GetMembers().Where(Function(s) Not (TypeOf s Is IMethodSymbol) OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.Constructor)
ExtractInterface\ExtractInterfaceViewModelTests.vb (2)
301Dim extractableMembers = DirectCast(symbol, INamedTypeSymbol).GetMembers().Where(Function(s) Not (TypeOf s Is IMethodSymbol) OrElse DirectCast(s, IMethodSymbol).MethodKind <> MethodKind.Constructor)
Microsoft.VisualStudio.LanguageServices.VisualBasic (15)
CodeModel\MethodXML\MethodXmlBuilder.vb (3)
20Private Sub New(symbol As IMethodSymbol, semanticModel As SemanticModel) 127Dim eventAccessor As IMethodSymbol 664Dim delegateSymbol = TryCast(SemanticModel.GetSymbolInfo(delegateExpression).Symbol, IMethodSymbol)
CodeModel\VisualBasicCodeModelService.vb (4)
1385Dim methodSymbol = TryCast(symbol, IMethodSymbol) 2538Public Overrides Function GetFunctionKind(symbol As IMethodSymbol) As EnvDTE.vsCMFunction 4168Not TypeOf symbol Is IMethodSymbol Then 4174Dim methodSymbol = DirectCast(symbol, IMethodSymbol)
CodeModel\VisualBasicCodeModelService_Prototype.vb (2)
41Dim methodSymbol = DirectCast(symbol, IMethodSymbol) 95Dim methodSymbol = DirectCast(symbol, IMethodSymbol)
ObjectBrowser\DescriptionBuilder.vb (5)
114Protected Overrides Sub BuildMethodDeclaration(methodSymbol As IMethodSymbol, options As _VSOBJDESCOPTIONS) 125Private Sub BuildOperatorDeclaration(methodSymbol As IMethodSymbol) 150Private Sub BuildDeclareMethodDeclaration(methodSymbol As IMethodSymbol) 197Private Sub BuildRegularMethodDeclaration(methodSymbol As IMethodSymbol) 334Dim methodSymbol = TryCast(memberSymbol, IMethodSymbol)
Venus\ContainedLanguageStaticEventBinding.vb (1)
30Cast(Of IMethodSymbol)()
Roslyn.Test.PdbUtilities (11)
Reader\PdbValidation.cs (11)
40IMethodSymbol debugEntryPoint = null, 54IMethodSymbol debugEntryPoint = null, 69IMethodSymbol debugEntryPoint = null, 84IMethodSymbol debugEntryPoint = null, 156IMethodSymbol debugEntryPoint = null, 170IMethodSymbol debugEntryPoint = null, 193IMethodSymbol debugEntryPoint = null, 207IMethodSymbol debugEntryPoint = null, 229IMethodSymbol debugEntryPoint, 511IMethodSymbol debugEntryPoint = null, 525private static void EmitWithPdb(MemoryStream peStream, MemoryStream pdbStream, Compilation compilation, IMethodSymbol debugEntryPoint, IEnumerable<EmbeddedText> embeddedTexts, bool portable)