1 implementation of IVariableDeclarationOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7871
internal sealed partial class VariableDeclarationOperation : Operation,
IVariableDeclarationOperation
56 references to IVariableDeclarationOperation
Microsoft.CodeAnalysis (24)
Generated\OperationKind.Generated.cs (1)
180
/// <summary>Indicates an <see cref="
IVariableDeclarationOperation
"/>.</summary>
Generated\Operations.Generated.cs (10)
96
/// In C#, this will always be a single declaration, with all variables in <see cref="
IVariableDeclarationOperation
.Declarators" />.
98
ImmutableArray<
IVariableDeclarationOperation
> Declarations { get; }
2252
/// Represents a declaration expression operation. Unlike a regular variable declaration <see cref="IVariableDeclaratorOperation" /> and <see cref="
IVariableDeclarationOperation
" />, this operation represents an "expression" declaring a variable.
2482
/// If this variable is in an <see cref="
IVariableDeclarationOperation
" />, the initializer may be located
2523
/// All <see cref="IVariableDeclarationGroupOperation" /> will have at least 1 <see cref="
IVariableDeclarationOperation
" />,
4098
internal VariableDeclarationGroupOperation(ImmutableArray<
IVariableDeclarationOperation
> declarations, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
4103
public ImmutableArray<
IVariableDeclarationOperation
> Declarations { get; }
11223
public override IOperation VisitVariableDeclaration(
IVariableDeclarationOperation
operation, object? argument)
11569
public virtual void VisitVariableDeclaration(
IVariableDeclarationOperation
operation) => DefaultVisit(operation);
11710
public virtual TResult? VisitVariableDeclaration(
IVariableDeclarationOperation
operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (9)
3979
var resourceQueue = ArrayBuilder<(
IVariableDeclarationOperation
, IVariableDeclaratorOperation)>.GetInstance(declarationGroup.Declarations.Length);
3981
foreach (
IVariableDeclarationOperation
declaration in declarationGroup.Declarations)
4019
void processQueue(ArrayBuilder<(
IVariableDeclarationOperation
, IVariableDeclaratorOperation)>? resourceQueueOpt)
4027
(
IVariableDeclarationOperation
declaration, IVariableDeclaratorOperation declarator) = resourceQueueOpt.Pop();
4041
void processResource(IOperation resource, ArrayBuilder<(
IVariableDeclarationOperation
, IVariableDeclaratorOperation)>? resourceQueueOpt)
5814
foreach (
var
declaration in operation.Declarations)
5820
private void HandleVariableDeclaration(
IVariableDeclarationOperation
operation)
5828
private void HandleVariableDeclarator(
IVariableDeclarationOperation
declaration, IVariableDeclaratorOperation declarator)
5900
public override IOperation VisitVariableDeclaration(
IVariableDeclarationOperation
operation, int? captureIdForResult)
Operations\OperationExtensions.cs (4)
141
foreach (
IVariableDeclarationOperation
group in declarationGroup.Declarations)
153
public static ImmutableArray<ILocalSymbol> GetDeclaredVariables(this
IVariableDeclarationOperation
declaration)
165
private static void GetDeclaredVariables(this
IVariableDeclarationOperation
declaration, ArrayBuilder<ILocalSymbol> arrayBuilder)
185
return declarationOperation.Initializer ?? (declarationOperation.Parent as
IVariableDeclarationOperation
)?.Initializer;
Microsoft.CodeAnalysis.Analyzers (1)
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (1)
372
if (variableInitializer.GetAncestor<
IVariableDeclarationOperation
>(OperationKind.VariableDeclaration) is { } variableDeclaration)
Microsoft.CodeAnalysis.AnalyzerUtilities (3)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
3937
public sealed override TAbstractAnalysisValue VisitVariableDeclaration(
IVariableDeclarationOperation
operation, object? argument)
3939
throw new NotSupportedException($"'{nameof(
IVariableDeclarationOperation
)}' must have been lowered in the CFG");
3945
throw new NotSupportedException($"'{nameof(
IVariableDeclarationOperation
)}' must have been lowered in the CFG");
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
221
var
declaration = localDeclaration.Declarations[0];
Microsoft.CodeAnalysis.CSharp (2)
Operations\CSharpOperationFactory.cs (2)
2209
IVariableDeclarationOperation
multiVariableDeclaration = new VariableDeclarationOperation(declarators, initializer: null, ignoredDimensions, _semanticModel, varDeclaration, multiVariableImplicit);
2229
IVariableDeclarationOperation
multiVariableDeclaration = new VariableDeclarationOperation(declarators, initializer: null, ignoredDimensions, _semanticModel, declarationSyntax, declarationIsImplicit);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
574
Declarations: [
IVariableDeclarationOperation
Microsoft.CodeAnalysis.CSharp.Features (1)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
574
Declarations: [
IVariableDeclarationOperation
Microsoft.CodeAnalysis.Features (3)
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
113
var
localDeclaration = operation.Declarations[0];
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
221
var
declaration = localDeclaration.Declarations[0];
ValueTracking\ValueTracker.cs (1)
304
IVariableDeclarationOperation
variableDeclaration => variableDeclaration.Declarators,
Microsoft.CodeAnalysis.NetAnalyzers (17)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DoNotDirectlyAwaitATask.cs (2)
133
foreach (
var
declaration in variableDeclarationGroup.Declarations)
160
foreach (
var
declaration in usingExpression.DeclarationGroup.Declarations)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (1)
99
declaratorForInvocation ??= invocation.GetAncestor<
IVariableDeclarationOperation
>(OperationKind.VariableDeclaration)?
Microsoft.NetCore.Analyzers\Performance\AvoidSingleUseOfLocalJsonSerializerOptions.cs (2)
330
else if (currentOperation is
IVariableDeclarationOperation
declaration)
358
private static ILocalSymbol? GetLocalSymbolFromDeclaration(
IVariableDeclarationOperation
declaration)
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (2)
378
Parent:
IVariableDeclarationOperation
391
Parent:
IVariableDeclarationOperation
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.cs (1)
203
case
IVariableDeclarationOperation
declarationOperation when declarationOperation.Declarators.Length == 1:
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (1)
228
case
IVariableDeclarationOperation
:
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (1)
174
foreach (
var
declaration in declGroup.Declarations)
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (1)
151
else if (variableDeclaratorOperation.Parent is
IVariableDeclarationOperation
variableDeclarationOperation &&
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitString.Fixer.cs (1)
117
variableDeclaratorOperation.Parent is not
IVariableDeclarationOperation
{ Declarators.Length: 1 } variableDeclarationOperation ||
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOfAnalyzer.cs (1)
167
else if (variableInitializer.Parent is
IVariableDeclarationOperation
variableDeclarationOperation && variableDeclarationOperation.Declarators.Length == 1)
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (1)
88
IVariableDeclarationOperation
)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
3934
public sealed override TAbstractAnalysisValue VisitVariableDeclaration(
IVariableDeclarationOperation
operation, object? argument)
3936
throw new NotSupportedException($"'{nameof(
IVariableDeclarationOperation
)}' must have been lowered in the CFG");
3942
throw new NotSupportedException($"'{nameof(
IVariableDeclarationOperation
)}' must have been lowered in the CFG");
Roslyn.Diagnostics.Analyzers (3)
AbstractDoNotCopyValue.cs (1)
1275
public override void VisitVariableDeclaration(
IVariableDeclarationOperation
operation)
PooledArrayBuilderAsRefAnalyzer.cs (1)
72
if (declaration is not { Parent:
IVariableDeclarationOperation
{ Parent: IVariableDeclarationGroupOperation { Parent: IUsingOperation or IUsingDeclarationOperation } } })
TemporaryArrayAsRefAnalyzer.cs (1)
70
if (declaration is not { Parent:
IVariableDeclarationOperation
{ Parent: IVariableDeclarationGroupOperation { Parent: IUsingOperation or IUsingDeclarationOperation } } })