1 implementation of IInvocationOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
5192internal sealed partial class InvocationOperation : Operation, IInvocationOperation
950 references to IInvocationOperation
Aspire.Hosting.Analyzers (5)
AppHostAnalyzer.cs (5)
57var invocation = (IInvocationOperation)context.Operation; 123private static bool TryGetStringToken(IInvocationOperation invocation, IParameterSymbol modelNameParameter, out SyntaxToken token) 146private record struct ModelNameOperation(IInvocationOperation Operation, ModelType[] ModelTypes, SyntaxToken ModelNameToken) 148public static ModelNameOperation Create(IInvocationOperation operation, ModelType[] modelTypes, SyntaxToken modelNameToken)
Aspire.Hosting.Integration.Analyzers (2)
AspireExportAnalyzer.cs (2)
337var invocation = (IInvocationOperation)context.Operation;
ConfigurationSchemaGenerator (15)
RuntimeSource\Configuration.Binder\Parser\BinderInvocation.cs (4)
14private BinderInvocation(IInvocationOperation operation, Location location) 20public IInvocationOperation Operation { get; } 28return context.SemanticModel.GetOperation(invocationSyntax, cancellationToken) is IInvocationOperation operation && 52public static bool IsBindingOperation(IInvocationOperation operation)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (4)
41IInvocationOperation operation = invocation.Operation!; 135IInvocationOperation operation = invocation.Operation!; 190IInvocationOperation operation = invocation.Operation!; 257IInvocationOperation invocationOperation = typeParseInfo.BinderInvocation!.Operation;
RuntimeSource\Configuration.Binder\Parser\OptionsBuilderConfigurationExtensions.cs (1)
44IInvocationOperation operation = invocation.Operation!;
RuntimeSource\Configuration.Binder\Parser\OptionsConfigurationServiceCollectionExtensions.cs (1)
17IInvocationOperation operation = invocation.Operation!;
RuntimeSource\Configuration.Binder\Specs\InterceptorInfo.cs (5)
63public void RegisterInterceptor_ConfigBinder_Bind(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 89public void RegisterInterceptor(MethodsToGen overload, IInvocationOperation operation) 136public void RegisterInterceptor(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 158public void RegisterInvocation(IInvocationOperation invocation) => 169public InvocationLocationInfo(MethodsToGen interceptor, IInvocationOperation invocation)
GenerateDocumentationAndConfigFiles (5)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 441public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 448public static IOperation? GetInstance(this IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
ILLink.RoslynAnalyzer (6)
COMAnalyzer.cs (2)
42var invocationOperation = (IInvocationOperation)operationContext.Operation;
DataFlow\LocalDataFlowVisitor.cs (4)
407case IInvocationOperation: 659public override TValue VisitInvocation(IInvocationOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state) 690case IInvocationOperation: 895case IInvocationOperation callOperation:
Microsoft.Analyzers.Extra (39)
AsyncCallInsideUsingBlockAnalyzer.cs (7)
77.OfType<IInvocationOperation>() 81foreach (var invocation in invocations) 94return TaskWaitInvoked((operation as IInvocationOperation)!); 128bool IsReturnTypeTask(IInvocationOperation operation) 164.OfType<IInvocationOperation>() 197private static bool TaskWaitInvoked(IInvocationOperation invocation) 207private static bool SymbolInArguments(IInvocationOperation invocation, ILocalSymbol symbol)
CallAnalysis\Arrays.cs (1)
101static void HandleMethod(OperationAnalysisContext context, IInvocationOperation op) => HandleSuspectType(context, (INamedTypeSymbol)op.TargetMethod.ReturnType, op.Syntax.GetLocation());
CallAnalysis\CallAnalyzer.Handlers.cs (2)
23var op = (IInvocationOperation)context.Operation;
CallAnalysis\CallAnalyzer.Registrar.cs (5)
33public void RegisterMethod(IMethodSymbol method, Action<OperationAnalysisContext, IInvocationOperation> action) 50public void RegisterMethods(string typeName, string methodName, Action<OperationAnalysisContext, IInvocationOperation> action) 66public void RegisterMethods(Dictionary<string, string[]> methods, Action<OperationAnalysisContext, IInvocationOperation> action) 165public void RegisterInterfaceMethod(IMethodSymbol method, Action<OperationAnalysisContext, IInvocationOperation> action) 200public void RegisterInterfaceMethods(Dictionary<string, string[]> methods, Action<OperationAnalysisContext, IInvocationOperation> action)
CallAnalysis\CallAnalyzer.State.cs (2)
16public readonly Dictionary<IMethodSymbol, List<Action<OperationAnalysisContext, IInvocationOperation>>> Methods = new(SymbolEqualityComparer.Default); 32public List<Action<OperationAnalysisContext, IInvocationOperation>> Actions { get; } = [];
CallAnalysis\Fixers\LegacyLoggingFixer.cs (10)
96var invocationOp = GetOperation(sm, invocationExpression, cancellationToken) as IInvocationOperation; 141var invocationOp = (invocationSM.GetOperation(invocationExpression, cancellationToken) as IInvocationOperation)!; 363IInvocationOperation invocationOp, 427private static List<ITypeSymbol> MakeArgumentList(FixDetails details, IInvocationOperation invocationOp) 475var invocation = sm.GetOperation(invocationExpression, cancellationToken) as IInvocationOperation; 578var invocationOp = (invocationSM.GetOperation(invocationExpression, cancellationToken) as IInvocationOperation)!;
CallAnalysis\Fixers\LegacyLoggingFixer.FixDetails.cs (1)
36IInvocationOperation invocationOp,
CallAnalysis\LegacyLogging.cs (1)
36static void Handle(OperationAnalysisContext context, IInvocationOperation op)
CallAnalysis\Split.cs (1)
26static void Handle(OperationAnalysisContext context, IInvocationOperation op)
CallAnalysis\StartsEndsWith.cs (1)
44static void Handle(OperationAnalysisContext context, IInvocationOperation op)
CallAnalysis\StaticTime.cs (1)
50static void HandleMethod(OperationAnalysisContext context, IInvocationOperation op)
CallAnalysis\ValueTuple.cs (1)
40static void HandleMethod(OperationAnalysisContext context, IInvocationOperation op)
ConditionalAccessAnalyzer.cs (2)
66var invocation = (IInvocationOperation)op.Operation;
UsingToStringInLoggersAnalyzer.cs (4)
40var invocation = (IInvocationOperation)context.Operation; 62private static IEnumerable<Diagnostic> AnalyzeLogger(IInvocationOperation invocation) 66if (arg.Value is IInvocationOperation argOperation
Microsoft.Analyzers.Local (10)
CallAnalysis\CallAnalyzer.Handlers.cs (2)
23var op = (IInvocationOperation)context.Operation;
CallAnalysis\CallAnalyzer.Registrar.cs (5)
33public void RegisterMethod(IMethodSymbol method, Action<OperationAnalysisContext, IInvocationOperation> action) 50public void RegisterMethods(string typeName, string methodName, Action<OperationAnalysisContext, IInvocationOperation> action) 66public void RegisterMethods(Dictionary<string, string[]> methods, Action<OperationAnalysisContext, IInvocationOperation> action) 165public void RegisterInterfaceMethod(IMethodSymbol method, Action<OperationAnalysisContext, IInvocationOperation> action) 200public void RegisterInterfaceMethods(Dictionary<string, string[]> methods, Action<OperationAnalysisContext, IInvocationOperation> action)
CallAnalysis\CallAnalyzer.State.cs (2)
16public readonly Dictionary<IMethodSymbol, List<Action<OperationAnalysisContext, IInvocationOperation>>> Methods = new(SymbolEqualityComparer.Default); 32public List<Action<OperationAnalysisContext, IInvocationOperation>> Actions { get; } = [];
CallAnalysis\ToInvariantString.cs (1)
39static void Handle(OperationAnalysisContext context, IInvocationOperation op)
Microsoft.AspNetCore.Analyzers (7)
CompilationFeatureDetector.cs (1)
47.OfType<IInvocationOperation>()
MiddlewareAnalyzer.cs (1)
33if (context.Operation is IInvocationOperation invocation &&
MiddlewareItem.cs (2)
11public MiddlewareItem(IInvocationOperation operation) 16public IInvocationOperation Operation { get; }
ServicesAnalyzer.cs (1)
28if (context.Operation is IInvocationOperation invocation &&
ServicesItem.cs (2)
11public ServicesItem(IInvocationOperation operation) 16public IInvocationOperation Operation { get; }
Microsoft.AspNetCore.App.Analyzers (37)
Authorization\AddAuthorizationBuilderAnalyzer.cs (7)
55var invocation = (IInvocationOperation)context.Operation; 68private static bool IsCompatibleWithAuthorizationBuilder(IInvocationOperation invocation, AuthorizationOptionsTypes authorizationOptionsTypes) 88private static bool TryGetConfigureArgumentOperation(IInvocationOperation invocation, [NotNullWhen(true)] out IArgumentOperation? configureArgumentOperation) 153if (expressionStatementOperation is IInvocationOperation { TargetMethod.ContainingType: { } invokedMethodContainingType } 213if (operation is IInvocationOperation invocationOperation 223private static bool IsLastCallInChain(IInvocationOperation invocation)
Http\HeaderDictionaryAddAnalyzer.cs (2)
32var invocation = (IInvocationOperation)context.Operation;
Kestrel\ListenOnIPv6AnyAnalyzer.cs (4)
42if (!IsKestrelServerOptionsType(nodeOperation, out var kestrelOptionsListenInvocation)) 108private static bool IsKestrelServerOptionsType(IOperation? operation, out IInvocationOperation? kestrelOptionsListenInvocation) 110var result = operation is IInvocationOperation // searching type `Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerOptions` 140kestrelOptionsListenInvocation = result ? (IInvocationOperation)operation! : null;
RenderTreeBuilder\RenderTreeBuilderAnalyzer.cs (2)
32var invocation = (IInvocationOperation)context.Operation;
RouteHandlers\DetectAmbiguousRoutes.cs (5)
62if (current.Parent is IArgumentOperation { Parent: IInvocationOperation invocationOperation } && 78IInvocationOperation or 93private static bool IsAllowedEndpointBuilderMethod(IInvocationOperation invocationOperation, WellKnownTypes wellKnownTypes) 194if (builder is IInvocationOperation invocation && other is IInvocationOperation otherInvocation)
RouteHandlers\DetectMisplacedLambdaAttribute.cs (2)
77if (returnStatement.ReturnedValue is IInvocationOperation invocationReturn) 88if (expression.Operation is IInvocationOperation invocationExpression)
RouteHandlers\DisallowMvcBindArgumentsOnParameters.cs (1)
19IInvocationOperation invocation,
RouteHandlers\DisallowReturningActionResultFromMapMethods.cs (2)
19IInvocationOperation invocationOperation, 29IInvocationOperation invocationOperation,
RouteHandlers\RouteHandlerAnalyzer.cs (6)
70var invocation = (IInvocationOperation)context.Operation; 173private static bool TryGetStringToken(IInvocationOperation invocation, out SyntaxToken token) 197IInvocationOperation invocation, 221private record struct MapOperation(IOperation? Builder, IInvocationOperation Operation, RouteUsageModel RouteUsageModel) 223public static MapOperation Create(IInvocationOperation operation, RouteUsageModel routeUsageModel)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
178this IInvocationOperation invocation,
WebApplicationBuilder\WebApplicationBuilderAnalyzer.cs (5)
74var invocation = (IInvocationOperation)context.Operation; 255static Diagnostic CreateDiagnostic(DiagnosticDescriptor descriptor, IInvocationOperation operation) 313IInvocationOperation invocation, 362private static bool HasInvocationInBody(string disallowedMethodName, IInvocationOperation invocation)
Microsoft.AspNetCore.Components.Analyzers (17)
AuthenticationStateProviderAnalyzer.cs (2)
53var invocation = (IInvocationOperation)operationContext.Operation;
ForLoopIteratorInClosureAnalyzer.cs (4)
104else if (operation is IInvocationOperation invocation) 155private static void AnalyzeInvocation(IInvocationOperation invocation, Dictionary<string, INamedTypeSymbol?> availableTypes, ForLoopAnalyzerState analyzerState) 175if (valueArgument is IInvocationOperation valueInvocation) 249|| currentOperation is IInvocationOperation)
InternalUsageAnalyzer.cs (1)
64IInvocationOperation invocation => invocation.TargetMethod,
InvokeAsyncOfObjectAnalyzer.cs (3)
53var invocation = (IInvocationOperation)operationContext.Operation; 87private static ITypeSymbol? GetReceiverType(IInvocationOperation invocation)
JSInteropAnalyzer.cs (4)
58var invocation = (IInvocationOperation)context.Operation; 90IInvocationOperation invocation, 140private static ITypeSymbol? GetReceiverType(IInvocationOperation invocation)
StateHasChangedAnalyzer.cs (2)
63var invocation = (IInvocationOperation)operationContext.Operation;
VirtualizeItemComparerAnalyzer.cs (1)
50if (operation is not IInvocationOperation invocation)
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
InternalUsageAnalyzer.cs (1)
64IInvocationOperation invocation => invocation.TargetMethod,
Microsoft.AspNetCore.Http.RequestDelegateGenerator (10)
RequestDelegateGenerator.Parser.cs (1)
22if (operation.IsValidOperation(wellKnownTypes, out var invocationOperation))
RequestDelegateGeneratorSuppressor.cs (1)
73if (operation.IsValidOperation(wellKnownTypes, out var invocationOperation))
StaticRouteHandlerModel\Endpoint.cs (4)
19public Endpoint(IInvocationOperation operation, WellKnownTypes wellKnownTypes, SemanticModel semanticModel) 108public IInvocationOperation Operation { get; } 150private static (string, int, int) GetLocation(IInvocationOperation operation) 171private static string GetHttpMethod(IInvocationOperation operation)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (4)
26public static bool IsValidOperation(this IOperation? operation, WellKnownTypes wellKnownTypes, [NotNullWhen(true)] out IInvocationOperation? invocationOperation) 29if (operation is IInvocationOperation targetOperation && 42public static bool TryGetRouteHandlerMethod(this IInvocationOperation invocation, SemanticModel semanticModel, bool needsAccurateSignature, [NotNullWhen(true)] out IMethodSymbol? method) 53public static bool TryGetRouteHandlerArgument(this IInvocationOperation invocation, [NotNullWhen(true)] out IArgumentOperation? argumentOperation)
Microsoft.AspNetCore.Mvc.Analyzers (4)
AvoidHtmlPartialAnalyzer.cs (1)
23var method = ((IInvocationOperation)context.Operation).TargetMethod;
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
178this IInvocationOperation invocation,
TagHelpersInCodeBlocksAnalyzer.cs (2)
53var invocationOperation = (IInvocationOperation)awaitOperation.Operation;
Microsoft.CodeAnalysis (14)
Generated\OperationKind.Generated.cs (2)
62/// <summary>Indicates an <see cref="IInvocationOperation"/>.</summary> 128[Obsolete("ICollectionElementInitializerOperation has been replaced with " + nameof(IInvocationOperation) + " and " + nameof(IDynamicInvocationOperation), error: true)]
Generated\Operations.Generated.cs (11)
748/// 3 <see cref="IInvocationOperation" /> nodes, each of which will be a call to the corresponding <c>Add</c> method 756/// Similar to the C# example, <c>New C() From {1, 2, 3}</c> will have 3 <see cref="IInvocationOperation" /> 1763/// <see cref="IInvocationOperation" /> and <see cref="IDynamicInvocationOperation" />, as appropriate. 1766/// None. This API has been obsoleted in favor of <see cref="IInvocationOperation" /> and <see cref="IDynamicInvocationOperation" />. 1777[Obsolete("ICollectionElementInitializerOperation has been replaced with " + nameof(IInvocationOperation) + " and " + nameof(IDynamicInvocationOperation), error: true)] 3709/// This can be an <see cref="IInvocationOperation" /> or <see cref="IDynamicInvocationOperation" /> for valid code, and <see cref="IInvalidOperation" /> for invalid code. 10973public override IOperation VisitInvocation(IInvocationOperation operation, object? argument) 11514public virtual void VisitInvocation(IInvocationOperation operation) => DefaultVisit(operation); 11543[Obsolete("ICollectionElementInitializerOperation has been replaced with " + nameof(IInvocationOperation) + " and " + nameof(IDynamicInvocationOperation), error: true)] 11655public virtual TResult? VisitInvocation(IInvocationOperation operation, TArgument argument) => DefaultVisit(operation, argument); 11684[Obsolete("ICollectionElementInitializerOperation has been replaced with " + nameof(IInvocationOperation) + " and " + nameof(IDynamicInvocationOperation), error: true)]
Operations\ControlFlowGraphBuilder.cs (1)
5938public override IOperation VisitInvocation(IInvocationOperation operation, int? captureIdForResult)
Microsoft.CodeAnalysis.Analyzers (39)
FixAnalyzers\FixerWithFixAllAnalyzer.cs (6)
155private readonly Dictionary<INamedTypeSymbol, HashSet<IInvocationOperation>> _codeActionCreateInvocations = []; 182var invocation = (IInvocationOperation)context.Operation; 255static bool IsViolatingCodeActionCreateInvocation(IInvocationOperation invocation) 278&& _codeActionCreateInvocations.TryGetValue(fixer, out HashSet<IInvocationOperation> invocations)) 280foreach (IInvocationOperation invocation in invocations)
ImmutableObjectMethodAnalyzer.cs (2)
81var invocation = (IInvocationOperation)context.Operation;
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (3)
174var invocationOperation = (IInvocationOperation)context.Operation; 226static bool IsNotInstanceInvocationOrNotOnSymbol(IInvocationOperation invocationOperation, INamedTypeSymbol symbolType)
MetaAnalyzers\ConfigureGeneratedCodeAnalysisAnalyzer.cs (2)
110var invocation = (IInvocationOperation)context.Operation;
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (1)
240else if (operation is IInvocationOperation invocation &&
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (5)
340var invocation = (IInvocationOperation)context.Operation; 358if (invocation.GetAncestor<IInvocationOperation>(OperationKind.Invocation, 534IInvocationOperation invocation when IsCreateHelper(invocation.TargetMethod) 597if (operation.WalkDownConversion() is IInvocationOperation invocation &&
MetaAnalyzers\DoNotUseCompilationGetSemanticModelAnalyzer.cs (2)
59var invocation = (IInvocationOperation)operationContext.Operation;
MetaAnalyzers\EnableConcurrentExecutionAnalyzer.cs (2)
110var invocation = (IInvocationOperation)context.Operation;
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (6)
29protected abstract SyntaxNode GetExpression(IInvocationOperation invocationOperation); 75IInvocationOperation invocationOperation => await EnsureEqualsCorrectAsync(document, semanticModel, invocationOperation, cancellationToken).ConfigureAwait(false), 101IInvocationOperation invocation => 110static bool IsExtensionMethodUsedAsSuch(IInvocationOperation invocation) 187private async Task<Document> EnsureEqualsCorrectAsync(Document document, SemanticModel semanticModel, IInvocationOperation invocationOperation, CancellationToken cancellationToken) 217private IEnumerable<SyntaxNode> GetNewInvocationArguments(IInvocationOperation invocationOperation,
MetaAnalyzers\PreferIsKindAnalyzer.cs (1)
90if (possibleInvocation is IInvocationOperation { TargetMethod: { Name: "Kind", ContainingType: var containingType } }
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
96case IInvocationOperation invocation:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
187var invocation = (IInvocationOperation)operation;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
305else if (operation is IInvocationOperation invocation &&
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 441public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 448public static IOperation? GetInstance(this IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
Microsoft.CodeAnalysis.AnalyzerUtilities (23)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
464if (operation.Parent is IInvocationOperation invocationOperation)
src\683181b2796de991\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
168IInvocationOperation invocation => invocation.Instance == operation,
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (4)
193if (operation.Parent is IInvocationOperation invocation && 244(operation is not IInvocationOperation invocation || 342operation.Parent is IInvocationOperation invocation && 390IInvocationOperation invocation => DisposeOwnershipTransferAtMethodCall ||
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
187var invocation = (IInvocationOperation)operation;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
305else if (operation is IInvocationOperation invocation &&
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 441public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 448public static IOperation? GetInstance(this IInvocationOperation invocationOperation)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (2)
142if (creation is not IInvocationOperation invocation || 159IInvocationOperation invocation => invocation.Arguments,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (7)
885case IInvocationOperation invocationOp: 978=> operation.Parent is IInvocationOperation invocation && 1695case IInvocationOperation invocation: 3169public sealed override TAbstractAnalysisValue VisitInvocation(IInvocationOperation operation, object? argument) 3275private TAbstractAnalysisValue VisitInvocation_NonLambdaOrDelegateOrLocalFunction(IInvocationOperation operation, object? argument) 3332if (operation is IInvocationOperation invocation) 3436IInvocationOperation operation,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
Microsoft.CodeAnalysis.CodeStyle (22)
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
336if (operation.Parent is IInvocationOperation)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
61case IInvocationOperation invocation:
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (3)
66case IInvocationOperation invocationOperation: 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 (1)
69conversion.Parent is IArgumentOperation { Parent: IInvocationOperation invocation } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (5)
131if (expression is IInvocationOperation { TargetMethod: { } targetMethod } invocation && 204private static bool UsesInvariantCultureReferenceInsideFormattableStringInvariant(IInvocationOperation invocation, int formatProviderArgumentIndex) 237Parent: IInvocationOperation 271if (expression is IInvocationOperation invocation && 310private static bool HasNonImplicitInstance(IInvocationOperation invocation, [NotNullWhen(true)] out IOperation? instance)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (8)
53protected abstract IInvocationOperation? TryGetNextInvocationInChain(IInvocationOperation invocation); 133if (context.Operation is not IInvocationOperation invocation) 141if (TryGetNextInvocationInChain(invocation) is not IInvocationOperation nextInvocation || 197bool IsWhereLinqMethod(IInvocationOperation invocation) 200bool IsSelectLinqMethod(IInvocationOperation invocation) 203bool IsInvocationNonEnumerableReturningLinqMethod(IInvocationOperation invocation) 206ITypeSymbol? TryGetSymbolOfMemberAccess(IInvocationOperation invocation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
Microsoft.CodeAnalysis.CSharp.Analyzers (3)
MetaAnalyzers\CSharpSemanticModelGetDeclaredSymbolAlwaysReturnsNullAnalyzer.cs (2)
80var invocation = (IInvocationOperation)context.Operation;
MetaAnalyzers\Fixers\CSharpCompareSymbolsCorrectlyFix.cs (1)
22protected override SyntaxNode GetExpression(IInvocationOperation invocationOperation)
Microsoft.CodeAnalysis.CSharp.CodeStyle (21)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
353if (operation is IInvocationOperation invocationOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
26protected override IInvocationOperation? TryGetNextInvocationInChain(IInvocationOperation invocation) 29=> invocation.Parent is IArgumentOperation { Parent: IInvocationOperation nextInvocation } ? nextInvocation : null;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
101var invocationOperation = (IInvocationOperation)context.Operation;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (9)
81var result = AnalyzeInvocation((IInvocationOperation)operation, infoCache); 91public static Result? AnalyzeInvocation(IInvocationOperation invocation, InfoCache infoCache) 114IInvocationOperation invocation, 137IInvocationOperation invocation, 159IInvocationOperation invocation, 222IInvocationOperation invocation, 271IInvocationOperation invocation, 302private static bool IsValidIndexing(IInvocationOperation invocation, InfoCache infoCache, IMethodSymbol targetMethod) 335private static bool IsWriteableIndexer(IInvocationOperation invocation, IPropertySymbol indexer)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.Result.cs (2)
27IInvocationOperation invocationOperation, 35public readonly IInvocationOperation InvocationOperation = invocationOperation;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
92var isSafe = pattern.Target.UnwrapImplicitConversion() is not Operations.IInvocationOperation;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref }) 1618semanticModel.GetOperation(invocationExpression, cancellationToken) is IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
220if (semanticModel.GetOperation(invocationExpression, cancellationToken) is not IInvocationOperation invocationOp)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (4)
42ReturnedValue: IInvocationOperation 299IInvocationOperation { Arguments: ImmutableArray<IArgumentOperation> args }) 628if (operation is not IInvocationOperation 765(true, IInvocationOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (1)
68if (semanticModel.GetOperation(currentInvocation, cancellationToken) is IInvocationOperation invocation &&
Microsoft.CodeAnalysis.CSharp.Features (24)
ImplementInterface\CSharpImplementExplicitlyCodeRefactoringProvider.cs (1)
108IInvocationOperation invocation => invocation.Instance,
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
353if (operation is IInvocationOperation invocationOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
26protected override IInvocationOperation? TryGetNextInvocationInChain(IInvocationOperation invocation) 29=> invocation.Parent is IArgumentOperation { Parent: IInvocationOperation nextInvocation } ? nextInvocation : null;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
101var invocationOperation = (IInvocationOperation)context.Operation;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (9)
81var result = AnalyzeInvocation((IInvocationOperation)operation, infoCache); 91public static Result? AnalyzeInvocation(IInvocationOperation invocation, InfoCache infoCache) 114IInvocationOperation invocation, 137IInvocationOperation invocation, 159IInvocationOperation invocation, 222IInvocationOperation invocation, 271IInvocationOperation invocation, 302private static bool IsValidIndexing(IInvocationOperation invocation, InfoCache infoCache, IMethodSymbol targetMethod) 335private static bool IsWriteableIndexer(IInvocationOperation invocation, IPropertySymbol indexer)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.Result.cs (2)
27IInvocationOperation invocationOperation, 35public readonly IInvocationOperation InvocationOperation = invocationOperation;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
92var isSafe = pattern.Target.UnwrapImplicitConversion() is not Operations.IInvocationOperation;
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (4)
42ReturnedValue: IInvocationOperation 299IInvocationOperation { Arguments: ImmutableArray<IArgumentOperation> args }) 628if (operation is not IInvocationOperation 765(true, IInvocationOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (1)
68if (semanticModel.GetOperation(currentInvocation, cancellationToken) is IInvocationOperation invocation &&
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (12)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpUseCrossPlatformIntrinsicsAnalyzer.cs (1)
18protected override bool IsSupported(IInvocationOperation invocation, RuleKind ruleKind)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (2)
90var operation = (IInvocationOperation)editor.SemanticModel.GetOperation(node, ct)!;
Microsoft.NetCore.Analyzers\Performance\CSharpRecommendCaseInsensitiveStringComparisonFixer.cs (1)
22string caseChangingApproachValue, IInvocationOperation mainInvocationOperation, INamedTypeSymbol stringComparisonType,
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.cs (1)
108if (semanticModel.GetOperation(invocation) is IInvocationOperation invocationOperation &&
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (1)
75if (operation is IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Fixer.cs (2)
27[NotNullWhen(true)] out IInvocationOperation? invocation) 36invocation = operation as IInvocationOperation;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferDictionaryContainsMethods.cs (1)
15private protected override bool TryGetPropertyReferenceOperation(IInvocationOperation containsInvocation, [NotNullWhen(true)] out IPropertySymbol? propertySymbol)
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferStreamAsyncMemoryOverloads.Fixer.cs (2)
18protected override SyntaxNode? GetArgumentByPositionOrName(IInvocationOperation invocation, int index, string name, out bool isNamed) 86protected override SyntaxNode GetNodeWithNullability(IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.Fixer.cs (1)
26protected override async Task<Document> ReplaceWithGenericCallAsync(Document document, IInvocationOperation invocation, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.CSharp.Workspaces (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref }) 1618semanticModel.GetOperation(invocationExpression, cancellationToken) is IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
220if (semanticModel.GetOperation(invocationExpression, cancellationToken) is not IInvocationOperation invocationOp)
Microsoft.CodeAnalysis.Features (30)
CallHierarchy\AbstractCallHierarchyService.cs (1)
377IInvocationOperation invocation => invocation.TargetMethod,
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (3)
470if (condition is not IUnaryOperation { OperatorKind: UnaryOperatorKind.Not, Operand: IInvocationOperation invocation }) 495Operation: IInvocationOperation 527if (condition is IInvocationOperation { Arguments: [{ Value: var argumentValue }] } invocation &&
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (1)
192if (semanticModel.GetOperation(calleeInvocationNode, cancellationToken) is not IInvocationOperation invocationOperation)
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
159IInvocationOperation invocationOperation,
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
336if (operation.Parent is IInvocationOperation)
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
61case IInvocationOperation invocation:
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (3)
66case IInvocationOperation invocationOperation: 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 (1)
69conversion.Parent is IArgumentOperation { Parent: IInvocationOperation invocation } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (5)
131if (expression is IInvocationOperation { TargetMethod: { } targetMethod } invocation && 204private static bool UsesInvariantCultureReferenceInsideFormattableStringInvariant(IInvocationOperation invocation, int formatProviderArgumentIndex) 237Parent: IInvocationOperation 271if (expression is IInvocationOperation invocation && 310private static bool HasNonImplicitInstance(IInvocationOperation invocation, [NotNullWhen(true)] out IOperation? instance)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (8)
53protected abstract IInvocationOperation? TryGetNextInvocationInChain(IInvocationOperation invocation); 133if (context.Operation is not IInvocationOperation invocation) 141if (TryGetNextInvocationInChain(invocation) is not IInvocationOperation nextInvocation || 197bool IsWhereLinqMethod(IInvocationOperation invocation) 200bool IsSelectLinqMethod(IInvocationOperation invocation) 203bool IsInvocationNonEnumerableReturningLinqMethod(IInvocationOperation invocation) 206ITypeSymbol? TryGetSymbolOfMemberAccess(IInvocationOperation invocation)
ValueTracking\ValueTracker.FindReferencesProgress.cs (1)
185if (operation is not IInvocationOperation invocationOperation)
ValueTracking\ValueTracker.OperationCollector.cs (3)
29IInvocationOperation invocationOperation => VisitInvocationAsync(invocationOperation, cancellationToken), 105private async Task VisitInvocationAsync(IInvocationOperation invocationOperation, CancellationToken cancellationToken) 241or IInvocationOperation)
Microsoft.CodeAnalysis.NetAnalyzers (507)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementIDisposableCorrectly.cs (6)
461private static bool IsDisposeBoolCall(IInvocationOperation invocationExpression, INamedTypeSymbol type, bool expectedValue) 571var invocationExpression = (IInvocationOperation)expressionStatement.Operation; 596private bool IsSuppressFinalizeCall(IInvocationOperation invocationExpression) 693var invocation = (IInvocationOperation)expressionStatement.Operation;
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\PassSystemUriObjectsInsteadOfStrings.cs (2)
80var invocation = (IInvocationOperation)context.Operation;
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidDeadConditionalCode.cs (2)
84op is IInvocationOperation { TargetMethod.ReturnType.SpecialType: SpecialType.System_Boolean } || 89&& (op.Parent is not IArgumentOperation { Parent: IInvocationOperation invocation } ||
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.cs (2)
58var invocation = (IInvocationOperation)context.Operation;
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.Fixer.cs (1)
63return semanticModel.GetOperation(node, cancellationToken) is IInvocationOperation { Instance: not null, Arguments.Length: 2 } invocation
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidUninstantiatedInternalClasses.cs (2)
148var expr = (IInvocationOperation)context.Operation;
Microsoft.CodeQuality.Analyzers\Maintainability\DoNotIgnoreMethodResults.cs (2)
182IInvocationOperation invocationExpression = (IInvocationOperation)expression;
Microsoft.CodeQuality.Analyzers\Maintainability\UseCrossPlatformIntrinsicsAnalyzer.cs (5)
63protected virtual bool IsSupported(IInvocationOperation invocation, RuleKind ruleKind) 91static bool IsValidBinaryOperatorMethodInvocation(IInvocationOperation invocation, bool isCommutative) 99static bool IsValidShiftOperatorMethodInvocation(IInvocationOperation invocation) 107static bool IsValidUnaryOperatorMethodInvocation(IInvocationOperation invocation) 360if (context.Operation is not IInvocationOperation invocation)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (4)
198if (creationOperation is IInvocationOperation invocationCreationOperation) 242if (currentOperation is IInvocationOperation invocationOperation) 272IInvocationOperation invocationOperation, 364return operation.Parent is IInvocationOperation invocationOperation
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerationsHelpers.cs (8)
110if (operation.Parent is IInvocationOperation invocationOperation 130if (parentArgumentOperation.Parent is IInvocationOperation grandParentInvocationOperation) 150if (operation.Parent is IInvocationOperation { TargetMethod.MethodKind: MethodKind.ReducedExtension } parentInvocationOperation 175private static bool IsInvocationCausingEnumerationOverInvocationInstance(IInvocationOperation invocationOperation, WellKnownSymbolsInfo wellKnownSymbolsInfo) 205IInvocationOperation invocationOperation, 272if (operation is IArgumentOperation { Parent: IInvocationOperation invocationOperation } argumentOperation) 285IInvocationOperation invocationOperation, 337public static bool IsLinqChainInvocation(IInvocationOperation invocationOperation, WellKnownSymbolsInfo wellKnownSymbolsInfo, out bool enumerateInstance)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotCallOverridableMethodsInConstructors.cs (2)
66var operation = (IInvocationOperation)context.Operation;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (5)
51var invocation = (IInvocationOperation)context.Operation; 81private static IEnumerable<ILocalReferenceOperation> GetReferencedDisposableArguments(IInvocationOperation invocation, 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\MarkMembersAsStatic.Fixer.cs (1)
168case IInvocationOperation invocation:
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RemoveEmptyFinalizers.cs (1)
77|| !((IInvocationOperation)operation).TargetMethod.HasAnyAttribute(conditionalAttributeType);
Microsoft.NetCore.Analyzers\Data\ReviewSqlQueriesForSecurityVulnerabilities.cs (2)
83var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\ImmutableCollections\DoNotCallToImmutableCollectionOnAnImmutableCollectionValue.cs (2)
70var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\ImmutableCollections\DoNotCallToImmutableCollectionOnAnImmutableCollectionValue.Fixer.cs (2)
49if (semanticModel.GetOperation(invocationNode, context.CancellationToken) is not IInvocationOperation invocationOperation || 63private static Task<Document> RemoveRedundantCallAsync(Document document, SyntaxNode root, SyntaxNode invocationNode, IInvocationOperation invocationOperation)
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DelegateInteropUsageAnalyzer.cs (2)
56IInvocationOperation operation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DisabledRuntimeMarshallingAssemblyAnalyzer.cs (3)
75IInvocationOperation invocation = (IInvocationOperation)context.Operation; 86static bool CanTransformToDisabledMarshallingEquivalent(IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.cs (3)
395if (operation is IInvocationOperation invocation && 448if (operation is IInvocationOperation invocation) 1290IInvocationOperation iOperation => iOperation.TargetMethod,
Microsoft.NetCore.Analyzers\InteropServices\UseValidPlatformString.cs (2)
156var invocation = (IInvocationOperation)operation;
Microsoft.NetCore.Analyzers\Performance\AvoidPotentiallyExpensiveCallWhenLogging.cs (12)
72var invocation = (IInvocationOperation)context.Operation; 132if (operation is IInvocationOperation invocationOperation) 218static bool IsTrivialInvocation(IInvocationOperation invocationOperation) 304public bool IsLogInvocation(IInvocationOperation invocation, out int logLevel, out IArgumentOperation? logLevelArgumentOperation) 372public bool IsGuardedByIsEnabled(IInvocationOperation logInvocation, int logLevel, IArgumentOperation? logLevelArgumentOperation) 401.OfType<IInvocationOperation>(); 410bool IsValidIsEnabledGuardInvocation(IInvocationOperation invocation) 426bool IsIsEnabledInvocation(IInvocationOperation invocation) 432static bool AreInvocationsOnSameInstance(IInvocationOperation invocation1, IInvocationOperation invocation2) 439static IOperation? GetInstanceResolvingConditionalAccess(IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Performance\AvoidSingleUseOfLocalJsonSerializerOptions.cs (2)
90return argumentOperation.Parent is IInvocationOperation invocationOperation && 195if (operation.Parent is IArgumentOperation arg && arg.Parent is IInvocationOperation inv)
Microsoft.NetCore.Analyzers\Performance\CollapseMultiplePathOperations.cs (11)
87var invocation = (IInvocationOperation)operationContext.Operation; 100IInvocationOperation invocation, 159if (argument.Value is IInvocationOperation nestedInvocation) 188private static bool IsNestedInSimilarCall(IInvocationOperation invocation, ImmutableArray<IMethodSymbol> methodsToCheck) 199if (grandParent is IInvocationOperation parentInvocation) 216private static int CountTotalArguments(IInvocationOperation invocation, ImmutableArray<IMethodSymbol> methodsToCheck) 222if (argument.Value is IInvocationOperation nestedInvocation) 255private static bool CanCollapse(IInvocationOperation invocation, INamedTypeSymbol? spanType, INamedTypeSymbol? readOnlySpanType, int totalArgs) 273private static bool HasSpanArguments(IInvocationOperation invocation, INamedTypeSymbol? spanType, INamedTypeSymbol? readOnlySpanType) 283if (argument.Value is IInvocationOperation nestedInvocation)
Microsoft.NetCore.Analyzers\Performance\ConstantExpectedAnalyzer.cs (2)
178var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Performance\DoNotGuardCall.cs (18)
106if (!symbols.HasApplicableConditionInvocation(conditional.Condition, out var conditionInvocation, out bool containsNegated) || 107!symbols.HasApplicableGuardedInvocation(conditional, containsNegated, out var guardedInvocation) || 128private static bool AreInvocationsOnSameInstance(IInvocationOperation invocation1, IInvocationOperation invocation2) 140private static bool AreInvocationArgumentsEqual(IInvocationOperation invocation1, IInvocationOperation invocation2) 145private static IArgumentOperation? GetFirstNonInstanceArgument(IInvocationOperation invocation) 278[NotNullWhen(true)] out IInvocationOperation? conditionInvocation, 286case IInvocationOperation invocation: 289case IUnaryOperation unaryOperation when unaryOperation.OperatorKind == UnaryOperatorKind.Not && unaryOperation.Operand is IInvocationOperation operand: 312[NotNullWhen(true)] out IInvocationOperation? guardedInvocation) 324private IInvocationOperation? GetApplicableGuardedInvocation(IOperation? operation, bool conditionNegated) 326if (operation is IInvocationOperation ternaryInvocation) 338case IInvocationOperation invocation: 348var firstChildAddOrRemove = firstChildOperation.ChildOperations 349.OfType<IInvocationOperation>() 360var firstDescendantAddOrRemove = firstChildOperation.Descendants() 361.OfType<IInvocationOperation>()
Microsoft.NetCore.Analyzers\Performance\DoNotUseAsParallelInForEachLoop.cs (1)
86if (collection is IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.cs (12)
64var invocation = (IInvocationOperation)context.Operation; 68out var bitConverterInvocation, 69out var outerInvocation, 70out var toLowerInvocation, 225IInvocationOperation invocation, 226[NotNullWhen(true)] out IInvocationOperation? bitConverterInvocation, 227[NotNullWhen(true)] out IInvocationOperation? outerInvocation, 228out IInvocationOperation? toLowerInvocation, 304static bool TryGetParentInvocation(IInvocationOperation invocation, [NotNullWhen(true)] out IInvocationOperation? parentInvocation) 306parentInvocation = invocation.Parent as IInvocationOperation;
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.Fixer.cs (5)
70if (GetInvocation(root, semanticModel, diagnostic.AdditionalLocations[0].SourceSpan, cancellationToken) is not IInvocationOperation bitConverterInvocation || 71GetInvocation(root, semanticModel, diagnostic.Location.SourceSpan, cancellationToken) is not IInvocationOperation outerInvocation) 76var toLowerInvocation = diagnostic.AdditionalLocations.Count == 2 138private static IInvocationOperation? GetInvocation(SyntaxNode root, SemanticModel semanticModel, TextSpan span, CancellationToken cancellationToken) 142return node is null ? null : semanticModel.GetOperation(node, cancellationToken) as IInvocationOperation;
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (6)
138var containsOperation = (IInvocationOperation)context.Operation; 200private static bool AddArgumentIsDeclaredInBlock(IInvocationOperation invocation) 334case IInvocationOperation invocation when searchContext == SearchContext.Indexer: 345case IInvocationOperation invocation when searchContext == SearchContext.AddMethod: 501case IInvocationOperation { TargetMethod.Name: Add } invocation when
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.cs (35)
126var invocationOperation = (IInvocationOperation)context.Operation; 187static void CaptureHashCreateInvocationOperation(DataCollector dataCollector, IInvocationOperation hashCreateInvocation) 212static void CaptureOrReportComputeHashInvocationOperation(OperationAnalysisContext context, MethodHelper methodHelper, DataCollector dataCollector, IInvocationOperation computeHashInvocation, ComputeType computeType) 219case IInvocationOperation chainedInvocationOperation when methodHelper.IsHashCreateMethod(chainedInvocationOperation): 256private static Diagnostic CreateDiagnostics(IInvocationOperation computeHashMethod, 269private static Diagnostic CreateDiagnostics(IInvocationOperation computeHashMethod, 294ImmutableArray<IInvocationOperation> disposeArray, 302foreach (var disposeInvocation in disposeArray) 311private static ImmutableArray<IInvocationOperation> GetValueOrEmpty(PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>? dictionary, ILocalSymbol key) 318return ImmutableArray<IInvocationOperation>.Empty; 395public bool IsHashCreateMethod(IInvocationOperation invocationOperation) 403public bool IsComputeHashMethod(IInvocationOperation invocationOperation, out ComputeType computeType) 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); 578private readonly PooledConcurrentSet<IInvocationOperation> _disposeHashSet = PooledConcurrentSet<IInvocationOperation>.GetInstance(); 581private readonly PooledConcurrentDictionary<IInvocationOperation, ComputeType> _computeHashMap = PooledConcurrentDictionary<IInvocationOperation, ComputeType>.GetInstance(); 587public void CollectComputeHashInvocation(IInvocationOperation computeHashInvocation, ComputeType computeType) => _computeHashMap.TryAdd(computeHashInvocation, computeType); 589public void CollectDisposeInvocation(IInvocationOperation disposeInvocation) => _disposeHashSet.Add(disposeInvocation); 609private PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>? CompileDisposeMap(CancellationToken cancellationToken) 616var map = PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>.GetInstance(SymbolEqualityComparer.Default); 617var workingMap = PooledDictionary<ILocalSymbol, ArrayBuilder<IInvocationOperation>>.GetInstance(SymbolEqualityComparer.Default); 619foreach (var dispose in _disposeHashSet) 624arrayBuilder = ArrayBuilder<IInvocationOperation>.GetInstance(); 645private PooledDictionary<ILocalSymbol, int>? GetComputeHashOnlySymbols(PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>? disposeMap, CancellationToken cancellationToken) 706private readonly PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>? _disposeMap; 709PooledDictionary<ILocalSymbol, ImmutableArray<IInvocationOperation>>? disposeMap, 711PooledConcurrentDictionary<IInvocationOperation, ComputeType> computeHashMap) 719public PooledConcurrentDictionary<IInvocationOperation, ComputeType> ComputeHashMap { get; } 725public ImmutableArray<IInvocationOperation> GetDisposeInvocationArray(ILocalSymbol localSymbol) => GetValueOrEmpty(_disposeMap, localSymbol);
Microsoft.NetCore.Analyzers\Performance\PreferLengthCountIsEmptyOverAnyAnalyzer.cs (2)
95var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (3)
147case IInvocationOperation invocation: 251IInvocationOperation invocation, 331if (argument.Parent is IInvocationOperation invocation &&
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Analyzer.cs (11)
224IInvocationOperation invocation = (IInvocationOperation)context.Operation; 239private static void AnalyzeInvocation(OperationAnalysisContext context, IInvocationOperation invocation, INamedTypeSymbol stringType, 268if (TryGetInvocationWithoutParentheses(invocation.Instance, out IInvocationOperation? maybeLeftOffendingInvocation)) 277if (TryGetInvocationWithoutParentheses(invocation.Arguments[0].Value, out IInvocationOperation? maybeRightOffendingInvocation)) 308if (TryGetInvocationWithoutParentheses(binaryOperation.LeftOperand, out IInvocationOperation? leftInvocation)) 314if (TryGetInvocationWithoutParentheses(binaryOperation.RightOperand, out IInvocationOperation? rightInvocation)) 336[NotNullWhen(returnValue: true)] out IInvocationOperation? diagnosableInvocation) 346if (descendant is IInvocationOperation invocationDescendant) 350else if (descendant is IArgumentOperation argumentDescendant && argumentDescendant.Value is IInvocationOperation argumentInvocationDescendant) 358private static bool IsOffendingMethod(IInvocationOperation invocation, ITypeSymbol stringType,
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Fixer.cs (5)
29string caseChangingApproachValue, IInvocationOperation mainInvocationOperation, INamedTypeSymbol stringComparisonType, 103if (operation is IInvocationOperation invocation) 141private Task<Document> FixInvocationAsync(SyntaxGenerator generator, Document doc, SyntaxNode root, IInvocationOperation mainInvocation, 188SyntaxNode leftNode = binaryOperation.LeftOperand is IInvocationOperation leftInvocation ? 192SyntaxNode rightNode = binaryOperation.RightOperand is IInvocationOperation rightInvocation ?
Microsoft.NetCore.Analyzers\Performance\UseCompositeFormat.cs (4)
94IInvocationOperation invocation = (IInvocationOperation)operationContext.Operation; 169IInvocationOperation invocation = (IInvocationOperation)operation;
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (1)
154public void HandleInvocation(IInvocationOperation op)
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.cs (1)
141context.RegisterOperationAction(context => coll.HandleInvocation((IInvocationOperation)context.Operation), OperationKind.Invocation);
Microsoft.NetCore.Analyzers\Performance\UseCountProperly.cs (8)
190var invocationOperation = (IInvocationOperation)context.Operation; 271else if (parentOperation is IInvocationOperation parentInvocationOperation) 278argumentOperation.Parent is IInvocationOperation argumentParentInvocationOperation) 309private static bool AnalyzeParentInvocationOperation(IInvocationOperation parent, bool isInstance) 384private static void AnalyzeCountInvocationOperation(OperationAnalysisContext context, IInvocationOperation invocationOperation) 466IInvocationOperation invocationOperation, IOperation? parent, 548private static bool IsIntEqualsMethod(IInvocationOperation invocationOperation)
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (5)
66var invocation = (IInvocationOperation)context.Operation; 185conversion.Operand is IInvocationOperation; 235else if (argument is IInvocationOperation invocation) 263internal static bool IsConstantStringToCharArrayInvocation(IInvocationOperation invocation, [NotNullWhen(true)] out string? value)
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.Fixer.cs (4)
180argumentOperation.Parent is IInvocationOperation indexOfAnyOperation && 237else if (conversion.Operand is IInvocationOperation invocation) 253else if (argument is IInvocationOperation invocation) 352if (operation is IInvocationOperation invocation &&
Microsoft.NetCore.Analyzers\Performance\UseSpanClearInsteadOfFill.cs (2)
66var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Performance\UseStartsWithInsteadOfIndexOfComparisonWithZero.cs (1)
132left is IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Performance\UseStringContainsCharOverloadWithSingleCharactersAnalyzer.cs (3)
68var invocationOperation = (IInvocationOperation)context.Operation; 76static bool ShouldAnalyzeInvocation(IInvocationOperation invocationOperation)
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.cs (4)
117var invocationOperation = (IInvocationOperation)context.Operation; 151IInvocationOperation invocationOperation, 208IInvocationOperation invocationOperation,
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.cs (1)
72else if (context.Operation is IInvocationOperation invocationOperation) // For arrays passed in extension methods, like in LINQ
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (27)
69if (UnwrapInvocationFromCondition(conditional.Condition) is not IInvocationOperation isMatchInvocation || 82IInvocationOperation? matchInvocation = FindMatchingMatchCall( 103private static IInvocationOperation? UnwrapInvocationFromCondition(IOperation operation) 108return operation as IInvocationOperation; 115private static IInvocationOperation? FindMatchingMatchCall( 117IInvocationOperation isMatchInvocation, 166private static IInvocationOperation? TryFindMatchInOperation( 168IInvocationOperation isMatchInvocation, 179var found = FindMatchInExpression(declInitValue, isMatchInvocation, regexType); 191var found = FindMatchInExpression(initValue, isMatchInvocation, regexType); 223private static IInvocationOperation? FindMatchInExpression( 225IInvocationOperation isMatchInvocation, 231if (expression is IInvocationOperation invocation) 242var found = FindMatchInExpression(invocation.Instance, isMatchInvocation, regexType); 251var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 266var found = FindMatchInExpression(propRef.Instance, isMatchInvocation, regexType); 277var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 291var found = FindMatchInExpression(arrayRef.ArrayReference, isMatchInvocation, regexType); 327var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 336var found = FindMatchInExpression(objCreation.Initializer, isMatchInvocation, regexType); 352var found = FindMatchInExpression(inner, isMatchInvocation, regexType); 366var found = FindMatchInExpression(element, isMatchInvocation, regexType); 388var found = FindMatchInExpression(element, isMatchInvocation, regexType); 405var found = FindMatchInExpression(interpolation.Expression, isMatchInvocation, regexType); 443IInvocationOperation matchInvocation, 444IInvocationOperation isMatchInvocation, 612IInvocationOperation invocation,
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.cs (2)
58var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.Fixer.cs (3)
53if (GetReadInvocation(semanticModel, node, cancellationToken) is not IInvocationOperation invocation) 110private static IInvocationOperation? GetReadInvocation(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 113semanticModel.GetOperation(node, cancellationToken) is not IInvocationOperation invocation ||
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.cs (1)
141if (parent is IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (2)
75var invocationOperation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\CallGCSuppressFinalizeCorrectly.cs (2)
137var invocationExpression = (IInvocationOperation)analysisContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (1)
817IInvocationOperation iOperation => iOperation.TargetMethod,
Microsoft.NetCore.Analyzers\Runtime\DisposableTypesShouldDeclareFinalizer.cs (2)
106var invocation = (IInvocationOperation)assignment.Value;
Microsoft.NetCore.Analyzers\Runtime\DisposeMethodsShouldCallBaseClassDispose.cs (2)
86var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\DoNotCallEnumerableCastOrOfTypeWithIncompatibleTypesAnalyzer.cs (2)
90var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\DoNotLockOnObjectsWithWeakIdentity.cs (2)
58var invocationOperation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\DoNotPassLiteralsAsLocalizedParameters.cs (1)
77case IInvocationOperation invocation:
Microsoft.NetCore.Analyzers\Runtime\DoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectly.cs (3)
58var invocation = (IInvocationOperation)context.Operation; 137private static bool IsPossibleLinqInvocation(IInvocationOperation invocation, OperationAnalysisContext context)
Microsoft.NetCore.Analyzers\Runtime\DoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectly.Fixer.cs (1)
55if (semanticModel.GetOperation(invocationNode, context.CancellationToken) is not IInvocationOperation invocationOperation)
Microsoft.NetCore.Analyzers\Runtime\DoNotUseReferenceEqualsWithValueTypes.cs (2)
87var invocationExpression = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (4)
85IInvocationOperation invocation = (IInvocationOperation)context.Operation; 127IInvocationOperation invocation, 194IInvocationOperation invocation,
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Fixer.cs (4)
28[NotNullWhen(returnValue: true)] out IInvocationOperation? invocation); 107if (!TryGetInvocation(model, node, cancellationToken, out IInvocationOperation? invocation)) 179public Fix(IInvocationOperation invocation, SyntaxNode expression, ImmutableArray<TArgumentSyntax> arguments, 190public IInvocationOperation Invocation { get; }
Microsoft.NetCore.Analyzers\Runtime\LoggerMessageDefineAnalyzer.cs (2)
123var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\NormalizeStringsToUppercase.cs (2)
73var invocation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.cs (8)
58var invocations = TemporarySet<IInvocationOperation>.Empty; 63if (symbols.IsAnySubstringInvocation(argument.Value.WalkDownConversion(c => c.IsImplicit)) && argument.Parent is IInvocationOperation invocation) 71foreach (var invocation in invocations.NonConcurrentEnumerable) 89/// Gets all the overloads that are tied for being the "best" span-based overload for the specified <see cref="IInvocationOperation"/>. 95internal static ImmutableArray<IMethodSymbol> GetBestSpanBasedOverloads(in RequiredSymbols symbols, IInvocationOperation invocation, CancellationToken cancellationToken) 146static int EvaluateCandidateQuality(in RequiredSymbols symbols, ReadOnlySpan<bool> isSubstringLookup, IInvocationOperation invocation, IMethodSymbol candidate) 173private static IEnumerable<IMethodSymbol> GetAllAccessibleOverloadsAtInvocationCallSite(IInvocationOperation invocation, CancellationToken cancellationToken) 289if (operation is not IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.Fixer.cs (2)
41model.GetOperation(reportedNode, token) is not IInvocationOperation reportedInvocation) 97private static bool IsMemoryExtensionsInScope(in RequiredSymbols symbols, IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitStringAnalyzer.cs (2)
62var invocationOperation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Runtime\PreferDictionaryContainsMethods.cs (3)
105var invocation = (IInvocationOperation)context.Operation; 191private protected abstract bool TryGetPropertyReferenceOperation(IInvocationOperation containsInvocation, [NotNullWhen(true)] out IPropertySymbol? propertySymbol);
Microsoft.NetCore.Analyzers\Runtime\PreferJsonElementParse.cs (1)
81propertyReference.Instance is not IInvocationOperation invocation ||
Microsoft.NetCore.Analyzers\Runtime\PreferJsonElementParse.Fixer.cs (3)
51if (GetParseInvocation(model, node, cancellationToken) is not IInvocationOperation invocation || 77private static IInvocationOperation? GetParseInvocation(SemanticModel model, SyntaxNode node, CancellationToken cancellationToken) 81propertyReference.Instance is IInvocationOperation invocation &&
Microsoft.NetCore.Analyzers\Runtime\PreferStreamAsyncMemoryOverloads.cs (4)
211out IInvocationOperation? invocation, 252out IInvocationOperation? actualInvocation, 259if (awaitOperation.Operation is not IInvocationOperation awaitedInvocation) 272if (awaitedInvocation.Instance is IInvocationOperation instanceOperation)
Microsoft.NetCore.Analyzers\Runtime\PreferStreamAsyncMemoryOverloads.Fixer.cs (5)
38protected abstract SyntaxNode? GetArgumentByPositionOrName(IInvocationOperation invocation, int index, string name, out bool isNamed); 45protected abstract SyntaxNode GetNodeWithNullability(IInvocationOperation invocation); 169model.GetOperation(node, cancellationToken) is not IInvocationOperation invocation) 224public Fix(IInvocationOperation invocation, Argument buffer, Argument offset, Argument count, Argument cancellationToken) 233public IInvocationOperation Invocation { get; }
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOf.Fixer.cs (5)
47if (GetIndexOfComparison(semanticModel, expression, cancellationToken) is not (IBinaryOperation binaryOperation, IInvocationOperation invocationOperation, IOperation otherOperation)) 119private static (IBinaryOperation Comparison, IInvocationOperation IndexOf, IOperation Other)? GetIndexOfComparison( 129IInvocationOperation invocationOperation; 131if (binaryOperation.LeftOperand is IInvocationOperation invocationOperationOperand) 136else if (binaryOperation.RightOperand is IInvocationOperation rightInvocationOperation)
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOfAnalyzer.cs (5)
111TemporaryDictionary<ILocalSymbol, IInvocationOperation> variableNameToOperationsMap = TemporaryDictionary<ILocalSymbol, IInvocationOperation>.Empty; 146var invocationOperation = (IInvocationOperation)context.Operation; 155var otherOperand = binaryOperation.LeftOperand is IInvocationOperation ? binaryOperation.RightOperand : binaryOperation.LeftOperand;
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.cs (3)
93var invocation = (IInvocationOperation)operationContext.Operation; 118if (argument.Value is IInvocationOperation toStringInvoke &&
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.Fixer.cs (5)
74SyntaxNode replacement = ((IInvocationOperation)((IArgumentOperation)operation!).Value).Instance!.Syntax; 84var invocationOp = (IInvocationOperation)argOp.Parent!; 118if (argument.Value is IInvocationOperation invoke && invoke.Instance is not null) 125argument.Parent is IInvocationOperation invocationOp &&
Microsoft.NetCore.Analyzers\Runtime\ProvideCorrectArgumentsToFormattingMethods.cs (2)
62var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureForToLowerAndToUpper.cs (2)
48var operation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureInfo.cs (2)
47var invocationExpression = (IInvocationOperation)oaContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\SpecifyIFormatProvider.cs (4)
179var invocationExpression = (IInvocationOperation)oaContext.Operation; 333private static bool IsValidToStringCall(IInvocationOperation invocationOperation, ImmutableHashSet<IMethodSymbol> validToStringMethods, 363private static bool IsValidParseCall(IInvocationOperation invocationOperation, ImmutableArray<ISymbol> guidParseMethods)
Microsoft.NetCore.Analyzers\Runtime\SpecifyStringComparison.cs (4)
69var invocationExpression = (IInvocationOperation)oaContext.Operation; 198IInvocationOperation invocationExpression, 216IInvocationOperation invocationExpression,
Microsoft.NetCore.Analyzers\Runtime\TestForEmptyStringsUsingStringLength.cs (3)
56(IInvocationOperation)operationAnalysisContext.Operation, linqExpressionType, 73private static void AnalyzeInvocationExpression<TContext>(IInvocationOperation invocationOperation, 167private static bool HasAnEmptyStringArgument(IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Runtime\UseAsyncMethodInAsyncContext.cs (2)
108if (context.Operation is IInvocationOperation invocationOperation) 170private static bool IsSemaphoreSlimWaitWithZeroArgumentInvocation(IInvocationOperation invocation, IFieldSymbol? timeSpanZero, ImmutableArray<IMethodSymbol> semaphoreSlimWaitWithTimeoutMethods)
Microsoft.NetCore.Analyzers\Runtime\UseEnvironmentMembers.cs (2)
103if (initialPropRef.Instance is IInvocationOperation getCurrentProcess && 117mainModule.Instance is IInvocationOperation getCurrentProcess &&
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpers.cs (2)
295nameReference.Instance is IInvocationOperation getTypeCall && 396if (condition is IInvocationOperation invocationOperation)
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.cs (2)
52var operation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Runtime\UseRegexMembers.cs (2)
90if (initialPropRef.Instance is IInvocationOperation regexMatchInvocation && 108if (initialPropRef.Instance is IInvocationOperation regexMatchesInvocation &&
Microsoft.NetCore.Analyzers\Runtime\UseRegexMembersFixer.cs (3)
77if (GetRegexCall(model, node, cancellationToken) is not IInvocationOperation regexCall || 113private static IInvocationOperation? GetRegexCall(SemanticModel model, SyntaxNode node, CancellationToken cancellationToken) 116operation.Instance is IInvocationOperation regexCall
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.cs (1)
107return operation is IInvocationOperation invocation && symbols.IsAnySubstringMethod(invocation.TargetMethod);
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.Fixer.cs (4)
67if (value is IInvocationOperation invocation && 139if (WalkDownBuiltInImplicitConversionOnConcatOperand(operand) is IInvocationOperation invocation && 154if (value is IInvocationOperation invocation && symbols.IsAnySubstringMethod(invocation.TargetMethod)) 188private bool TryGetNamedStartIndexArgument(in RequiredSymbols symbols, IInvocationOperation substringInvocation, [NotNullWhen(true)] out IArgumentOperation? namedStartIndexArgument)
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.cs (18)
23/// <item>The other operand is an <see cref="IInvocationOperation"/> of an eligible 174/// <item>The other operand is any <see cref="IInvocationOperation"/></item> 176/// then this method returns the <see cref="IInvocationOperation"/>. 181internal static IInvocationOperation? GetInvocationFromEqualityCheckWithLiteralZero(IBinaryOperation? binaryOperation) 187return binaryOperation.RightOperand as IInvocationOperation; 189return binaryOperation.LeftOperand as IInvocationOperation; 201internal static IInvocationOperation? GetInvocationFromEqualsCheckWithLiteralZero(IInvocationOperation? invocation, IMethodSymbol int32Equals) 210return invocation.Instance as IInvocationOperation; 237var invocation = GetInvocationFromEqualityCheckWithLiteralZero(operation as IBinaryOperation) 238?? GetInvocationFromEqualsCheckWithLiteralZero(operation as IInvocationOperation, symbols.IntEquals); 266var invocation = GetInvocationFromEqualityCheckWithLiteralZero(operation as IBinaryOperation) 267?? GetInvocationFromEqualsCheckWithLiteralZero(operation as IInvocationOperation, symbols.IntEquals); 297var invocation = GetInvocationFromEqualityCheckWithLiteralZero(operation as IBinaryOperation) 298?? GetInvocationFromEqualsCheckWithLiteralZero(operation as IInvocationOperation, symbols.IntEquals); 305/// Returns <c>true</c> if the specified <paramref name="operation"/> is an <see cref="IBinaryOperation"/> or <see cref="IInvocationOperation"/>: 325var invocation = GetInvocationFromEqualityCheckWithLiteralZero(operation as IBinaryOperation) 326?? GetInvocationFromEqualsCheckWithLiteralZero(operation as IInvocationOperation, symbols.IntEquals);
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.Fixer.cs (11)
72if (violation is not (IBinaryOperation or IInvocationOperation)) 106/// <param name="violation">The <see cref="IBinaryOperation"/> or <see cref="IInvocationOperation"/> at the location reported by the analyzer.</param> 114/// <param name="violation">The <see cref="IBinaryOperation"/> or <see cref="IInvocationOperation"/> obtained at the location reported by the analyzer. 133protected IInvocationOperation GetInvocation(IOperation violation) 135var result = violation switch 138IInvocationOperation i => UseStringEqualsOverStringCompare.GetInvocationFromEqualsCheckWithLiteralZero(i, Symbols.IntEquals), 156if (equalsOrNotEqualsOperation is IInvocationOperation i) 182var compareInvocation = GetInvocation(violation); 206var compareInvocation = GetInvocation(violation); 248var invocation = GetInvocation(violation); 272var compareInvocation = GetInvocation(violation);
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInIFormatterSerializableObjectGraphAnalyzer.cs (2)
90IInvocationOperation invocationOperation = 91(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInSerializableObjectGraphAnalyzer.cs (3)
104IInvocationOperation invocationOperation = 105(IInvocationOperation)operationAnalysisContext.Operation; 147IInvocationOperation invocationOperation,
Microsoft.NetCore.Analyzers\Security\DoNotAddSchemaByURL.cs (2)
53var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotCallDangerousMethodsInDeserialization.cs (1)
151case IInvocationOperation invocationOperation:
Microsoft.NetCore.Analyzers\Security\DoNotInstallRootCert.cs (2)
141var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotSetSwitch.cs (2)
96var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseAccountSAS.cs (2)
53var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseCreateEncryptorWithNonDefaultIV.cs (2)
123var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseDSA.cs (2)
115var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureCryptographicAlgorithms.cs (1)
74case IInvocationOperation invocationOperation:
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerJavascriptSerializerWithSimpleTypeResolver.cs (2)
175IInvocationOperation invocationOperation = 176(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerJsonNetWithoutBinder.cs (2)
155IInvocationOperation invocationOperation = 156(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerMethodsBase.cs (2)
87IInvocationOperation invocationOperation = 88(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerWithoutBinderBase.cs (2)
140IInvocationOperation invocationOperation = 141(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureRandomness.cs (2)
51var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureSettingsForJsonNet.cs (2)
164IInvocationOperation invocationOperation = 165(IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseObsoleteKDFAlgorithm.cs (2)
60var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\DoNotUseWeakKDFInsufficientIterationCount.cs (2)
138var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\SourceTriggeredTaintedDataAnalyzerBase.cs (2)
169IInvocationOperation invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseAutoValidateAntiforgeryToken.cs (3)
141case IInvocationOperation invocationOperation: 177var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseContainerLevelAccessPolicy.cs (2)
106var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseRSAWithSufficientKeySize.cs (2)
104var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseSecureCookiesASPNetCore.cs (2)
125var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseSharedAccessProtocolHttpsOnly.cs (2)
93var invocationOperation = (IInvocationOperation)operationAnalysisContext.Operation;
Microsoft.NetCore.Analyzers\Security\UseXmlReaderBase.cs (1)
65methodSymbol = ((IInvocationOperation)operation).TargetMethod;
Microsoft.NetCore.Analyzers\Tasks\DoNotConfigureAwaitWithSuppressThrowing.cs (2)
59IInvocationOperation invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.cs (2)
60var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTasksWithoutPassingATaskScheduler.cs (2)
54var invocation = (IInvocationOperation)operationContext.Operation;
Microsoft.NetCore.Analyzers\Tasks\DoNotUseNonCancelableTaskDelayWithWhenAny.cs (3)
51var invocation = (IInvocationOperation)context.Operation; 125if (operation is not IInvocationOperation invocation)
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgument.cs (3)
62var invocation = (IInvocationOperation)context.Operation; 96private static bool IsSingleTaskArgument(IInvocationOperation invocation, INamedTypeSymbol taskType, INamedTypeSymbol genericTaskType)
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (3)
34if (semanticModel.GetOperation(nodeToFix, cancellationToken) is not IInvocationOperation operation) 82private static bool IsValueStored(IInvocationOperation operation) 99private static SyntaxNode GetSingleArgumentSyntax(IInvocationOperation operation)
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (7)
97var invocation = (IInvocationOperation)operation; 116if (invocation.Parent is IInvocationOperation parentIo) 126case nameof(ValueTask.GetAwaiter) when parentIo.Parent is IInvocationOperation { TargetMethod.Name: nameof(ValueTaskAwaiter.GetResult) }: 219private static void HandleAtypicalValueTaskUsage(OperationAnalysisContext operationContext, INamedTypeSymbol? debugType, IOperation operation, IInvocationOperation invocation) 473stmt.Operation is IInvocationOperation assert && 526OperationKind.Invocation when op.Parent is IInvocationOperation { TargetMethod.Name: nameof(ValueTask.GetAwaiter) } => true,
Microsoft.NetCore.Analyzers\Usage\DoNotPassNonNullableValueToArgumentNullExceptionThrowIfNull.cs (2)
63var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.cs (4)
46if (!RuntimeTypeInvocationContext.TryGetContext((IInvocationOperation)context.Operation, out var invocationContext)) 144IInvocationOperation invocation, 153public static bool TryGetContext(IInvocationOperation invocation, [NotNullWhen(true)] out RuntimeTypeInvocationContext? invocationContext) 187public IInvocationOperation Invocation { get; }
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.Fixer.cs (2)
41if (operation is not IInvocationOperation invocation) 54protected abstract Task<Document> ReplaceWithGenericCallAsync(Document document, IInvocationOperation invocation, CancellationToken cancellationToken);
Microsoft.NetCore.Analyzers\Usage\ProvideCorrectArgumentToEnumHasFlag.cs (2)
46var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Usage\UseVolatileReadWrite.Fixer.cs (2)
99private static (IInvocationOperation? Invocation, INamedTypeSymbol? VolatileType) TryGetObsoleteCall( 106|| semanticModel.GetOperation(node, cancellationToken) is not IInvocationOperation invocationOperation)
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (2)
245var invocation = (IInvocationOperation)context.Operation;
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (4)
79var invocation = (IInvocationOperation)context.Operation; 214OperationKind.Invocation => ((IInvocationOperation)rhs).TargetMethod, 238OperationKind.Invocation => ((IInvocationOperation)rhs).Arguments,
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
462if (operation.Parent is IInvocationOperation invocationOperation)
src\47c588c5b8785708\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
166IInvocationOperation invocation => invocation.Instance == operation,
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (4)
190if (operation.Parent is IInvocationOperation invocation && 241(operation is not IInvocationOperation invocation || 339operation.Parent is IInvocationOperation invocation && 387IInvocationOperation invocation => DisposeOwnershipTransferAtMethodCall ||
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
188var invocation = (IInvocationOperation)operation;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
306else if (operation is IInvocationOperation invocation &&
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 627public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 634public static IOperation? GetInstance(this IInvocationOperation invocationOperation) 637public static SyntaxNode? GetInstanceSyntax(this IInvocationOperation invocationOperation) 644IInvocationOperation invocation => invocation.GetInstance(), 779this IInvocationOperation invocationOperation,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (2)
141if (creation is not IInvocationOperation invocation || 158IInvocationOperation invocation => invocation.Arguments,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (7)
882case IInvocationOperation invocationOp: 975=> operation.Parent is IInvocationOperation invocation && 1692case IInvocationOperation invocation: 3166public sealed override TAbstractAnalysisValue VisitInvocation(IInvocationOperation operation, object? argument) 3272private TAbstractAnalysisValue VisitInvocation_NonLambdaOrDelegateOrLocalFunction(IInvocationOperation operation, object? argument) 3329if (operation is IInvocationOperation invocation) 3433IInvocationOperation operation,
Microsoft.CodeAnalysis.ResxSourceGenerator (8)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
187var invocation = (IInvocationOperation)operation;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
305else if (operation is IInvocationOperation invocation &&
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 441public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 448public static IOperation? GetInstance(this IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
Microsoft.CodeAnalysis.VisualBasic.Analyzers (1)
MetaAnalyzers\Fixers\BasicCompareSymbolsCorrectlyFix.vb (1)
26Protected Overrides Function GetExpression(invocationOperation As Operations.IInvocationOperation) As SyntaxNode
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (3)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyLinqExpression\VisualBasicSimplifyLinqExpressionDiagnosticAnalyzer.vb (3)
25Protected Overrides Function TryGetNextInvocationInChain(invocation As IInvocationOperation) As IInvocationOperation 28Return TryCast(invocation.Parent, IInvocationOperation)
Microsoft.CodeAnalysis.VisualBasic.Features (3)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyLinqExpression\VisualBasicSimplifyLinqExpressionDiagnosticAnalyzer.vb (3)
25Protected Overrides Function TryGetNextInvocationInChain(invocation As IInvocationOperation) As IInvocationOperation 28Return TryCast(invocation.Parent, IInvocationOperation)
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (7)
Microsoft.NetCore.Analyzers\Performance\BasicRecommendCaseInsensitiveStringComparisonFixer.vb (1)
18caseChangingApproachValue As String, mainInvocationOperation As IInvocationOperation, stringComparisonType As INamedTypeSymbol,
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Fixer.vb (2)
23Protected Overrides Function TryGetInvocation(model As SemanticModel, node As SyntaxNode, ct As CancellationToken, <NotNullWhen(True)> ByRef invocation As IInvocationOperation) As Boolean 35invocation = TryCast(operation, IInvocationOperation)
Microsoft.NetCore.Analyzers\Runtime\BasicPreferDictionaryContainsMethods.vb (1)
12Private Protected Overrides Function TryGetPropertyReferenceOperation(containsInvocation As IInvocationOperation, ByRef propertySymbol As IPropertySymbol) As Boolean
Microsoft.NetCore.Analyzers\Runtime\BasicPreferStreamAsyncMemoryOverloads.Fixer.vb (2)
18Protected Overrides Function GetArgumentByPositionOrName(invocation As IInvocationOperation, index As Integer, name As String, ByRef isNamed As Boolean) As SyntaxNode 94Protected Overrides Function GetNodeWithNullability(invocation As IInvocationOperation) As SyntaxNode
Microsoft.NetCore.Analyzers\Usage\BasicPreferGenericOverloads.Fixer.vb (1)
25invocation As IInvocationOperation,
Microsoft.CodeAnalysis.Workspaces (2)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
Microsoft.Extensions.Configuration.Binder.SourceGeneration (16)
ConfigurationBindingGenerator.Suppressor.cs (1)
82if (semanticModel.GetOperation(invocation, context.CancellationToken) is not IInvocationOperation operation ||
Parser\BinderInvocation.cs (4)
14private BinderInvocation(IInvocationOperation operation, Location location) 20public IInvocationOperation Operation { get; } 28return context.SemanticModel.GetOperation(invocationSyntax, cancellationToken) is IInvocationOperation operation && 52public static bool IsBindingOperation(IInvocationOperation operation)
Parser\ConfigurationBinder.cs (4)
41IInvocationOperation operation = invocation.Operation!; 135IInvocationOperation operation = invocation.Operation!; 190IInvocationOperation operation = invocation.Operation!; 257IInvocationOperation invocationOperation = typeParseInfo.BinderInvocation!.Operation;
Parser\OptionsBuilderConfigurationExtensions.cs (1)
44IInvocationOperation operation = invocation.Operation!;
Parser\OptionsConfigurationServiceCollectionExtensions.cs (1)
17IInvocationOperation operation = invocation.Operation!;
Specs\InterceptorInfo.cs (5)
65public void RegisterInterceptor_ConfigBinder_Bind(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 91public void RegisterInterceptor(MethodsToGen overload, IInvocationOperation operation) 138public void RegisterInterceptor(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 160public void RegisterInvocation(IInvocationOperation invocation) => 171public InvocationLocationInfo(MethodsToGen interceptor, IInvocationOperation invocation)
Microsoft.Extensions.Validation.ValidationsGenerator (6)
Parsers\ValidationsGenerator.EndpointsParser.cs (1)
32return operation is IInvocationOperation invocationOperation
Parsers\ValidationsGenerator.TypesParser.cs (1)
17internal static ImmutableArray<ValidatableType> ExtractValidatableTypes(IInvocationOperation operation)
src\768f3af0174e68df\InvocationOperationExtensions.cs (4)
26public static bool IsValidOperation(this IOperation? operation, WellKnownTypes wellKnownTypes, [NotNullWhen(true)] out IInvocationOperation? invocationOperation) 29if (operation is IInvocationOperation targetOperation && 42public static bool TryGetRouteHandlerMethod(this IInvocationOperation invocation, SemanticModel semanticModel, bool needsAccurateSignature, [NotNullWhen(true)] out IMethodSymbol? method) 53public static bool TryGetRouteHandlerArgument(this IInvocationOperation invocation, [NotNullWhen(true)] out IArgumentOperation? argumentOperation)
Microsoft.Interop.ComInterfaceGenerator (10)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (9)
53var methodsOfInterest = new Dictionary<ISymbol, ImmutableArray<Func<IInvocationOperation, (ITypeSymbol, Location)?>>>(SymbolEqualityComparer.Default); 106var operation = (IInvocationOperation)context.Operation; 108if (methodsOfInterest.TryGetValue(operation.TargetMethod.OriginalDefinition, out ImmutableArray<Func<IInvocationOperation, (ITypeSymbol, Location)?>> discoverers)) 110foreach (Func<IInvocationOperation, (ITypeSymbol, Location)?> discoverer in discoverers) 186else if (operand is IInvocationOperation invocation && invocation.TargetMethod.Equals(getObjectForIUnknown, SymbolEqualityComparer.Default)) 200static Func<IInvocationOperation, (ITypeSymbol Type, Location location)?> CreateArgumentTypeLookup(int ordinal) => invocation => invocation.GetArgumentByOrdinal(ordinal).Value switch 206static Func<IInvocationOperation, (ITypeSymbol Type, Location location)?> CreateTypeArgumentTypeLookup(int ordinal) => invocation => 235static Func<IInvocationOperation, (ITypeSymbol Type, Location location)?> CreateTypeOfArgumentTypeLookup(int ordinal) => invocation => invocation.GetArgumentByOrdinal(ordinal).Value switch
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
12public static IArgumentOperation? GetArgumentByOrdinal(this IInvocationOperation operation, int ordinal)
Microsoft.Interop.LibraryImportGenerator (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
12public static IArgumentOperation? GetArgumentByOrdinal(this IInvocationOperation operation, int ordinal)
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\OperationExtensions.cs (1)
12public static IArgumentOperation? GetArgumentByOrdinal(this IInvocationOperation operation, int ordinal)
Roslyn.Diagnostics.Analyzers (18)
AbstractDoNotCopyValue.cs (2)
856public override void VisitInvocation(IInvocationOperation operation) 1405return ((IInvocationOperation)operation).TargetMethod switch
DoNotCallGetTestAccessor.cs (2)
63var invocation = (IInvocationOperation)context.Operation;
ImmutableArrayBoxingAnalyzer.cs (2)
69var invocation = (IInvocationOperation)context.Operation;
PooledArrayBuilderAsRefAnalyzer.cs (2)
59var invocation = (IInvocationOperation)context.Operation;
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
267if (added && operation is IInvocationOperation invocation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
187var invocation = (IInvocationOperation)operation;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
305else if (operation is IInvocationOperation invocation &&
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
28public static ITypeSymbol? GetReceiverType(this IInvocationOperation invocation, Compilation compilation, bool beforeConversion, CancellationToken cancellationToken) 441public static bool IsExtensionMethodAndHasNoInstance(this IInvocationOperation invocationOperation) 448public static IOperation? GetInstance(this IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
319public override void VisitInvocation(IInvocationOperation operation)
TemporaryArrayAsRefAnalyzer.cs (2)
57var invocation = (IInvocationOperation)context.Operation;
Roslyn.Diagnostics.CSharp.Analyzers (5)
CSharpDoNotUseDebugAssertForInterpolatedStrings.cs (2)
65var invocation = (IInvocationOperation)context.Operation;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1593if (operation is IInvocationOperation { TargetMethod.RefKind: not RefKind.Ref }) 1618semanticModel.GetOperation(invocationExpression, cancellationToken) is IInvocationOperation invocationOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
220if (semanticModel.GetOperation(invocationExpression, cancellationToken) is not IInvocationOperation invocationOp)
System.Private.CoreLib.Generators (1)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (1)
193IInvocationOperation iOperation => iOperation.TargetMethod,
System.Text.RegularExpressions.Generator (7)
UpgradeToGeneratedRegexAnalyzer.cs (1)
40IInvocationOperation inv =>
UpgradeToGeneratedRegexCodeFixer.cs (6)
101operation is not (IInvocationOperation or IObjectCreationOperation)) 155if (operation is IInvocationOperation invocationOperation) // when using a Regex static method 200operation is not (IInvocationOperation or IObjectCreationOperation)) 234((IInvocationOperation)operation).Arguments; 250operation is not (IInvocationOperation or IObjectCreationOperation)) 279((IInvocationOperation)operation).Arguments;