1 implementation of IVariableDeclarationOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7871internal sealed partial class VariableDeclarationOperation : Operation, IVariableDeclarationOperation
39 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" />. 98ImmutableArray<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" />, 4098internal VariableDeclarationGroupOperation(ImmutableArray<IVariableDeclarationOperation> declarations, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4103public ImmutableArray<IVariableDeclarationOperation> Declarations { get; } 11223public override IOperation VisitVariableDeclaration(IVariableDeclarationOperation operation, object? argument) 11569public virtual void VisitVariableDeclaration(IVariableDeclarationOperation operation) => DefaultVisit(operation); 11710public virtual TResult? VisitVariableDeclaration(IVariableDeclarationOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (9)
3979var resourceQueue = ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>.GetInstance(declarationGroup.Declarations.Length); 3981foreach (IVariableDeclarationOperation declaration in declarationGroup.Declarations) 4019void processQueue(ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt) 4027(IVariableDeclarationOperation declaration, IVariableDeclaratorOperation declarator) = resourceQueueOpt.Pop(); 4041void processResource(IOperation resource, ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt) 5814foreach (var declaration in operation.Declarations) 5820private void HandleVariableDeclaration(IVariableDeclarationOperation operation) 5828private void HandleVariableDeclarator(IVariableDeclarationOperation declaration, IVariableDeclaratorOperation declarator) 5900public override IOperation VisitVariableDeclaration(IVariableDeclarationOperation operation, int? captureIdForResult)
Operations\OperationExtensions.cs (4)
141foreach (IVariableDeclarationOperation group in declarationGroup.Declarations) 153public static ImmutableArray<ILocalSymbol> GetDeclaredVariables(this IVariableDeclarationOperation declaration) 165private static void GetDeclaredVariables(this IVariableDeclarationOperation declaration, ArrayBuilder<ILocalSymbol> arrayBuilder) 185return declarationOperation.Initializer ?? (declarationOperation.Parent as IVariableDeclarationOperation)?.Initializer;
Microsoft.CodeAnalysis.Analyzers (1)
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (1)
372if (variableInitializer.GetAncestor<IVariableDeclarationOperation>(OperationKind.VariableDeclaration) is { } variableDeclaration)
Microsoft.CodeAnalysis.AnalyzerUtilities (3)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
3937public sealed override TAbstractAnalysisValue VisitVariableDeclaration(IVariableDeclarationOperation operation, object? argument) 3939throw new NotSupportedException($"'{nameof(IVariableDeclarationOperation)}' must have been lowered in the CFG"); 3945throw new NotSupportedException($"'{nameof(IVariableDeclarationOperation)}' must have been lowered in the CFG");
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
221var declaration = localDeclaration.Declarations[0];
Microsoft.CodeAnalysis.CSharp (2)
Operations\CSharpOperationFactory.cs (2)
2209IVariableDeclarationOperation multiVariableDeclaration = new VariableDeclarationOperation(declarators, initializer: null, ignoredDimensions, _semanticModel, varDeclaration, multiVariableImplicit); 2229IVariableDeclarationOperation 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)
574Declarations: [IVariableDeclarationOperation
Microsoft.CodeAnalysis.CSharp.Features (1)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
574Declarations: [IVariableDeclarationOperation
Microsoft.CodeAnalysis.Features (3)
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
113var localDeclaration = operation.Declarations[0];
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
221var declaration = localDeclaration.Declarations[0];
ValueTracking\ValueTracker.cs (1)
304IVariableDeclarationOperation variableDeclaration => variableDeclaration.Declarators,
Roslyn.Diagnostics.Analyzers (3)
AbstractDoNotCopyValue.cs (1)
1275public override void VisitVariableDeclaration(IVariableDeclarationOperation operation)
PooledArrayBuilderAsRefAnalyzer.cs (1)
72if (declaration is not { Parent: IVariableDeclarationOperation { Parent: IVariableDeclarationGroupOperation { Parent: IUsingOperation or IUsingDeclarationOperation } } })
TemporaryArrayAsRefAnalyzer.cs (1)
70if (declaration is not { Parent: IVariableDeclarationOperation { Parent: IVariableDeclarationGroupOperation { Parent: IUsingOperation or IUsingDeclarationOperation } } })