1 implementation of IArrayCreationOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
6077internal sealed partial class ArrayCreationOperation : Operation, IArrayCreationOperation
100 references to IArrayCreationOperation
ILLink.RoslynAnalyzer (1)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
102public override MultiValue VisitArrayCreation(IArrayCreationOperation operation, StateValue state)
Microsoft.Analyzers.Extra (6)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (6)
401var arrayCreation = (IArrayCreationOperation)paramsArg.Value; 450var arrayCreation = (IArrayCreationOperation)paramsArg.Value; 506var arrayCreation = (IArrayCreationOperation)arg.Value;
Microsoft.CodeAnalysis (6)
Generated\OperationKind.Generated.cs (1)
99/// <summary>Indicates an <see cref="IArrayCreationOperation"/>.</summary>
Generated\Operations.Generated.cs (3)
11048public override IOperation VisitArrayCreation(IArrayCreationOperation operation, object? argument) 11529public virtual void VisitArrayCreation(IArrayCreationOperation operation) => DefaultVisit(operation); 11670public virtual TResult? VisitArrayCreation(IArrayCreationOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (2)
6316if (argument is { ArgumentKind: ArgumentKind.ParamArray, Value: IArrayCreationOperation array }) 6481public override IOperation VisitArrayCreation(IArrayCreationOperation operation, int? captureIdForResult)
Microsoft.CodeAnalysis.Analyzers (2)
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (1)
1069argument.Value is not IArrayCreationOperation arrayCreation ||
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
106case IArrayCreationOperation arrayCreation:
Microsoft.CodeAnalysis.AnalyzerUtilities (15)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (2)
504IArrayCreationOperation? arrayCreationOperation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation);
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (4)
740protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PointsToAbstractValue value) 880var arrayCreation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation); 884public override PointsToAbstractValue VisitArrayCreation(IArrayCreationOperation operation, object? argument)
src\683181b2796de991\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
111protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, ParameterValidationAbstractValue value)
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (1)
135protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PropertySetAbstractValue value)
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (1)
152protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, DisposeAbstractValue value)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocationDataFlowOperationVisitor.cs (1)
173public override TAbstractAnalysisValue VisitArrayCreation(IArrayCreationOperation operation, object? argument)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (1)
210protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, TAbstractAnalysisValue value)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (1)
397public bool TryCreateForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, [NotNullWhen(returnValue: true)] out AnalysisEntity? analysisEntity)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
1946protected abstract void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, TAbstractAnalysisValue value); 2898var arrayCreation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation);
Microsoft.CodeAnalysis.CSharp (1)
Operations\CSharpOperationFactory.cs (1)
1244private IArrayCreationOperation CreateBoundArrayCreationOperation(BoundArrayCreation boundArrayCreation)
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (2)
61var arrayCreationOperation = (IArrayCreationOperation)context.Operation;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (6)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (6)
56var arrayOp = GetArrayCreationOperation(semanticModel, diagnostic, cancellationToken); 90private static IArrayCreationOperation GetArrayCreationOperation(SemanticModel semanticModel, Diagnostic diagnostic, CancellationToken cancellationToken) 118.OfType<IArrayCreationOperation>() 123return (IArrayCreationOperation)operation; 125static IArrayCreationOperation FindArrayCreationOperationAncestor(IOperation operation) 129if (operation is IArrayCreationOperation arrayOperation)
Microsoft.CodeAnalysis.CSharp.Features (8)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (2)
61var arrayCreationOperation = (IArrayCreationOperation)context.Operation;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (6)
56var arrayOp = GetArrayCreationOperation(semanticModel, diagnostic, cancellationToken); 90private static IArrayCreationOperation GetArrayCreationOperation(SemanticModel semanticModel, Diagnostic diagnostic, CancellationToken cancellationToken) 118.OfType<IArrayCreationOperation>() 123return (IArrayCreationOperation)operation; 125static IArrayCreationOperation FindArrayCreationOperationAncestor(IOperation operation) 129if (operation is IArrayCreationOperation arrayOperation)
Microsoft.CodeAnalysis.Features (1)
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
502&& argumentExpressionOperation is IArrayCreationOperation { Initializer: { } initializer }
Microsoft.CodeAnalysis.NetAnalyzers (51)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\PreferJaggedArraysOverMultidimensional.cs (2)
121var arrayCreationExpression = (IArrayCreationOperation)context.Operation;
Microsoft.NetCore.Analyzers\Performance\AvoidPotentiallyExpensiveCallWhenLogging.cs (2)
145if (operation is IArrayCreationOperation arrayCreationOperation) 250static bool IsEmptyImplicitParamsArrayCreation(IArrayCreationOperation arrayCreationOperation) =>
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (2)
535var arrayOp = (IArrayCreationOperation)op;
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (2)
225if (argument is IArrayCreationOperation arrayCreation) 298private bool IsConstantByteOrCharSZArrayCreation(IArrayCreationOperation arrayCreation, out int length)
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.cs (5)
58if (context.Operation is IArrayCreationOperation arrayCreationOperation) // For arrays passed as arguments 75if (invocationDescendants.Any(x => x is IArrayCreationOperation) 87|| conversionOperation.Operand is not IArrayCreationOperation arrayCreation) 97arrayCreationOperation = (IArrayCreationOperation)invocationDescendants 98.FirstOrDefault(x => x is IArrayCreationOperation);
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.Fixer.cs (5)
55IArrayCreationOperation arrayArgument = GetArrayCreationOperation(node, model, cancellationToken, out bool isInvoked); 146private static IArrayCreationOperation GetArrayCreationOperation(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken, out bool isInvoked) 154if (model.GetOperation(node, cancellationToken) is IArrayCreationOperation arrayCreation) 161return (IArrayCreationOperation)model.GetOperation(node.ChildNodes().First(), cancellationToken)!; 188private static string GetMemberNameFromType(IArrayCreationOperation arrayCreationOperation)
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (1)
362if (expression is IArrayCreationOperation arrayCreation && arrayCreation.Initializer is not null)
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.cs (6)
76IArrayCreationOperation arrayCreationExpression = (IArrayCreationOperation)context.Operation; 128private static bool IsCompilerGeneratedParamsArray(IArrayCreationOperation arrayCreationExpression, OperationAnalysisContext context) 176return lastArgument != null && lastArgument.Value.Syntax == arrayCreationExpression.Syntax && AreEquivalentZeroLengthArrayCreations(arrayCreationExpression, lastArgument.Value as IArrayCreationOperation); 179private static bool AreEquivalentZeroLengthArrayCreations(IArrayCreationOperation? first, IArrayCreationOperation? second)
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (2)
825IArrayCreationOperation arrayCreationOperation => SymbolFromArrayCreationOperation(arrayCreationOperation), 833private static ISymbol? SymbolFromArrayCreationOperation(IArrayCreationOperation operation)
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (1)
325if (paramsArgument?.Value is IArrayCreationOperation arrayOperation)
Microsoft.NetCore.Analyzers\Runtime\LoggerMessageDefineAnalyzer.cs (1)
175if (argument.Value is IArrayCreationOperation arrayCreation)
Microsoft.NetCore.Analyzers\Runtime\ProvideCorrectArgumentsToFormattingMethods.cs (1)
119if (paramsArgument.Value is not IArrayCreationOperation arrayCreation ||
Microsoft.NetCore.Analyzers\Security\SourceTriggeredTaintedDataAnalyzerBase.cs (1)
191if (arrayInitializerOperation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation)?.Type is IArrayTypeSymbol arrayTypeSymbol
Microsoft.NetCore.Analyzers\Security\UseRSAWithSufficientKeySize.cs (1)
154arguments[1].Value is IArrayCreationOperation arrayCreationOperation /* Use CryptoConfig.CreateFromName(string, object[]) to create RSA */&&
Microsoft.NetCore.Analyzers\Tasks\DoNotUseNonCancelableTaskDelayWithWhenAny.cs (1)
74if (argument is IArrayCreationOperation { Initializer: not null } arrayCreation)
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgument.cs (1)
108if (argument.Value is not IArrayCreationOperation
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (1)
100=> ((IArrayCreationOperation)operation.Arguments[0].Value).Initializer?.ElementValues[0].Syntax!;
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (1)
132protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PropertySetAbstractValue value)
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (2)
502IArrayCreationOperation? arrayCreationOperation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation);
src\47c588c5b8785708\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
109protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, ParameterValidationAbstractValue value)
src\9382845807600969\AbstractLocationDataFlowOperationVisitor.cs (1)
172public override TAbstractAnalysisValue VisitArrayCreation(IArrayCreationOperation operation, object? argument)
src\9382845807600969\AnalysisEntityDataFlowOperationVisitor.cs (1)
209protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, TAbstractAnalysisValue value)
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (1)
149protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, DisposeAbstractValue value)
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (4)
737protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PointsToAbstractValue value) 877var arrayCreation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation); 881public override PointsToAbstractValue VisitArrayCreation(IArrayCreationOperation operation, object? argument)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
123public static ITypeSymbol? GetElementType(this IArrayCreationOperation? arrayCreation)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (1)
395public bool TryCreateForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, [NotNullWhen(returnValue: true)] out AnalysisEntity? analysisEntity)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
1943protected abstract void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, TAbstractAnalysisValue value); 2895var arrayCreation = operation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation);
Roslyn.Diagnostics.Analyzers (1)
AbstractDoNotCopyValue.cs (1)
412public override void VisitArrayCreation(IArrayCreationOperation operation)