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