AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (17)
31/// We use this value in <see cref="ShouldAnalyze(IOperation, ISymbol, ref bool)"/> to determine whether to bail from analysis or not.
44/// We use this value in <see cref="ShouldAnalyze(IOperation, ISymbol, ref bool)"/> to determine whether to bail from analysis or not.
50/// We use this value in <see cref="ShouldAnalyze(IOperation, ISymbol, ref bool)"/> to determine whether to bail from analysis or not.
79var firstBlock = context.OperationBlocks[0];
105foreach (var operationBlock in context.OperationBlocks)
116foreach (var operationBlock in context.OperationBlocks)
137var value = expressionStatement.Operation;
219/// delegate escape, and corresponding bail out from flow analysis in <see cref="ShouldAnalyze(IOperation, ISymbol, ref bool)"/>.
223private static bool IsHandledDelegateCreationOrAnonymousFunctionTreeShape(IOperation operation)
267/// delegate escape, and corresponding bail out from flow analysis in <see cref="ShouldAnalyze(IOperation, ISymbol, ref bool)"/>.
272private static bool IsHandledLocalOrParameterReferenceTreeShape(IOperation operation)
332private bool ShouldAnalyze(IOperation operationBlock, ISymbol owningSymbol, ref bool hasOperationNoneDescendant)
343foreach (var operation in operationBlock.Descendants())
453foreach (var operationBlock in context.OperationBlocks)
552IOperation unreadWriteOperation,
595bool IsRemovableAssignmentWithoutSideEffects(IOperation unusedSymbolWriteOperation)
619static bool IsRemovableAssignmentValueWithoutSideEffects(IOperation assignmentValue)
AbstractSimplifyInterpolationHelpers.cs (17)
24protected abstract SyntaxNode GetPreservedInterpolationExpressionSyntax(IOperation operation);
39var expression = Unwrap(interpolation.Expression);
54private static IOperation? Unwrap(IOperation? expression, bool towardsParent = false)
76IVirtualCharService virtualCharService, ISyntaxFacts syntaxFacts, IOperation expression, out IOperation unwrapped,
82HasNonImplicitInstance(invocation, out var instance) &&
137private static bool IsInvariantCultureReference(IOperation operation)
156private static bool IsInsideFormattableStringInvariant(IOperation operation)
177private static IEnumerable<IOperation> AncestorsAndSelf(IOperation operation)
179for (var current = operation; current is not null; current = current.Parent)
192IOperation expression, out IOperation unwrapped,
197HasNonImplicitInstance(invocation, out var instance))
208var alignmentOp = invocation.Arguments[0].Value;
235private static bool HasNonImplicitInstance(IInvocationOperation invocation, [NotNullWhen(true)] out IOperation? instance)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (20)
51public abstract bool HasUnreachableEndPoint(IOperation operation);
78public (ImmutableArray<AnalyzedSwitchSection>, SyntaxNode TargetExpression) AnalyzeIfStatementSequence(ReadOnlySpan<IOperation> operations)
81if (!ParseIfStatementSequence(operations, sections, out var defaultBodyOpt))
102private bool ParseIfStatementSequence(ReadOnlySpan<IOperation> operations, ArrayBuilder<AnalyzedSwitchSection> sections, out IOperation? defaultBodyOpt)
125var nextStatement = operations[current];
145private bool ParseIfStatement(IOperation operation, ArrayBuilder<AnalyzedSwitchSection> sections, out IOperation? defaultBodyOpt)
174private bool ParseIfStatementOrBlock(IOperation op, ArrayBuilder<AnalyzedSwitchSection> sections, out IOperation? defaultBodyOpt)
198private bool ParseSwitchLabels(IOperation operation, ArrayBuilder<AnalyzedSwitchLabel> labels)
220private AnalyzedSwitchLabel? ParseSwitchLabel(IOperation operation)
269private AnalyzedPattern? ParsePattern(IOperation operation, ArrayBuilder<TExpressionSyntax> guards)
384bool CheckTargetExpression(IOperation left, IOperation right)
388private static (BoundKind Kind, IOperation Expression, IOperation Value) GetRangeBound(IBinaryOperation op)
434private static bool IsConstant(IOperation operation)
442private bool CheckTargetExpression(IOperation operation)
461private bool CheckConstantType(IOperation operation)
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (8)
165var operation = semanticModel.GetOperation(
187protected static bool IsParameterReference(IOperation operation, IParameterSymbol parameter)
193IOperation condition,
199var childOperation = semanticModel.GetOperation(child, cancellationToken);
207protected static bool IsFieldOrPropertyAssignment(IOperation statement, INamedTypeSymbol containingType, [NotNullWhen(true)] out IAssignmentOperation? assignmentExpression)
211IOperation statement, INamedTypeSymbol containingType,
227protected static bool IsFieldOrPropertyReference(IOperation operation, INamedTypeSymbol containingType)
231IOperation? operation, INamedTypeSymbol containingType,
SuppressMessageAttributeState.cs (10)
55out ImmutableArray<(string name, IOperation value)> namedAttributeArguments)
57var operation = (model.GetOperation(attributeSyntax, cancellationToken) as IAttributeOperation)?.Operation;
60namedAttributeArguments = ImmutableArray<(string name, IOperation value)>.Empty;
64using var _ = ArrayBuilder<(string name, IOperation value)>.GetInstance(out var builder);
65foreach (var initializer in initializerOperation.Initializers)
79public static bool HasValidScope(ImmutableArray<(string name, IOperation value)> namedAttributeArguments, out TargetScope targetScope)
97ImmutableArray<(string name, IOperation value)> namedAttributeArguments,
101out IOperation? targetValueOperation,
137ImmutableArray<(string name, IOperation value)> namedAttributeArguments,
140[NotNullWhen(returnValue: true)] out IOperation? argumentValueOperation)
ValueTracking\ValueTracker.OperationCollector.cs (13)
29public Task VisitAsync(IOperation operation, CancellationToken cancellationToken)
50private async Task VisitReturnDescendentsAsync(IOperation operation, bool allowImplicit, CancellationToken cancellationToken)
53foreach (var returnOperation in returnOperations)
60private async Task VisitDefaultAsync(IOperation operation, CancellationToken cancellationToken)
93private async Task<bool> TryVisitChildrenAsync(IOperation operation, CancellationToken cancellationToken)
95foreach (var child in operation.ChildOperations)
115private Task VisitReferenceAsync(IOperation operation, CancellationToken cancellationToken)
146Task AddReference(IOperation operation, CancellationToken cancellationToken)
177private async Task AddOperationAsync(IOperation operation, ISymbol symbol, CancellationToken cancellationToken)
281private static bool IsContainedIn<TContainingOperation>(IOperation? operation) where TContainingOperation : IOperation
284private static bool IsContainedIn<TContainingOperation>(IOperation? operation, [NotNullWhen(returnValue: true)] out TContainingOperation? containingOperation) where TContainingOperation : IOperation