1 implementation of IVariableDeclaratorOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7803internal sealed partial class VariableDeclaratorOperation : Operation, IVariableDeclaratorOperation
137 references to IVariableDeclaratorOperation
GenerateDocumentationAndConfigFiles (6)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (3)
108else if (operation is IVariableDeclaratorOperation variableDeclarator) 149IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol), 152IVariableDeclaratorOperation variableDeclarator when includeDeclaration => variableDeclarator.GetVariableInitializer() != null && variableDeclarator.Symbol.Equals(symbol),
ILLink.RoslynAnalyzer (1)
IOperationExtensions.cs (1)
191if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
Microsoft.Analyzers.Extra (1)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
102return IsTaskAwaited(block, (operation as IVariableDeclaratorOperation)!.Symbol);
Microsoft.CodeAnalysis (26)
Generated\OperationKind.Generated.cs (1)
178/// <summary>Indicates an <see cref="IVariableDeclaratorOperation"/>.</summary>
Generated\Operations.Generated.cs (8)
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. 2483/// in the parent operation. Call <see cref="OperationExtensions.GetVariableInitializer(IVariableDeclaratorOperation)" /> 2526ImmutableArray<IVariableDeclaratorOperation> Declarators { get; } 7873internal VariableDeclarationOperation(ImmutableArray<IVariableDeclaratorOperation> declarators, IVariableInitializerOperation? initializer, ImmutableArray<IOperation> ignoredDimensions, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7880public ImmutableArray<IVariableDeclaratorOperation> Declarators { get; } 11218public override IOperation VisitVariableDeclarator(IVariableDeclaratorOperation operation, object? argument) 11568public virtual void VisitVariableDeclarator(IVariableDeclaratorOperation operation) => DefaultVisit(operation); 11709public virtual TResult? VisitVariableDeclarator(IVariableDeclaratorOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (15)
3803ILocalSymbol local = ((IVariableDeclaratorOperation)exceptionDeclarationOrExpression).Symbol; 3979var resourceQueue = ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>.GetInstance(declarationGroup.Declarations.Length); 3983foreach (IVariableDeclaratorOperation declarator in declaration.Declarators) 4019void processQueue(ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt) 4027(IVariableDeclarationOperation declaration, IVariableDeclaratorOperation declarator) = resourceQueueOpt.Pop(); 4041void processResource(IOperation resource, ArrayBuilder<(IVariableDeclarationOperation, IVariableDeclaratorOperation)>? resourceQueueOpt) 4486var declarator = (IVariableDeclaratorOperation)operation.LoopControlVariable; 4670var declarator = (IVariableDeclaratorOperation)operation.LoopControlVariable; 5439var declarator = (IVariableDeclaratorOperation)operation.LoopControlVariable; 5822foreach (IVariableDeclaratorOperation declarator in operation.Declarators) 5828private void HandleVariableDeclarator(IVariableDeclarationOperation declaration, IVariableDeclaratorOperation declarator) 5906public override IOperation VisitVariableDeclarator(IVariableDeclaratorOperation operation, int? captureIdForResult)
Operations\OperationExtensions.cs (2)
167foreach (var decl in declaration.Declarators) 178public static IVariableInitializerOperation? GetVariableInitializer(this IVariableDeclaratorOperation declarationOperation)
Microsoft.CodeAnalysis.Analyzers (8)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
176var variableDeclarator = (IVariableDeclaratorOperation)operation;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (3)
108else if (operation is IVariableDeclaratorOperation variableDeclarator) 149IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol), 152IVariableDeclaratorOperation variableDeclarator when includeDeclaration => variableDeclarator.GetVariableInitializer() != null && variableDeclarator.Symbol.Equals(symbol),
Microsoft.CodeAnalysis.AnalyzerUtilities (8)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
176var variableDeclarator = (IVariableDeclaratorOperation)operation;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (1)
247case IVariableDeclaratorOperation variableDeclarator:
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (2)
3949public sealed override TAbstractAnalysisValue VisitVariableDeclarator(IVariableDeclaratorOperation operation, object? argument) 3951throw new NotSupportedException($"'{nameof(IVariableDeclaratorOperation)}' must have been lowered in the CFG");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
Microsoft.CodeAnalysis.CodeStyle (4)
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
66if (loopOperation.LoopControlVariable is not IVariableDeclaratorOperation variableDeclarator ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
Microsoft.CodeAnalysis.CodeStyle.Fixes (8)
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
37protected abstract TVariableDeclaratorSyntax GetDeclaratorSyntax(IVariableDeclaratorOperation declarator); 134out var localDeclarationOperation, out var declarator)) 163[NotNullWhen(true)] out IVariableDeclaratorOperation? declarator)
src\roslyn\src\Analyzers\Core\CodeFixes\ForEachCast\AbstractForEachCastCodeFixProvider.cs (2)
61var variableDeclarator = (IVariableDeclaratorOperation)loopOperation.LoopControlVariable;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (3)
108else if (operation is IVariableDeclaratorOperation variableDeclarator) 149IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol), 152IVariableDeclaratorOperation variableDeclarator when includeDeclaration => variableDeclarator.GetVariableInitializer() != null && variableDeclarator.Symbol.Equals(symbol),
Microsoft.CodeAnalysis.CSharp (7)
Operations\CSharpOperationFactory_Methods.cs (2)
81private IVariableDeclaratorOperation CreateVariableDeclaratorInternal(BoundLocalDeclaration boundLocalDeclaration, SyntaxNode syntax) 93internal IVariableDeclaratorOperation? CreateVariableDeclarator(BoundLocal? boundLocal)
Operations\CSharpOperationFactory.cs (5)
403internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax) 415var builder = ArrayBuilder<IVariableDeclaratorOperation>.GetInstance(multipleDeclaration.LocalDeclarations.Length); 418builder.Add((IVariableDeclaratorOperation)CreateVariableDeclaratorInternal(decl, decl.Syntax)); 2207ImmutableArray<IVariableDeclaratorOperation> declarators = CreateVariableDeclarator(boundLocalDeclaration, varDeclaration); 2227ImmutableArray<IVariableDeclaratorOperation> declarators = CreateVariableDeclarator(boundMultipleLocalDeclarations, declarationSyntax);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
576Declarators: [IVariableDeclaratorOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
37protected override VariableDeclaratorSyntax GetDeclaratorSyntax(IVariableDeclaratorOperation declarator)
Microsoft.CodeAnalysis.CSharp.Features (2)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
576Declarators: [IVariableDeclaratorOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
37protected override VariableDeclaratorSyntax GetDeclaratorSyntax(IVariableDeclaratorOperation declarator)
Microsoft.CodeAnalysis.Features (10)
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (1)
408if (operation is IVariableDeclaratorOperation variableDeclarationOperation)
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
117var declarator = localDeclaration.Declarators[0];
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
37protected abstract TVariableDeclaratorSyntax GetDeclaratorSyntax(IVariableDeclaratorOperation declarator); 134out var localDeclarationOperation, out var declarator)) 163[NotNullWhen(true)] out IVariableDeclaratorOperation? declarator)
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
66if (loopOperation.LoopControlVariable is not IVariableDeclaratorOperation variableDeclarator ||
src\roslyn\src\Analyzers\Core\CodeFixes\ForEachCast\AbstractForEachCastCodeFixProvider.cs (2)
61var variableDeclarator = (IVariableDeclaratorOperation)loopOperation.LoopControlVariable;
ValueTracking\ValueTracker.cs (2)
303IVariableDeclaratorOperation variableDeclarator => [variableDeclarator], 308foreach (var declarator in declarators)
Microsoft.CodeAnalysis.NetAnalyzers (32)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DoNotDirectlyAwaitATask.cs (2)
135foreach (var declarator in declaration.Declarators) 162foreach (var declarator in declaration.Declarators)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (2)
96var declaratorForInvocation = invocation.GetAncestor<IVariableDeclaratorOperation>(OperationKind.VariableDeclarator,
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RethrowToPreserveStackDetails.cs (1)
57if (catchClause.ExceptionDeclarationOrExpression is IVariableDeclaratorOperation variableDeclaratorOperation &&
Microsoft.NetCore.Analyzers\Performance\AvoidSingleUseOfLocalJsonSerializerOptions.cs (1)
365IVariableDeclaratorOperation declarator = declaration.Declarators[0];
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (1)
376Parent: IVariableDeclaratorOperation
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.cs (2)
200case IVariableDeclaratorOperation declaratorOperation: 205var declaratorOperationAlt = declarationOperation.Declarators[0];
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (3)
303IVariableDeclaratorOperation? declarator = propRef.Parent as IVariableDeclaratorOperation; 306declarator = initializer.Parent as IVariableDeclaratorOperation;
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (1)
359public void HandleVariableDeclarator(IVariableDeclaratorOperation op)
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.cs (1)
148context.RegisterOperationAction(context => coll.HandleVariableDeclarator((IVariableDeclaratorOperation)context.Operation), OperationKind.VariableDeclarator);
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (1)
187foreach (var declarator in declaration.Declarators)
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (1)
139if (semanticModel.GetOperationWalkingUpParentChain(declaringSyntaxReference.GetSyntax(cancellationToken), cancellationToken) is not IVariableDeclaratorOperation variableDeclaratorOperation)
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitString.Fixer.cs (3)
44IVariableDeclaratorOperation? variableDeclaratorOperation = default; 54variableDeclaratorOperation = semanticModel.GetOperationWalkingUpParentChain(await declaringSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false), cancellationToken) as IVariableDeclaratorOperation; 114static async Task<Document> HandleVariableDeclarator(IVariableDeclaratorOperation variableDeclaratorOperation, Document doc, SyntaxNode root, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOfAnalyzer.cs (1)
163if (variableInitializer.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (1)
390case OperationKind.VariableInitializer when operation.Parent is IVariableDeclaratorOperation decl:
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (2)
241var declarator = (IVariableDeclaratorOperation)context.Operation;
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (3)
70var variableDeclarator = (IVariableDeclaratorOperation)context.Operation; 198OperationKind.VariableDeclarator => ((IVariableDeclaratorOperation)lhs).Symbol,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
178var variableDeclarator = (IVariableDeclaratorOperation)operation;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
1071variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (1)
245case IVariableDeclaratorOperation variableDeclarator:
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (2)
3946public sealed override TAbstractAnalysisValue VisitVariableDeclarator(IVariableDeclaratorOperation operation, object? argument) 3948throw new NotSupportedException($"'{nameof(IVariableDeclaratorOperation)}' must have been lowered in the CFG");
Microsoft.CodeAnalysis.ResxSourceGenerator (5)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
176var variableDeclarator = (IVariableDeclaratorOperation)operation;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (1)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
45Protected Overrides Function GetDeclaratorSyntax(declarator As IVariableDeclaratorOperation) As VariableDeclaratorSyntax
Microsoft.CodeAnalysis.VisualBasic.Features (1)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
45Protected Overrides Function GetDeclaratorSyntax(declarator As IVariableDeclaratorOperation) As VariableDeclaratorSyntax
Microsoft.CodeAnalysis.Workspaces (6)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (3)
108else if (operation is IVariableDeclaratorOperation variableDeclarator) 149IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol), 152IVariableDeclaratorOperation variableDeclarator when includeDeclaration => variableDeclarator.GetVariableInitializer() != null && variableDeclarator.Symbol.Equals(symbol),
Roslyn.Diagnostics.Analyzers (9)
AbstractDoNotCopyValue.cs (1)
1304public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (2)
176var variableDeclarator = (IVariableDeclaratorOperation)operation;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
217if (variableInitializerOperation.Parent is IVariableDeclaratorOperation variableDeclaratorOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
267public override void VisitVariableDeclarator(IVariableDeclaratorOperation operation) 416if (write is IVariableDeclaratorOperation variableDeclarator)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (3)
108else if (operation is IVariableDeclaratorOperation variableDeclarator) 149IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol), 152IVariableDeclaratorOperation variableDeclarator when includeDeclaration => variableDeclarator.GetVariableInitializer() != null && variableDeclarator.Symbol.Equals(symbol),