1 implementation of TargetMethod
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
5204public IMethodSymbol TargetMethod { get; }
633 references to TargetMethod
Aspire.Hosting.Analyzers (1)
AppHostAnalyzer.cs (1)
58var targetMethod = invocation.TargetMethod;
Aspire.Hosting.Integration.Analyzers (1)
AspireExportAnalyzer.cs (1)
339if (invocation.TargetMethod.MethodKind != MethodKind.DelegateInvoke ||
ConfigurationSchemaGenerator (10)
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (1)
84IMethodSymbol targetMethod = invocation.Operation.TargetMethod;
RuntimeSource\Configuration.Binder\Parser\BinderInvocation.cs (1)
54if (operation.TargetMethod is not IMethodSymbol
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (4)
19switch (invocation.Operation.TargetMethod.Name) 42ImmutableArray<IParameterSymbol> @params = operation.TargetMethod.Parameters; 136IMethodSymbol targetMethod = operation.TargetMethod; 191IMethodSymbol targetMethod = operation.TargetMethod;
RuntimeSource\Configuration.Binder\Parser\OptionsBuilderConfigurationExtensions.cs (3)
17IMethodSymbol targetMethod = invocation.Operation.TargetMethod; 45IMethodSymbol targetMethod = operation.TargetMethod; 72IMethodSymbol targetMethod = invocation.Operation.TargetMethod;
RuntimeSource\Configuration.Binder\Parser\OptionsConfigurationServiceCollectionExtensions.cs (1)
18IMethodSymbol targetMethod = operation.TargetMethod;
GenerateDocumentationAndConfigFiles (9)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
36else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 45else if (invocation.TargetMethod.Parameters[0].IsParams) 47return invocation.TargetMethod.Parameters[0].Type; 445return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
ILLink.RoslynAnalyzer (2)
COMAnalyzer.cs (1)
43var targetMethod = invocationOperation.TargetMethod;
DataFlow\LocalDataFlowVisitor.cs (1)
660=> ProcessMethodCall(operation, operation.TargetMethod, operation.Instance, operation.Arguments, state);
Microsoft.Analyzers.Extra (8)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
199return invocation.TargetMethod.Name is "Wait" or "GetAwaiter";
CallAnalysis\Arrays.cs (1)
101static void HandleMethod(OperationAnalysisContext context, IInvocationOperation op) => HandleSuspectType(context, (INamedTypeSymbol)op.TargetMethod.ReturnType, op.Syntax.GetLocation());
CallAnalysis\CallAnalyzer.Handlers.cs (1)
24var target = op.TargetMethod;
CallAnalysis\Fixers\LegacyLoggingFixer.cs (1)
103var method = invocationOp.TargetMethod;
CallAnalysis\StartsEndsWith.cs (1)
59var diagnostic = Diagnostic.Create(DiagDescriptors.StartsEndsWith, op.Syntax.GetLocation(), op.TargetMethod.Name);
ConditionalAccessAnalyzer.cs (1)
67if (MaybeNull(invocation.TargetMethod.GetReturnTypeAttributes()))
UsingToStringInLoggersAnalyzer.cs (2)
41if (IsLoggerMethod(invocation.TargetMethod)) 67&& argOperation.TargetMethod.Name == "ToString")
Microsoft.Analyzers.Local (1)
CallAnalysis\CallAnalyzer.Handlers.cs (1)
24var target = op.TargetMethod;
Microsoft.AspNetCore.Analyzers (3)
CompilationFeatureDetector.cs (1)
48.Any(op => StartupFacts.IsSignalRConfigureMethodGesture(op.TargetMethod)))
MiddlewareItem.cs (1)
18public IMethodSymbol UseMethod => Operation.TargetMethod;
ServicesItem.cs (1)
18public IMethodSymbol UseMethod => Operation.TargetMethod;
Microsoft.AspNetCore.App.Analyzers (27)
Authorization\AddAuthorizationBuilderAnalyzer.cs (5)
57if (SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, addAuthorizationMethod) 58&& SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, policyServiceCollectionExtensions) 153if (expressionStatementOperation is IInvocationOperation { TargetMethod.ContainingType: { } invokedMethodContainingType } 214&& SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod, authorizationOptionsTypes.GetPolicy) 215&& SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod.ContainingType, authorizationOptionsTypes.AuthorizationOptions))
Http\HeaderDictionaryAddAnalyzer.cs (2)
34if (IsAddMethod(invocation.TargetMethod) 35&& invocation.TargetMethod.Parameters.Length == 2
Kestrel\ListenOnIPv6AnyAnalyzer.cs (1)
112TargetMethod: { Name: "Listen" },
RenderTreeBuilder\RenderTreeBuilderAnalyzer.cs (1)
34if (!IsRenderTreeBuilderMethodWithSequenceParameter(wellKnownTypes, invocation.TargetMethod))
RouteHandlers\DetectAmbiguousRoutes.cs (6)
95var method = invocationOperation.TargetMethod; 196if (invocation.TargetMethod.Name == "MapGroup" && 197invocation.TargetMethod.Parameters.Length == 2 && 198SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, otherInvocation.TargetMethod) && 206return AreArgumentsEqual(invocation.TargetMethod, invocation.Arguments, otherInvocation.Arguments);
RouteHandlers\DetectMisplacedLambdaAttribute.cs (2)
79return invocationReturn.TargetMethod; 90return invocationExpression.TargetMethod;
RouteHandlers\DisallowMvcBindArgumentsOnParameters.cs (1)
36var methodName = invocation.TargetMethod.Name;
RouteHandlers\DisallowReturningActionResultFromMapMethods.cs (2)
50invocationOperation.TargetMethod.Name)); 84invocationOperation.TargetMethod.Name));
RouteHandlers\RouteHandlerAnalyzer.cs (1)
71var targetMethod = invocation.TargetMethod;
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (4)
185else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 192else if (invocation.TargetMethod.Parameters[0].IsParams) 194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
WebApplicationBuilder\WebApplicationBuilderAnalyzer.cs (2)
75var targetMethod = invocation.TargetMethod; 284.Where(node => string.Equals(node.Identifier.Value as string, operation.TargetMethod.Name, StringComparison.Ordinal))
Microsoft.AspNetCore.Components.Analyzers (10)
AuthenticationStateProviderAnalyzer.cs (1)
56invocation.TargetMethod.Name == ComponentsApi.AuthenticationStateProvider.GetAuthenticationStateAsync)
ForLoopIteratorInClosureAnalyzer.cs (4)
166var targetMethod = invocation.TargetMethod; 177if (SymbolEqualityComparer.Default.Equals(valueInvocation.TargetMethod.ContainingType, availableTypes[ComponentsApi.BindConverter.MetadataName])) 182else if (SymbolEqualityComparer.Default.Equals(valueInvocation.TargetMethod.ContainingType, availableTypes[ComponentsApi.EventCallbackFactory.MetadataName]) 183&& valueInvocation.TargetMethod.Name != "CreateBinder"
InternalUsageAnalyzer.cs (1)
64IInvocationOperation invocation => invocation.TargetMethod,
InvokeAsyncOfObjectAnalyzer.cs (2)
54var targetMethod = invocation.TargetMethod; 90if (invocation.TargetMethod.IsExtensionMethod && invocation.Arguments.Length > 0)
StateHasChangedAnalyzer.cs (1)
64if (!SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, eventCallbackFactoryType))
VirtualizeItemComparerAnalyzer.cs (1)
55var targetMethod = invocation.TargetMethod;
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
InternalUsageAnalyzer.cs (1)
64IInvocationOperation invocation => invocation.TargetMethod,
Microsoft.AspNetCore.Http.RequestDelegateGenerator (2)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (2)
30targetOperation.TargetMethod.ContainingNamespace is { Name: "Builder", ContainingNamespace: { Name: "AspNetCore", ContainingNamespace: { Name: "Microsoft", ContainingNamespace.IsGlobalNamespace: true } } } && 31targetOperation.TargetMethod.ContainingAssembly.Name is "Microsoft.AspNetCore.Routing" &&
Microsoft.AspNetCore.Mvc.Analyzers (6)
AvoidHtmlPartialAnalyzer.cs (1)
23var method = ((IInvocationOperation)context.Operation).TargetMethod;
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (4)
185else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 192else if (invocation.TargetMethod.Parameters[0].IsParams) 194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
TagHelpersInCodeBlocksAnalyzer.cs (1)
55if (!IsTagHelperRunnerRunAsync(invocationOperation.TargetMethod, symbolCache))
Microsoft.AspNetCore.Mvc.Api.Analyzers (5)
ActualApiResponseMetadataFactory.cs (1)
95defaultStatusCodeAttribute = invocationOperation.TargetMethod
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (4)
185else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 192else if (invocation.TargetMethod.Parameters[0].IsParams) 194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
Microsoft.CodeAnalysis (4)
Generated\Operations.Generated.cs (2)
778/// Type parameter which runtime type will be used to resolve virtual invocation of the <see cref="TargetMethod" />. 779/// Null if <see cref="TargetMethod" /> is resolved statically, or is an instance method.
Operations\ControlFlowGraphBuilder.cs (2)
5941IOperation? instance = operation.TargetMethod.IsStatic ? null : operation.Instance; 5944return new InvocationOperation(operation.TargetMethod, operation.ConstrainedToType, visitedInstance, operation.IsVirtual, visitedArguments, semanticModel: null, operation.Syntax,
Microsoft.CodeAnalysis.Analyzers (39)
FixAnalyzers\FixerWithFixAllAnalyzer.cs (2)
183if (invocation.TargetMethod is IMethodSymbol invocationSym && _analysisTypes.CreateMethods.Contains(invocationSym)) 257IParameterSymbol? param = invocation.TargetMethod.Parameters.FirstOrDefault(p => p.Name == EquivalenceKeyParameterName);
ImmutableObjectMethodAnalyzer.cs (2)
83if (invocation.Parent is not IExpressionStatementOperation || invocation.TargetMethod.ReturnsVoid) 89string methodName = invocation.TargetMethod.Name;
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (1)
175var method = invocationOperation.TargetMethod;
MetaAnalyzers\ConfigureGeneratedCodeAnalysisAnalyzer.cs (1)
111if (invocation.TargetMethod?.Name != nameof(AnalysisContext.ConfigureGeneratedCodeAnalysis))
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (3)
241(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 243AddUsedNamedTypeCore(invocation.TargetMethod.ContainingType, builder, ref hasAccessToTypeFromWorkspaceAssemblies);
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (7)
344if (SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, compilationEndReportDiagnosticMethod) && 352else if (diagnosticCreateMethods.Contains(invocation.TargetMethod)) 359inv => SymbolEqualityComparer.Default.Equals(inv.TargetMethod, compilationEndReportDiagnosticMethod)) is not null) 534IInvocationOperation invocation when IsCreateHelper(invocation.TargetMethod) 535=> (invocation.TargetMethod, invocation.Arguments), 598invocation.TargetMethod.ReturnType.Equals(localizableResourceStringType) && 605resourceFileName = invocation.TargetMethod.ContainingType.Name;
MetaAnalyzers\DoNotUseCompilationGetSemanticModelAnalyzer.cs (4)
61if (invocation.TargetMethod.Name.Equals("GetSemanticModel", StringComparison.Ordinal) && 63SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, compilationType) || 64SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, csharpCompilation) || 65SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, visualBasicCompilation)
MetaAnalyzers\EnableConcurrentExecutionAnalyzer.cs (1)
111if (invocation.TargetMethod?.Name != nameof(AnalysisContext.EnableConcurrentExecution))
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (1)
103document, invocation.Syntax, invocation.TargetMethod, invocation.Arguments, IsExtensionMethodUsedAsSuch(invocation),
MetaAnalyzers\PreferIsKindAnalyzer.cs (1)
90if (possibleInvocation is IInvocationOperation { TargetMethod: { Name: "Kind", ContainingType: var containingType } }
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (2)
97VerifySymbol(context.ReportDiagnostic, invocation.TargetMethod, context.Operation.Syntax); 98VerifyType(context.ReportDiagnostic, invocation.TargetMethod.ContainingType, context.Operation.Syntax);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
188if (!invocation.TargetMethod.ReturnsVoid) 190countOperand(invocation.TargetMethod);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (3)
306(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 308AddCoupledNamedTypesCore(builder, invocation.TargetMethod.ContainingType, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
36else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 45else if (invocation.TargetMethod.Parameters[0].IsParams) 47return invocation.TargetMethod.Parameters[0].Type; 445return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
Microsoft.CodeAnalysis.AnalyzerUtilities (36)
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (5)
194invocation.TargetMethod.ReturnType.SpecialType == SpecialType.System_Boolean && 195invocation.TargetMethod.Name.StartsWith("TryGet", StringComparison.Ordinal) && 245invocation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate())) 343invocation.TargetMethod.ReturnType.SpecialType == SpecialType.System_Boolean) 391IsDisposableCreationSpecialCase(invocation.TargetMethod) && DisposeOwnershipTransferLikelyTypes.Contains(operation.Parameter.Type),
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
188if (!invocation.TargetMethod.ReturnsVoid) 190countOperand(invocation.TargetMethod);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (3)
306(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 308AddCoupledNamedTypesCore(builder, invocation.TargetMethod.ContainingType, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
36else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 45else if (invocation.TargetMethod.Parameters[0].IsParams) 47return invocation.TargetMethod.Parameters[0].Type; 445return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (1)
143!invocation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate())
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (16)
980(IsAnyDebugAssertMethod(invocation.TargetMethod) || IsContractCheckMethod(invocation.TargetMethod)); 1702if (invocation.TargetMethod.IsArgumentNullCheckMethod()) 1719invocation.TargetMethod.IsStaticObjectEqualsOrReferenceEquals()) 1725isReferenceEquality = invocation.TargetMethod.Name == "ReferenceEquals" || 1736(invocation.TargetMethod.IsObjectEquals() || 1737invocation.TargetMethod.IsObjectEqualsOverride() || 1738IsOverrideOrImplementationOfEquatableEquals(invocation.TargetMethod))) 1742isReferenceEquality = invocation.TargetMethod.IsObjectEquals(); 3172if (operation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate()) 3195if (operation.Instance != null && operation.TargetMethod.IsTaskConfigureAwaitMethod(GenericTaskNamedType)) 3200else if (operation.TargetMethod.IsTaskFromResultMethod(TaskNamedType)) 3212operation.TargetMethod.IsAsyncDisposableConfigureAwaitMethod(IAsyncDisposableNamedType, TaskAsyncEnumerableExtensions)) 3221PostVisitInvocation(operation.TargetMethod, operation.Arguments); 3278return VisitInvocation_NonLambdaOrDelegateOrLocalFunction(operation.TargetMethod, operation.Instance, operation.Arguments, 3336var targetMethod = invocation.TargetMethod;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
Microsoft.CodeAnalysis.CodeStyle (20)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
62var targetMethod = invocation.TargetMethod;
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
109IInvocationOperation invocationOperation => invocationOperation.TargetMethod.Kind, 140IInvocationOperation invocationOperation => IsStaticMemberOrIsLocalFunctionHelper(invocationOperation.TargetMethod),
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
547var targetMethod = ((IInvocationOperation)operationContext.Operation).TargetMethod;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (2)
70invocation.TargetMethod.Name == nameof(FormattableString.Invariant) && 71invocation.TargetMethod.ContainingType.Equals(formattableStringType);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
131if (expression is IInvocationOperation { TargetMethod: { } targetMethod } invocation && 157if (IsObjectToStringOverride(invocation.TargetMethod) 239TargetMethod: { Name: nameof(FormattableString.Invariant), ContainingType: var containingType }, 274var targetName = invocation.TargetMethod.Name;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (6)
198=> whereMethodSymbol.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 201=> selectMethodSymbol.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 204=> linqMethods.Any(static (m, invocation) => m.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default), invocation);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
MetaAnalyzers\CSharpSemanticModelGetDeclaredSymbolAlwaysReturnsNullAnalyzer.cs (1)
81if (SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, getDeclaredSymbolMethod))
Microsoft.CodeAnalysis.CSharp.CodeStyle (6)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
357return IsPotentiallyMutatingMethod(owningMethod, invocationOperation.Instance, invocationOperation.TargetMethod);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
109invocationOperation.TargetMethod,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (3)
118var targetMethod = invocation.TargetMethod; 144var targetMethod = invocation.TargetMethod; 337var refReturnMismatch = indexer.ReturnsByRef != invocation.TargetMethod.ReturnsByRef;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
45TargetMethod: IMethodSymbol { Name: nameof(Equals) }, 630TargetMethod.Name: nameof(Equals), 767TargetMethod.Name: nameof(Equals),
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (2)
157if (IsStringRemoveMethod(result.InvocationOperation.TargetMethod)) 241if (IsStringRemoveMethod(result.InvocationOperation.TargetMethod))
Microsoft.CodeAnalysis.CSharp.Features (10)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
357return IsPotentiallyMutatingMethod(owningMethod, invocationOperation.Instance, invocationOperation.TargetMethod);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
109invocationOperation.TargetMethod,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (3)
118var targetMethod = invocation.TargetMethod; 144var targetMethod = invocation.TargetMethod; 337var refReturnMismatch = indexer.ReturnsByRef != invocation.TargetMethod.ReturnsByRef;
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
45TargetMethod: IMethodSymbol { Name: nameof(Equals) }, 630TargetMethod.Name: nameof(Equals), 767TargetMethod.Name: nameof(Equals),
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (2)
157if (IsStringRemoveMethod(result.InvocationOperation.TargetMethod)) 241if (IsStringRemoveMethod(result.InvocationOperation.TargetMethod))
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (12)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (11)
93if (operation.TargetMethod.Name == "SizeOf") 95if (operation.TargetMethod.IsGenericMethod) 97if (operation.TargetMethod.TypeArguments[0].IsUnmanagedType) 99editor.ReplaceNode(syntax, SyntaxFactory.SizeOfExpression((TypeSyntax)editor.Generator.TypeExpression(operation.TargetMethod.TypeArguments[0]))); 110if (operation.TargetMethod.Name == "StructureToPtr" && operation.Arguments[0].Value.Type!.IsUnmanagedType) 121if (operation.TargetMethod.Name == "PtrToStructure") 124if (operation.TargetMethod.IsGenericMethod && operation.Arguments.Length == 1) 126type = operation.TargetMethod.TypeArguments[0]; 128else if (operation.TargetMethod.ReturnType.SpecialType == SpecialType.System_Object 173editor.Generator.CastExpression(operation.TargetMethod.ReturnType, editor.Generator.NullLiteralExpression())); 177replacementNode = editor.Generator.CastExpression(operation.TargetMethod.ReturnType,
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferDictionaryContainsMethods.cs (1)
17IMethodSymbol method = containsInvocation.TargetMethod;
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref })
Microsoft.CodeAnalysis.Features (21)
CallHierarchy\AbstractCallHierarchyService.cs (1)
377IInvocationOperation invocation => invocation.TargetMethod,
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (3)
473var method = invocation.TargetMethod; 497TargetMethod: 530var targetMethod = invocation.TargetMethod;
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
62var targetMethod = invocation.TargetMethod;
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
109IInvocationOperation invocationOperation => invocationOperation.TargetMethod.Kind, 140IInvocationOperation invocationOperation => IsStaticMemberOrIsLocalFunctionHelper(invocationOperation.TargetMethod),
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
547var targetMethod = ((IInvocationOperation)operationContext.Operation).TargetMethod;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (2)
70invocation.TargetMethod.Name == nameof(FormattableString.Invariant) && 71invocation.TargetMethod.ContainingType.Equals(formattableStringType);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
131if (expression is IInvocationOperation { TargetMethod: { } targetMethod } invocation && 157if (IsObjectToStringOverride(invocation.TargetMethod) 239TargetMethod: { Name: nameof(FormattableString.Invariant), ContainingType: var containingType }, 274var targetName = invocation.TargetMethod.Name;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (6)
198=> whereMethodSymbol.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 201=> selectMethodSymbol.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 204=> linqMethods.Any(static (m, invocation) => m.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default), invocation);
ValueTracking\ValueTracker.OperationCollector.cs (1)
107await AddOperationAsync(invocationOperation, invocationOperation.TargetMethod, cancellationToken).ConfigureAwait(false);
Microsoft.CodeAnalysis.NetAnalyzers (322)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementIDisposableCorrectly.cs (4)
464if (!invocationExpression.TargetMethod.HasDisposeBoolMethodSignature()) 471if (!type.Equals(invocationExpression.TargetMethod.ContainingType)) 599if (!Equals(invocationExpression.TargetMethod, _suppressFinalizeMethod)) 709IMethodSymbol methodSymbol = invocation.TargetMethod;
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\PassSystemUriObjectsInsteadOfStrings.cs (1)
81var method = invocation.TargetMethod;
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidDeadConditionalCode.cs (2)
84op is IInvocationOperation { TargetMethod.ReturnType.SpecialType: SpecialType.System_Boolean } || 90!debugAssertMethods.Contains(invocation.TargetMethod, SymbolEqualityComparer.Default));
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.cs (2)
60if (!symbols.IsAnyStartLengthMethod(invocation.TargetMethod)) 78context.ReportDiagnostic(invocation.CreateDiagnostic(Rule, invocation.TargetMethod.ToDisplayString()));
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.Fixer.cs (1)
56invocationOperation.TargetMethod.Name,
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidUninstantiatedInternalClasses.cs (1)
150var methodType = expr.TargetMethod;
Microsoft.CodeQuality.Analyzers\Maintainability\DoNotIgnoreMethodResults.cs (1)
183IMethodSymbol targetMethod = invocationExpression.TargetMethod;
Microsoft.CodeQuality.Analyzers\Maintainability\UseCrossPlatformIntrinsicsAnalyzer.cs (1)
365IMethodSymbol targetMethod = invocation.TargetMethod;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (3)
203var creationMethod = invocationCreationOperation.TargetMethod.ReducedFrom ?? invocationCreationOperation.TargetMethod; 365&& _wellKnownSymbolsInfo.GetEnumeratorMethods.Contains(invocationOperation.TargetMethod.OriginalDefinition)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerationsHelpers.cs (8)
150if (operation.Parent is IInvocationOperation { TargetMethod.MethodKind: MethodKind.ReducedExtension } parentInvocationOperation 178|| invocationOperation.TargetMethod.MethodKind != MethodKind.ReducedExtension 184var originalTargetMethod = invocationOperation.TargetMethod.ReducedFrom!.OriginalDefinition; 211return IsInvokingMethodEnumeratedOverArgument(invocationOperation.TargetMethod, argumentOperationToCheck, wellKnownSymbolsInfo); 298var targetMethod = invocationOperation.TargetMethod; 341|| invocationOperation.TargetMethod.MethodKind != MethodKind.ReducedExtension 343|| !IsDeferredType(invocationOperation.TargetMethod.ReturnType.OriginalDefinition, wellKnownSymbolsInfo.AdditionalDeferredTypes)) 348var originalMethod = invocationOperation.TargetMethod.ReducedFrom!.OriginalDefinition;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotCallOverridableMethodsInConstructors.cs (1)
67IMethodSymbol method = operation.TargetMethod;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (2)
103is IInvocationOperation { TargetMethod.Name: nameof(IDisposable.Dispose) }, out var disposeCalls); 192op.Parent is IInvocationOperation { TargetMethod.Name: "Wait" } or
Microsoft.CodeQuality.Analyzers\QualityGuidelines\MarkMembersAsStatic.cs (1)
109&& (context.Operation.Parent is not IInvocationOperation invocation || !invocation.TargetMethod.Equals(methodSymbol, SymbolEqualityComparer.Default)))
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RemoveEmptyFinalizers.cs (1)
77|| !((IInvocationOperation)operation).TargetMethod.HasAnyAttribute(conditionalAttributeType);
Microsoft.NetCore.Analyzers\Data\ReviewSqlQueriesForSecurityVulnerabilities.cs (3)
86if (invocation.TargetMethod.MethodKind != MethodKind.Constructor) 93if (Equals(invocation.TargetMethod.ContainingType, symbol.ContainingType)) 98AnalyzeMethodCall(operationContext, invocation.TargetMethod, symbol, invocation.Arguments, invocation.Syntax, isInDbCommandConstructor, isInDataAdapterConstructor, iDbCommandType, iDataAdapterType);
Microsoft.NetCore.Analyzers\ImmutableCollections\DoNotCallToImmutableCollectionOnAnImmutableCollectionValue.cs (1)
71var targetMethod = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\ImmutableCollections\DoNotCallToImmutableCollectionOnAnImmutableCollectionValue.Fixer.cs (1)
50!DoNotCallToImmutableCollectionOnAnImmutableCollectionValueAnalyzer.ToImmutableMethodNames.Contains(invocationOperation.TargetMethod.Name))
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DelegateInteropUsageAnalyzer.cs (6)
57if (SymbolEqualityComparer.Default.Equals(operation.TargetMethod.OriginalDefinition, _getDelegateForFunctionPointerNonGeneric)) 64else if (SymbolEqualityComparer.Default.Equals(operation.TargetMethod.OriginalDefinition, _getDelegateForFunctionPointerGeneric)) 66if (operation.TargetMethod.TypeArguments.Length == 1 && operation.TargetMethod.TypeArguments[0] is INamedTypeSymbol { TypeKind: TypeKind.Delegate } delegateType) 71else if (SymbolEqualityComparer.Default.Equals(operation.TargetMethod.OriginalDefinition, _getFunctionPointerForDelegateNonGeneric)) 81else if (SymbolEqualityComparer.Default.Equals(operation.TargetMethod.OriginalDefinition, _getFunctionPointerForDelegateGeneric))
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DisabledRuntimeMarshallingAssemblyAnalyzer.cs (4)
78if (_marshalMethods.Contains(invocation.TargetMethod.ConstructedFrom)) 84invocation.TargetMethod.ToDisplayString())); 89return invocation.TargetMethod.Name switch 92"SizeOf" => invocation.TargetMethod.IsGenericMethod || (invocation.Arguments.Length > 0 && invocation.Arguments.GetArgumentForParameterAtIndex(0).Value is ITypeOfOperation { TypeOperand.IsUnmanagedType: true }),
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.cs (4)
396invocation.TargetMethod.Equals(osPlatformCreateMethod) && 450if (invocation.TargetMethod.Equals(runtimeIsOSPlatformMethod)) 462else if (guardMethods.Contains(invocation.TargetMethod)) 1290IInvocationOperation iOperation => iOperation.TargetMethod,
Microsoft.NetCore.Analyzers\InteropServices\UseValidPlatformString.cs (1)
157if (methodNames.Contains(invocation.TargetMethod.Name) &&
Microsoft.NetCore.Analyzers\Performance\AvoidPotentiallyExpensiveCallWhenLogging.cs (5)
221var method = invocationOperation.TargetMethod; 308var method = invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod; 427return SymbolEqualityComparer.Default.Equals(_isEnabledMethod, invocation.TargetMethod) || 428invocation.TargetMethod.IsOverrideOrImplementationOfInterfaceMember(_isEnabledMethod);
Microsoft.NetCore.Analyzers\Performance\AvoidSingleUseOfLocalJsonSerializerOptions.cs (2)
91SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod.ContainingType, jsonSerializerSymbol); 198return SymbolEqualityComparer.Default.Equals(inv.TargetMethod.ContainingType, jsonSerializerSymbol);
Microsoft.NetCore.Analyzers\Performance\CollapseMultiplePathOperations.cs (4)
107var targetMethod = invocation.TargetMethod; 161var nestedMethod = nestedInvocation.TargetMethod; 201var parentMethod = parentInvocation.TargetMethod; 224var nestedMethod = nestedInvocation.TargetMethod;
Microsoft.NetCore.Analyzers\Performance\DoNotGuardCall.cs (7)
122guardedInvocation.TargetMethod.ToDisplayString(s_symbolDisplayFormat), 123conditionInvocation.TargetMethod.ToDisplayString(s_symbolDisplayFormat))); 297return DoesImplementInterfaceMethod(conditionInvocation.TargetMethod, _conditionMethod, _compilation); 328if (IsAnyGuardedMethod(ternaryInvocation.TargetMethod, conditionNegated)) 339if (IsAnyGuardedMethod(invocation.TargetMethod, conditionNegated)) 350.FirstOrDefault(i => IsAnyGuardedMethod(i.TargetMethod, conditionNegated)); 362.FirstOrDefault(i => IsAnyGuardedMethod(i.TargetMethod, conditionNegated));
Microsoft.NetCore.Analyzers\Performance\DoNotUseAsParallelInForEachLoop.cs (1)
88var targetMethod = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.cs (7)
88args:[convertToHexStringReplacementMethod.ToDisplayString(), bitConverterInvocation.TargetMethod.ToDisplayString()])); 237if (!IsAnyBitConverterMethod(invocation.TargetMethod)) 252if (IsAnyStringToLowerMethod(invocation.TargetMethod)) 264if (!IsAnyStringReplaceMethod(invocation.TargetMethod) || 276if (IsAnyStringToLowerMethod(invocation.TargetMethod)) 286_bitConverterReplacementsToLower.TryGetValue(bitConverterInvocation.TargetMethod, out var replacementToLower)) 294else if (_bitConverterReplacements.TryGetValue(bitConverterInvocation.TargetMethod, out var replacement))
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.Fixer.cs (1)
117generator.MemberAccessExpression(methodInvocation, toLowerInvocation.TargetMethod.Name),
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (4)
139if (!IsContainsKeyMethod(containsOperation.TargetMethod, containsKeySymbol)) 335var methodName = invocation.TargetMethod.Name; 346if (DoesSignatureMatch(invocation.TargetMethod, usageContext.AddSymbol) 501case IInvocationOperation { TargetMethod.Name: Add } invocation when
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.cs (7)
191var ownerType = hashCreateInvocation.TargetMethod.ContainingType; 220ReportChainedComputeHashInvocationOperation(chainedInvocationOperation.TargetMethod.ContainingType); 397IMethodSymbol methodSymbol = invocationOperation.TargetMethod; 427public bool IsComputeHashMethod(IInvocationOperation invocationOperation) => invocationOperation.TargetMethod.Equals(_computeHashMethodSymbol, SymbolEqualityComparer.Default); 429public bool IsComputeHashSectionMethod(IInvocationOperation invocationOperation) => invocationOperation.TargetMethod.Equals(_computeHashSectionMethodSymbol, SymbolEqualityComparer.Default); 431public bool IsTryComputeHashMethod(IInvocationOperation invocationOperation) => invocationOperation.TargetMethod.Equals(_tryComputeHashMethodSymbol, SymbolEqualityComparer.Default); 433public bool IsDisposeMethod(IInvocationOperation invocationOperation) => invocationOperation.TargetMethod.Equals(_disposeMethodSymbol, SymbolEqualityComparer.Default);
Microsoft.NetCore.Analyzers\Performance\PreferLengthCountIsEmptyOverAnyAnalyzer.cs (1)
101var originalMethod = invocation.TargetMethod.OriginalDefinition;
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (14)
156invocation.TargetMethod.ReturnsByRef) 275.GetMembers(invocation.TargetMethod.Name) 277.Any(m => m.ParametersAreSame(invocation.TargetMethod)); 332SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, memoryExtensions)) 334if (invocation.TargetMethod.Name.Contains("BinarySearch", StringComparison.Ordinal) || 335invocation.TargetMethod.Name.Contains("Contains", StringComparison.Ordinal) || 336invocation.TargetMethod.Name.Contains("ContainsAny", StringComparison.Ordinal) || 337invocation.TargetMethod.Name.Contains("Count", StringComparison.Ordinal) || 338invocation.TargetMethod.Name.Equals("EndsWith", StringComparison.Ordinal) || 339invocation.TargetMethod.Name.Contains("IndexOf", StringComparison.Ordinal) || 340invocation.TargetMethod.Name.Contains("IndexOfAny", StringComparison.Ordinal) || 341invocation.TargetMethod.Name.Equals("StartsWith", StringComparison.Ordinal) || 342invocation.TargetMethod.Name.Equals("SequenceEqual", StringComparison.Ordinal) || 343invocation.TargetMethod.Name.Equals("Trim", StringComparison.Ordinal))
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Analyzer.cs (6)
243IMethodSymbol diagnosableMethod = invocation.TargetMethod; 373if (!invocation.TargetMethod.Name.Equals(StringToLowerMethodName, StringComparison.Ordinal) && 374!invocation.TargetMethod.Name.Equals(StringToLowerInvariantMethodName, StringComparison.Ordinal) && 375!invocation.TargetMethod.Name.Equals(StringToUpperMethodName, StringComparison.Ordinal) && 376!invocation.TargetMethod.Name.Equals(StringToUpperInvariantMethodName, StringComparison.Ordinal)) 381offendingMethodName = invocation.TargetMethod.Name;
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Fixer.cs (4)
105if (invocation.TargetMethod.Name is RCISCAnalyzer.StringCompareToMethodName) 112invocation, stringComparisonType, invocation.TargetMethod.Name, 116MicrosoftNetCoreAnalyzersResources.RecommendCaseInsensitiveStringComparerStringComparisonCodeFixTitle, invocation.TargetMethod.Name); 177SyntaxNode stringMemberAccessExpression = generator.MemberAccessExpression(mainInvocationInstance, mainInvocation.TargetMethod.Name);
Microsoft.NetCore.Analyzers\Performance\UseCompositeFormat.cs (2)
95IMethodSymbol targetMethod = invocation.TargetMethod; 170if (invocation.TargetMethod.IsStatic)
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (5)
177RecordVirtualDispatch(fieldRef.Field, op.TargetMethod); 188RecordVirtualDispatch(propertyRef.Property, op.TargetMethod); 197RecordVirtualDispatch(localRef.Local, op.TargetMethod); 204RecordVirtualDispatch(parameterRef.Parameter, op.TargetMethod); 211bool canUpgradeMethod = CanUpgrade(op.TargetMethod);
Microsoft.NetCore.Analyzers\Performance\UseCountProperly.cs (3)
196IMethodSymbol originalDefinition = (invocationOperation.TargetMethod.ReducedFrom ?? invocationOperation.TargetMethod).OriginalDefinition; 555IMethodSymbol methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (4)
69if (!indexOfAnyMethodsToDetect.Contains(invocation.TargetMethod)) 77bool isStringIndexOfAny = invocation.TargetMethod.ContainingType.SpecialType == SpecialType.System_String; 268if (invocation.TargetMethod.ContainingType.SpecialType == SpecialType.System_String && 269invocation.TargetMethod.Name == nameof(string.ToCharArray) &&
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.Fixer.cs (1)
324Debug.Assert(invocation.TargetMethod.Name == nameof(string.ToCharArray));
Microsoft.NetCore.Analyzers\Performance\UseSpanClearInsteadOfFill.cs (1)
68if (SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.OriginalDefinition, spanFillMethod)
Microsoft.NetCore.Analyzers\Performance\UseStartsWithInsteadOfIndexOfComparisonWithZero.cs (1)
136if (indexOfMethod.Equals(invocation.TargetMethod, SymbolEqualityComparer.Default))
Microsoft.NetCore.Analyzers\Performance\UseStringContainsCharOverloadWithSingleCharactersAnalyzer.cs (1)
78return invocationOperation.TargetMethod is IMethodSymbol invokedMethod
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.cs (1)
158if (invocationOperation.TargetMethod is IMethodSymbol invokedMethod &&
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (9)
70isMatchInvocation.TargetMethod.Name != "IsMatch" || 71!SymbolEqualityComparer.Default.Equals(isMatchInvocation.TargetMethod.ContainingType, regexType)) 448if (matchInvocation.TargetMethod.Name != "Match" || 449!SymbolEqualityComparer.Default.Equals(matchInvocation.TargetMethod.ContainingType, regexType)) 455if (isMatchInvocation.TargetMethod.IsStatic != matchInvocation.TargetMethod.IsStatic) 461if (!isMatchInvocation.TargetMethod.IsStatic) 471isMatchInvocation.TargetMethod.Parameters, 472matchInvocation.TargetMethod.Parameters))
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.cs (3)
66if (symbols.IsAnyStreamReadMethod(invocation.TargetMethod)) 73else if (symbols.IsAnyStreamReadAsyncMethod(invocation.TargetMethod)) 86context.ReportDiagnostic(invocation.CreateDiagnostic(Rule, invocation.TargetMethod.ToDisplayString()));
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.Fixer.cs (1)
89var isAsyncInvocation = invocation.TargetMethod.Name.EndsWith(Async, StringComparison.Ordinal);
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.cs (1)
143targetSymbol = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (1)
77if (!invocationOperation.TargetMethod.Equals(blockCopyMethod, SymbolEqualityComparer.Default))
Microsoft.NetCore.Analyzers\Runtime\CallGCSuppressFinalizeCorrectly.cs (1)
138if (invocationExpression.TargetMethod.OriginalDefinition.Equals(_gcSuppressFinalizeMethodSymbol))
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (1)
817IInvocationOperation iOperation => iOperation.TargetMethod,
Microsoft.NetCore.Analyzers\Runtime\DisposableTypesShouldDeclareFinalizer.cs (1)
112IMethodSymbol method = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\DisposeMethodsShouldCallBaseClassDispose.cs (2)
87if (Equals(invocation.TargetMethod, containingMethod.OverriddenMethod) && 91Debug.Assert(disposeAnalysisHelper.GetDisposeMethodKind(invocation.TargetMethod) == disposeMethodKind);
Microsoft.NetCore.Analyzers\Runtime\DoNotCallEnumerableCastOrOfTypeWithIncompatibleTypesAnalyzer.cs (4)
92var targetMethod = (invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod).OriginalDefinition; 170if (!invocation.TargetMethod.TypeArguments.HasExactly(1)) 175var castTo = invocation.TargetMethod.TypeArguments[0];
Microsoft.NetCore.Analyzers\Runtime\DoNotLockOnObjectsWithWeakIdentity.cs (1)
59var method = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\DoNotPassLiteralsAsLocalizedParameters.cs (1)
78targetMethod = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\DoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectly.cs (4)
65var methodSymbol = invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod; 82var properties = new Dictionary<string, string?> { [MethodPropertyKey] = invocation.TargetMethod.Name }.ToImmutableDictionary(); 139return invocation.TargetMethod.Name switch
Microsoft.NetCore.Analyzers\Runtime\DoNotUseReferenceEqualsWithValueTypes.cs (1)
88var targetMethod = invocationExpression.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (2)
119args: new object[] { cancellationTokenArgumentName, invocation.TargetMethod.Name })); 139IMethodSymbol method = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\LoggerMessageDefineAnalyzer.cs (1)
125var methodSymbol = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\NormalizeStringsToUppercase.cs (2)
74if (invocation.TargetMethod == null) 79var method = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.cs (5)
97var method = invocation.TargetMethod; 148var method = invocation.TargetMethod; 175var method = invocation.TargetMethod; 291return SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, SubstringStart) || 292SymbolEqualityComparer.Default.Equals(invocation.TargetMethod, SubstringStartLength);
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitStringAnalyzer.cs (1)
68if (!invocationOperation.TargetMethod.Equals(appendStringMethod))
Microsoft.NetCore.Analyzers\Runtime\PreferDictionaryContainsMethods.cs (1)
106IMethodSymbol containsMethod = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\PreferJsonElementParse.cs (3)
82!SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.ContainingType, jsonDocumentType) || 83invocation.TargetMethod.Name != "Parse") 90var jsonDocumentParseMethod = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\PreferJsonElementParse.Fixer.cs (1)
39invocation.TargetMethod.Name != "Parse")
Microsoft.NetCore.Analyzers\Runtime\PreferStreamAsyncMemoryOverloads.cs (2)
265IMethodSymbol method = awaitedInvocation.TargetMethod; 275method = instanceOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\PreferStreamAsyncMemoryOverloads.Fixer.cs (2)
106invocation, invocation.TargetMethod.Name, 116equivalenceKey: title + invocation.TargetMethod.Name),
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOfAnalyzer.cs (1)
147if (!IsDesiredTargetMethod(invocationOperation.TargetMethod))
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.cs (5)
98if (appendStringMethod.Equals(invocation.TargetMethod)) 102else if (insertStringMethod.Equals(invocation.TargetMethod)) 119toStringInvoke.TargetMethod.Name == "ToString" && 121toStringInvoke.TargetMethod.Parameters.IsEmpty) 126.FirstOrDefault(s => s.Parameters[stringParamIndex].Type.Equals(toStringInvoke.TargetMethod.ReceiverType));
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.Fixer.cs (1)
58invocationOp.TargetMethod.Name == "Append")
Microsoft.NetCore.Analyzers\Runtime\ProvideCorrectArgumentsToFormattingMethods.cs (2)
64StringFormatInfo.Info? info = formatInfo.TryGet(invocation.TargetMethod, operationContext); 92if (invocation.TargetMethod.IsVararg)
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureForToLowerAndToUpper.cs (1)
49IMethodSymbol methodSymbol = operation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureInfo.cs (1)
48var targetMethod = invocationExpression.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\SpecifyIFormatProvider.cs (3)
180var targetMethod = invocationExpression.TargetMethod; 336var targetMethod = invocationOperation.TargetMethod; 364=> guidParseMethods.Contains(invocationOperation.TargetMethod);
Microsoft.NetCore.Analyzers\Runtime\SpecifyStringComparison.cs (1)
70var targetMethod = invocationExpression.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\TestForEmptyStringsUsingStringLength.cs (1)
78IMethodSymbol methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\UseAsyncMethodInAsyncContext.cs (3)
110var methodSymbol = invocationOperation.TargetMethod; 147invocationOperation.TargetMethod.ToDisplayString(GetLanguageSpecificFormat(invocationOperation)), 172if (!semaphoreSlimWaitWithTimeoutMethods.Contains(invocation.TargetMethod, SymbolEqualityComparer.Default))
Microsoft.NetCore.Analyzers\Runtime\UseEnvironmentMembers.cs (2)
104SymbolEqualityComparer.Default.Equals(getCurrentProcess.TargetMethod, processGetCurrentProcessSymbol)) 118SymbolEqualityComparer.Default.Equals(getCurrentProcess.TargetMethod, processGetCurrentProcessSymbol))
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpers.cs (2)
296SymbolEqualityComparer.Default.Equals(getType, getTypeCall.TargetMethod)) 399if (SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod, stringIsNullOrEmpty) &&
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.cs (1)
53IMethodSymbol methodSymbol = operation.TargetMethod;
Microsoft.NetCore.Analyzers\Runtime\UseRegexMembers.cs (4)
91regexMatchSymbols.Contains(regexMatchInvocation.TargetMethod, SymbolEqualityComparer.Default) && 92HasMatchingOverload(regexMatchInvocation.TargetMethod, regexIsMatchSymbols)) 109regexMatchesSymbols.Contains(regexMatchesInvocation.TargetMethod, SymbolEqualityComparer.Default) && 110HasMatchingOverload(regexMatchesInvocation.TargetMethod, regexCountSymbols))
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.cs (1)
107return operation is IInvocationOperation invocation && symbols.IsAnySubstringMethod(invocation.TargetMethod);
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.Fixer.cs (3)
81return value is IInvocationOperation invocation && symbols.IsAnySubstringMethod(invocation.TargetMethod); 124if (value is IInvocationOperation invocation && symbols.IsAnySubstringMethod(invocation.TargetMethod)) 154RoslynDebug.Assert(symbols.IsAnySubstringMethod(substringInvocation.TargetMethod));
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.cs (5)
203if (!int32Equals.Equals(invocation?.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default)) 241invocation.TargetMethod.Equals(symbols.CompareStringString, SymbolEqualityComparer.Default); 271invocation.TargetMethod.Equals(symbols.CompareStringStringBool, SymbolEqualityComparer.Default) && 301invocation.TargetMethod.Equals(symbols.CompareStringStringStringComparison, SymbolEqualityComparer.Default); 329invocation.TargetMethod.Equals(symbols.CompareOrdinalStringString, SymbolEqualityComparer.Default);
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInIFormatterSerializableObjectGraphAnalyzer.cs (1)
92string methodName = invocationOperation.TargetMethod.MetadataName;
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInSerializableObjectGraphAnalyzer.cs (1)
154IMethodSymbol targetMethod = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotAddSchemaByURL.cs (1)
54var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotCallDangerousMethodsInDeserialization.cs (1)
152calledSymbol = invocationOperation.TargetMethod.OriginalDefinition;
Microsoft.NetCore.Analyzers\Security\DoNotInstallRootCert.cs (1)
144invocationOperation.TargetMethod.Name == "Add")
Microsoft.NetCore.Analyzers\Security\DoNotSetSwitch.cs (2)
97var methodSymbol = invocationOperation.TargetMethod; 165invocationOperation.TargetMethod.Name));
Microsoft.NetCore.Analyzers\Security\DoNotUseAccountSAS.cs (1)
54var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotUseCreateEncryptorWithNonDefaultIV.cs (1)
124var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotUseDSA.cs (1)
116var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureCryptographicAlgorithms.cs (1)
75method = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerJavascriptSerializerWithSimpleTypeResolver.cs (3)
178&& SecurityHelpers.JavaScriptSerializerDeserializationMethods.Contains(invocationOperation.TargetMethod.Name)) 179|| simpleTypeResolverSymbol.Equals(invocationOperation.TargetMethod.ReturnType) 180|| javaScriptTypeResolverSymbol.Equals(invocationOperation.TargetMethod.ReturnType))
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerJsonNetWithoutBinder.cs (2)
157if (jsonSerializerSymbol.Equals(invocationOperation.TargetMethod.ContainingType) 159invocationOperation.TargetMethod.Name))
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerMethodsBase.cs (2)
90&& cachedDeserializationMethodNames.Contains(invocationOperation.TargetMethod.MetadataName)) 99invocationOperation.TargetMethod.ToDisplayString(
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerWithoutBinderBase.cs (1)
143&& cachedDeserializationMethodNames.Contains(invocationOperation.TargetMethod.Name))
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureRandomness.cs (1)
52var typeSymbol = invocationOperation.TargetMethod.ContainingType;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureSettingsForJsonNet.cs (7)
166if ((jsonSerializerSymbol.Equals(invocationOperation.TargetMethod.ContainingType) 167&& SecurityHelpers.JsonSerializerInstantiateWithSettingsMethods.Contains(invocationOperation.TargetMethod.Name) 168&& invocationOperation.TargetMethod.Parameters.Any( 170|| (jsonConvertSymbol.Equals(invocationOperation.TargetMethod.ContainingType) 171&& SecurityHelpers.JsonSerializerInstantiateWithSettingsMethods.Contains(invocationOperation.TargetMethod.Name) 172&& invocationOperation.TargetMethod.Parameters.Any( 174|| jsonSerializerSettingsSymbol.Equals(invocationOperation.TargetMethod.ReturnType))
Microsoft.NetCore.Analyzers\Security\DoNotUseObsoleteKDFAlgorithm.cs (1)
61var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\DoNotUseWeakKDFInsufficientIterationCount.cs (1)
141invocationOperation.TargetMethod.Name == "GetBytes")
Microsoft.NetCore.Analyzers\Security\SourceTriggeredTaintedDataAnalyzerBase.cs (1)
171invocationOperation.TargetMethod,
Microsoft.NetCore.Analyzers\Security\UseAutoValidateAntiforgeryToken.cs (2)
142calledSymbol = invocationOperation.TargetMethod.OriginalDefinition; 178var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\UseContainerLevelAccessPolicy.cs (1)
107var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\UseRSAWithSufficientKeySize.cs (1)
105var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\UseSecureCookiesASPNetCore.cs (2)
126var methodSymbol = invocationOperation.TargetMethod; 130invocationOperation.TargetMethod.Name == "Append")
Microsoft.NetCore.Analyzers\Security\UseSharedAccessProtocolHttpsOnly.cs (1)
94var methodSymbol = invocationOperation.TargetMethod;
Microsoft.NetCore.Analyzers\Security\UseXmlReaderBase.cs (1)
65methodSymbol = ((IInvocationOperation)operation).TargetMethod;
Microsoft.NetCore.Analyzers\Tasks\DoNotConfigureAwaitWithSuppressThrowing.cs (1)
61if (SymbolEqualityComparer.Default.Equals(invocation.TargetMethod.OriginalDefinition, configureAwait) &&
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.cs (1)
61conversionOperation = MatchInvalidContinuationOptions(invocation.TargetMethod, invocation.Arguments);
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTasksWithoutPassingATaskScheduler.cs (4)
55if (invocation.TargetMethod == null) 60if (!IsMethodOfInterest(invocation.TargetMethod, taskType, taskFactoryType)) 66if (invocation.TargetMethod.Parameters.Any(p => p.Type.Equals(taskSchedulerType))) 71operationContext.ReportDiagnostic(invocation.CreateDiagnostic(Rule, invocation.TargetMethod.Name));
Microsoft.NetCore.Analyzers\Tasks\DoNotUseNonCancelableTaskDelayWithWhenAny.cs (2)
55var method = invocation.TargetMethod; 133var method = invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgument.cs (3)
63if (IsWhenOrWaitAllMethod(invocation.TargetMethod, taskType) && 66switch (invocation.TargetMethod.Name) 77throw new InvalidOperationException($"Unexpected method name: {invocation.TargetMethod.Name}");
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (2)
39if (operation.TargetMethod.Name == nameof(Task.WaitAll)) 59else if (!IsValueStored(operation) && operation.TargetMethod.Name == nameof(Task.WhenAll))
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (10)
100if (!valueTaskType.Equals(invocation.TargetMethod.ReturnType) && 101!valueTaskOfTType.Equals(invocation.TargetMethod.ReturnType.OriginalDefinition)) 108if (invocation.TargetMethod.Name == nameof(ValueTask.Preserve) && 109(valueTaskType.Equals(invocation.TargetMethod.ContainingType) || 110valueTaskOfTType.Equals(invocation.TargetMethod.ContainingType.OriginalDefinition))) 118switch (parentIo.TargetMethod.Name) 126case nameof(ValueTask.GetAwaiter) when parentIo.Parent is IInvocationOperation { TargetMethod.Name: nameof(ValueTaskAwaiter.GetResult) }: 474assert.TargetMethod?.Name == nameof(Debug.Assert) && 475assert.TargetMethod.ContainingType.Equals(debugType) && 526OperationKind.Invocation when op.Parent is IInvocationOperation { TargetMethod.Name: nameof(ValueTask.GetAwaiter) } => true,
Microsoft.NetCore.Analyzers\Usage\DoNotPassNonNullableValueToArgumentNullExceptionThrowIfNull.cs (1)
64if (invocation.TargetMethod.Equals(throwIfNullMethod, SymbolEqualityComparer.Default))
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.cs (1)
191public IMethodSymbol Method => Invocation.TargetMethod;
Microsoft.NetCore.Analyzers\Usage\ProvideCorrectArgumentToEnumHasFlag.cs (2)
48if (invocation.TargetMethod.ContainingType.SpecialType == SpecialType.System_Enum && 51invocation.TargetMethod.Name == "HasFlag" &&
Microsoft.NetCore.Analyzers\Usage\UseVolatileReadWrite.Fixer.cs (3)
48if (!SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod.ContainingType, threadType) 49|| !obsoleteMethods.Any(SymbolEqualityComparer.Default.Equals, invocationOperation.TargetMethod) 72if (invocationOperation.TargetMethod.Name.Equals(ThreadVolatileReadMethodName, StringComparison.Ordinal))
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (1)
246AnalyzeMethodOverloads(context, invocation.TargetMethod, invocation.Arguments, invocation.Syntax);
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (2)
81invocation.TargetMethod, 214OperationKind.Invocation => ((IInvocationOperation)rhs).TargetMethod,
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (5)
191invocation.TargetMethod.ReturnType.SpecialType == SpecialType.System_Boolean && 192invocation.TargetMethod.Name.StartsWith("TryGet", StringComparison.Ordinal) && 242invocation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate())) 340invocation.TargetMethod.ReturnType.SpecialType == SpecialType.System_Boolean) 388IsDisposableCreationSpecialCase(invocation.TargetMethod) && DisposeOwnershipTransferLikelyTypes.Contains(operation.Parameter.Type),
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
190if (!invocation.TargetMethod.ReturnsVoid) 192countOperand(invocation.TargetMethod);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (3)
308(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 310AddCoupledNamedTypesCore(builder, invocation.TargetMethod.ContainingType, context.WellKnownTypeProvider);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
37else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 46else if (invocation.TargetMethod.Parameters[0].IsParams) 48return invocation.TargetMethod.Parameters[0].Type; 632return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (1)
142!invocation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate())
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (16)
977(IsAnyDebugAssertMethod(invocation.TargetMethod) || IsContractCheckMethod(invocation.TargetMethod)); 1699if (invocation.TargetMethod.IsArgumentNullCheckMethod()) 1716invocation.TargetMethod.IsStaticObjectEqualsOrReferenceEquals()) 1722isReferenceEquality = invocation.TargetMethod.Name == "ReferenceEquals" || 1733(invocation.TargetMethod.IsObjectEquals() || 1734invocation.TargetMethod.IsObjectEqualsOverride() || 1735IsOverrideOrImplementationOfEquatableEquals(invocation.TargetMethod))) 1739isReferenceEquality = invocation.TargetMethod.IsObjectEquals(); 3169if (operation.TargetMethod.IsLambdaOrLocalFunctionOrDelegate()) 3192if (operation.Instance != null && operation.TargetMethod.IsTaskConfigureAwaitMethod(GenericTaskNamedType)) 3197else if (operation.TargetMethod.IsTaskFromResultMethod(TaskNamedType)) 3209operation.TargetMethod.IsAsyncDisposableConfigureAwaitMethod(IAsyncDisposableNamedType, TaskAsyncEnumerableExtensions)) 3218PostVisitInvocation(operation.TargetMethod, operation.Arguments); 3275return VisitInvocation_NonLambdaOrDelegateOrLocalFunction(operation.TargetMethod, operation.Instance, operation.Arguments, 3333var targetMethod = invocation.TargetMethod;
Microsoft.CodeAnalysis.ResxSourceGenerator (14)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
188if (!invocation.TargetMethod.ReturnsVoid) 190countOperand(invocation.TargetMethod);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (3)
306(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 308AddCoupledNamedTypesCore(builder, invocation.TargetMethod.ContainingType, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
36else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 45else if (invocation.TargetMethod.Parameters[0].IsParams) 47return invocation.TargetMethod.Parameters[0].Type; 445return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Runtime\BasicPreferDictionaryContainsMethods.vb (1)
14Dim method = containsInvocation.TargetMethod
Microsoft.CodeAnalysis.Workspaces (4)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
Microsoft.Extensions.Configuration.Binder.SourceGeneration (10)
ConfigurationBindingGenerator.Parser.cs (1)
85IMethodSymbol targetMethod = invocation.Operation.TargetMethod;
Parser\BinderInvocation.cs (1)
54if (operation.TargetMethod is not IMethodSymbol
Parser\ConfigurationBinder.cs (4)
19switch (invocation.Operation.TargetMethod.Name) 42ImmutableArray<IParameterSymbol> @params = operation.TargetMethod.Parameters; 136IMethodSymbol targetMethod = operation.TargetMethod; 191IMethodSymbol targetMethod = operation.TargetMethod;
Parser\OptionsBuilderConfigurationExtensions.cs (3)
17IMethodSymbol targetMethod = invocation.Operation.TargetMethod; 45IMethodSymbol targetMethod = operation.TargetMethod; 72IMethodSymbol targetMethod = invocation.Operation.TargetMethod;
Parser\OptionsConfigurationServiceCollectionExtensions.cs (1)
18IMethodSymbol targetMethod = operation.TargetMethod;
Microsoft.Extensions.Validation.ValidationsGenerator (2)
src\768f3af0174e68df\InvocationOperationExtensions.cs (2)
30targetOperation.TargetMethod.ContainingNamespace is { Name: "Builder", ContainingNamespace: { Name: "AspNetCore", ContainingNamespace: { Name: "Microsoft", ContainingNamespace.IsGlobalNamespace: true } } } && 31targetOperation.TargetMethod.ContainingAssembly.Name is "Microsoft.AspNetCore.Routing" &&
Microsoft.Interop.ComInterfaceGenerator (5)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (4)
108if (methodsOfInterest.TryGetValue(operation.TargetMethod.OriginalDefinition, out ImmutableArray<Func<IInvocationOperation, (ITypeSymbol, Location)?>> discoverers)) 123operation.TargetMethod.ToMinimalDisplayString(operation.SemanticModel, operation.Syntax.SpanStart), 186else if (operand is IInvocationOperation invocation && invocation.TargetMethod.Equals(getObjectForIUnknown, SymbolEqualityComparer.Default)) 208var type = invocation.TargetMethod.TypeArguments[ordinal];
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
14if (operation.TargetMethod.Parameters.Length <= ordinal)
Microsoft.Interop.LibraryImportGenerator (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
14if (operation.TargetMethod.Parameters.Length <= ordinal)
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
14if (operation.TargetMethod.Parameters.Length <= ordinal)
Roslyn.Diagnostics.Analyzers (25)
AbstractDoNotCopyValue.cs (3)
862&& Cache.IsNonCopyableType(operation.TargetMethod.ReceiverType) 863&& !operation.TargetMethod.IsReadOnly 1405return ((IInvocationOperation)operation).TargetMethod switch
DoNotCallGetTestAccessor.cs (2)
64if (invocation.TargetMethod.Name.Equals(TestAccessorHelper.GetTestAccessorMethodName, StringComparison.Ordinal)) 69else if (string.Equals(invocation.TargetMethod.ContainingType?.Name, TestAccessorHelper.TestAccessorTypeName, StringComparison.Ordinal))
ImmutableArrayBoxingAnalyzer.cs (2)
70var targetMethod = invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod;
PooledArrayBuilderAsRefAnalyzer.cs (2)
60var targetMethod = invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod;
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (2)
274else if (invocation.TargetMethod.IsLocalFunction()) 276var localFunctionGraph = cfg.GetLocalFunctionControlFlowGraphInScope(invocation.TargetMethod.OriginalDefinition, cancellationToken);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
188if (!invocation.TargetMethod.ReturnsVoid) 190countOperand(invocation.TargetMethod);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (3)
306(invocation.TargetMethod.IsStatic || invocation.TargetMethod.IsExtensionMethod)) 308AddCoupledNamedTypesCore(builder, invocation.TargetMethod.ContainingType, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
36else if (invocation.TargetMethod.IsExtensionMethod && !invocation.TargetMethod.Parameters.IsEmpty) 45else if (invocation.TargetMethod.Parameters[0].IsParams) 47return invocation.TargetMethod.Parameters[0].Type; 445return invocationOperation.TargetMethod.IsExtensionMethod && (invocationOperation.Language != LanguageNames.VisualBasic || invocationOperation.Instance == null);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
323switch (operation.TargetMethod.MethodKind) 339AnalyzeLocalFunctionInvocation(operation.TargetMethod);
TemporaryArrayAsRefAnalyzer.cs (2)
58var targetMethod = invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod;
Roslyn.Diagnostics.CSharp.Analyzers (2)
CSharpDoNotUseDebugAssertForInterpolatedStrings.cs (1)
67if (invocation.TargetMethod.Equals(assertMethod) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref })
System.Private.CoreLib.Generators (1)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (1)
193IInvocationOperation iOperation => iOperation.TargetMethod,
System.Text.RegularExpressions.Generator (4)
UpgradeToGeneratedRegexAnalyzer.cs (3)
41inv.TargetMethod.IsStatic && 42SymbolEqualityComparer.Default.Equals(inv.TargetMethod.ContainingType, regexSymbol) && 43s_fixableMethodNames.Contains(inv.TargetMethod.Name) &&
UpgradeToGeneratedRegexCodeFixer.cs (1)
158replacement = generator.InvocationExpression(generator.MemberAccessExpression(replacement, invocationOperation.TargetMethod.Name),