1 implementation of Syntax
Microsoft.CodeAnalysis (1)
Operations\Operation.cs (1)
70public SyntaxNode Syntax { get; }
1036 references to Syntax
Aspire.Hosting.Analyzers (1)
AppHostAnalyzer.cs (1)
135if (argumentOperation?.Syntax is not ArgumentSyntax routePatternArgumentSyntax ||
Aspire.Hosting.Integration.Analyzers (1)
AspireExportAnalyzer.cs (1)
340invocation.Syntax is not InvocationExpressionSyntax invocationSyntax ||
ConfigurationSchemaGenerator (2)
RuntimeSource\Configuration.Binder\Specs\InterceptorInfo.cs (2)
173if (invocation.Syntax is not InvocationExpressionSyntax { Expression: MemberAccessExpressionSyntax memberAccessExprSyntax }) 179SyntaxTree operationSyntaxTree = invocation.Syntax.SyntaxTree;
GenerateDocumentationAndConfigFiles (23)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\DoNotCatchGeneralUnlessRethrown.cs (1)
82operationBlockAnalysisContext.ReportDiagnostic(CreateDiagnostic(method, catchClause.Syntax.GetFirstToken()));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (2)
57return operation.Syntax.CreateDiagnostic(rule, properties, args); 67return operation.Syntax.CreateDiagnostic(rule, additionalLocations, properties, args);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
33GetReceiverType(invocation.Instance.Syntax, compilation, cancellationToken) : 42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 196return operation.GetAncestor(OperationKind.ConditionalAccess, (IConditionalAccessOperation c) => c.Operation.Syntax == operation.Syntax); 224if (current.Syntax == operation.Syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (2)
176return statement.Syntax; 181return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (8)
43semanticFacts, semanticModel, rootOperation, declaredSymbol, rootOperation.Syntax.Span, includeDeclaration: true, cancellationToken) == true; 67if (!span.IntersectsWith(operation.Syntax.Span)) 70if (span.Contains(operation.Syntax.Span) && 76assignmentOperation.Syntax.RawKind == semanticFacts.SyntaxFacts.SyntaxKinds.SimpleAssignmentExpression) 83var typeInfo = semanticModel.GetTypeInfo(assignmentOperation.Value.Syntax, cancellationToken); 99var foreachInfo = semanticFacts.GetForEachSymbols(semanticModel, forEachLoop.Syntax); 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax; 120var typeInfo = semanticModel.GetTypeInfo(operation.Syntax, cancellationToken);
ILLink.RoslynAnalyzer (20)
COMAnalyzer.cs (1)
59operationContext.Operation.Syntax.GetLocation(), targetMethod.GetDisplayName()));
DataFlow\LocalDataFlowVisitor.cs (6)
105$"{OwningSymbol.GetType()}: {branchValueOperation.Syntax.GetLocation().GetLineSpan()}"); 113$"{OwningSymbol.GetType()}: {branchValueOperation.Syntax.GetLocation().GetLineSpan()}"); 547$"{operation.Syntax.GetLocation().GetLineSpan()}"); 549$"{operation.Syntax.GetLocation().GetLineSpan()}"); 569$"{operation.Syntax.GetLocation().GetLineSpan()}"); 571$"{operation.Syntax.GetLocation().GetLineSpan()}");
DataFlow\UnexpectedOperationHandler.cs (1)
48throw new NotImplementedException($"Unexpected operation type {operation.GetType()}: {operation.Syntax.GetLocation().GetLineSpan()}");
DynamicallyAccessedMembersAnalyzer.cs (1)
130operationBlock.Syntax.GetLocation(),
TrimAnalysis\FeatureCheckReturnValuePattern.cs (1)
35var diagnosticContext = new DiagnosticContext(Operation.Syntax.GetLocation(), reportDiagnostic);
TrimAnalysis\TrimAnalysisAssignmentPattern.cs (1)
57var location = Operation.Syntax.GetLocation();
TrimAnalysis\TrimAnalysisBackingFieldAccessPattern.cs (1)
50DiagnosticContext diagnosticContext = new(Operation.Syntax.GetLocation(), reportDiagnostic);
TrimAnalysis\TrimAnalysisFieldAccessPattern.cs (1)
49DiagnosticContext diagnosticContext = new(Operation.Syntax.GetLocation(), reportDiagnostic);
TrimAnalysis\TrimAnalysisGenericInstantiationPattern.cs (1)
50var location = Operation.Syntax.GetLocation();
TrimAnalysis\TrimAnalysisMethodCallPattern.cs (2)
80Location location = Operation.Syntax.GetLocation(); 90location = Operation.Syntax switch
TrimAnalysis\TrimAnalysisReflectionAccessPattern.cs (1)
48var location = Operation.Syntax.GetLocation();
TrimAnalysis\TrimDataFlowAnalysis.cs (3)
97var method = op.Syntax.FirstAncestorOrSelf<MethodDeclarationSyntax>(); 118TraceWriteLine(firstBlockOp.Syntax.ToString()); 122TraceWriteLine(branchOp.Syntax.ToString());
Microsoft.Analyzers.Extra (21)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
123Diagnostic.Create(DiagDescriptors.AsyncCallInsideUsingBlock, invocation.Syntax.GetLocation());
CallAnalysis\Arrays.cs (2)
101static void HandleMethod(OperationAnalysisContext context, IInvocationOperation op) => HandleSuspectType(context, (INamedTypeSymbol)op.TargetMethod.ReturnType, op.Syntax.GetLocation()); 103static void HandleConstructor(OperationAnalysisContext context, IObjectCreationOperation op) => HandleSuspectType(context, (INamedTypeSymbol)op.Type!, op.Syntax.GetLocation());
CallAnalysis\Fixers\LegacyLoggingFixer.cs (5)
404var type = e.SemanticModel?.GetTypeInfo(e.Syntax).Type!; 492loggerSyntaxNode = arg.Syntax; 502argList.Add(a.Syntax.WithoutTrivia()); 509argList.Add(e.Syntax.WithoutTrivia()); 514argList.Add(arg.Syntax.WithoutTrivia());
CallAnalysis\Fixers\LegacyLoggingFixer.FixDetails.cs (1)
71var argName = operation.Syntax.GetLastToken().Text;
CallAnalysis\LegacyCollection.cs (1)
33var diagnostic = Diagnostic.Create(DiagDescriptors.LegacyCollection, op.Syntax.GetLocation());
CallAnalysis\LegacyLogging.cs (1)
38var diagnostic = Diagnostic.Create(DiagDescriptors.LegacyLogging, op.Syntax.GetLocation());
CallAnalysis\Split.cs (1)
28var diagnostic = Diagnostic.Create(DiagDescriptors.Split, op.Syntax.GetLocation());
CallAnalysis\StartsEndsWith.cs (1)
59var diagnostic = Diagnostic.Create(DiagDescriptors.StartsEndsWith, op.Syntax.GetLocation(), op.TargetMethod.Name);
CallAnalysis\StaticTime.cs (2)
52var diagnostic = Diagnostic.Create(DiagDescriptors.StaticTime, op.Syntax.GetLocation()); 58var diagnostic = Diagnostic.Create(DiagDescriptors.StaticTime, op.Syntax.GetLocation());
CallAnalysis\ValueTuple.cs (2)
42var diagnostic = Diagnostic.Create(DiagDescriptors.ValueTuple, op.Syntax.GetLocation()); 48var diagnostic = Diagnostic.Create(DiagDescriptors.ValueTuple, op.Syntax.GetLocation());
CoalesceAnalyzer.cs (2)
52var diagnostic = Diagnostic.Create(DiagDescriptors.CoalesceAssignment, op.Syntax.GetLocation()); 79var diagnostic = Diagnostic.Create(DiagDescriptors.Coalesce, op.Syntax.GetLocation());
ConditionalAccessAnalyzer.cs (1)
111var diagnostic = Diagnostic.Create(DiagDescriptors.ConditionalAccess, op.Syntax.GetLocation());
UsingToStringInLoggersAnalyzer.cs (1)
69yield return Diagnostic.Create(DiagDescriptors.UsingToStringInLoggers, arg.Syntax.GetLocation());
Microsoft.Analyzers.Local (5)
CallAnalysis\Throws.cs (4)
35if (op.Syntax.IsKind(SyntaxKind.ThrowStatement)) 39op.Syntax.GetLocation(), 44else if (op.Syntax.IsKind(SyntaxKind.ThrowExpression)) 48var throwExpression = (ThrowExpressionSyntax)op.Syntax;
CallAnalysis\ToInvariantString.cs (1)
51var diagnostic = Diagnostic.Create(DiagDescriptors.ToInvariantString, op.Syntax.GetLocation());
Microsoft.AspNetCore.Analyzers (4)
BuildServiceProviderAnalyzer.cs (1)
33serviceItem.Operation.Syntax.GetLocation(),
UseAuthorizationAnalyzer.cs (2)
51middlewareItem.Operation.Syntax.GetLocation(), 71useAuthorizationItem.Operation.Syntax.GetLocation(),
UseMvcAnalyzer.cs (1)
45middlewareItem.Operation.Syntax.GetLocation(),
Microsoft.AspNetCore.App.Analyzers (21)
Authorization\AddAuthorizationBuilderAnalyzer.cs (1)
62AddDiagnosticInformation(context, invocation.Syntax.GetLocation());
Http\HeaderDictionaryAddAnalyzer.cs (1)
38AddDiagnosticWarning(context, invocation.Syntax.GetLocation());
Http\HeaderDictionaryIndexerAnalyzer.cs (1)
41AddDiagnosticWarning(context, propertyReference.Syntax.GetLocation(), indexerValue, propertyName);
Http\RequestDelegateReturnTypeAnalyzer.cs (2)
40AddDiagnosticWarning(context, methodReference.Syntax.GetLocation(), returnType); 66AddDiagnosticWarning(context, anonymousFunction.Syntax.GetLocation(), returnType);
RenderTreeBuilder\RenderTreeBuilderAnalyzer.cs (3)
43if (!argument.Value.Syntax.IsKind(SyntaxKind.NumericLiteralExpression)) 47argument.Syntax.GetLocation(), 48argument.Syntax.ToString()));
RouteHandlers\DetectMisplacedLambdaAttribute.cs (1)
41var location = lambda.Syntax.GetLocation();
RouteHandlers\DisallowReturningActionResultFromMapMethods.cs (1)
83returnOperation.Syntax.GetLocation(),
RouteHandlers\RouteHandlerAnalyzer.cs (5)
110DisallowReturningActionResultFromMapMethods(in context, wellKnownTypes, invocation, lambda, delegateCreation.Syntax); 140delegateCreation.Syntax); 151delegateCreation.Syntax); 165delegateCreation.Syntax); 184if (argumentOperation?.Syntax is not ArgumentSyntax routePatternArgumentSyntax ||
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
WebApplicationBuilder\WebApplicationBuilderAnalyzer.cs (4)
258var location = operation.Syntax.GetLocation(); 280var methodName = operation.Syntax 301location = Location.Create(operation.Syntax.SyntaxTree, targetSpan); 368var arguments = argument?.Syntax as ArgumentSyntax;
Microsoft.AspNetCore.Components.Analyzers (5)
ComponentParameterUsageAnalyzer.cs (1)
107propertyReference.Syntax.GetLocation(),
InternalUsageAnalyzer.cs (2)
139context.Operation.Syntax.GetLocation(), 149context.Operation.Syntax.GetLocation(),
InvokeAsyncOfObjectAnalyzer.cs (1)
82invocation.Syntax.GetLocation()));
VirtualizeItemComparerAnalyzer.cs (1)
94state.ItemsProviderLocation = invocation.Syntax.GetLocation();
Microsoft.AspNetCore.Components.SdkAnalyzers (3)
ComponentParameterUsageAnalyzer.cs (1)
107propertyReference.Syntax.GetLocation(),
InternalUsageAnalyzer.cs (2)
139context.Operation.Syntax.GetLocation(), 149context.Operation.Syntax.GetLocation(),
Microsoft.AspNetCore.Mvc.Analyzers (5)
AvoidHtmlPartialAnalyzer.cs (2)
33context.Operation.Syntax.GetLocation(), 40context.Operation.Syntax.GetLocation(),
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
TagHelpersInCodeBlocksAnalyzer.cs (1)
88capturedDiagnosticLocations.Add(parent.Syntax.GetLocation());
Microsoft.AspNetCore.Mvc.Api.Analyzers (6)
ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer.cs (3)
114var returnStatementSyntax = returnOperation.Syntax; 117ifOperation.Syntax.GetLocation(), 124ifOperation.Syntax.GetLocation(),
ApiConventionAnalyzer.cs (1)
53var location = actualMetadata.ReturnOperation.ReturnedValue.Syntax.GetLocation();
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.CodeAnalysis (254)
DiagnosticAnalyzer\AnalysisContextInfo.cs (2)
48this(compilation: compilation, operation: operation, symbol: null, file: new SourceOrAdditionalFile(operation.Syntax.SyntaxTree), node: operation.Syntax)
DiagnosticAnalyzer\AnalyzerDriver.cs (1)
2795? operationsToAnalyze.WhereAsArray(operation => analysisScope.ShouldAnalyze(operation.Syntax))
DiagnosticAnalyzer\AnalyzerExecutor.cs (4)
1268diagReporter.FilterSpanForLocalDiagnostics = operation.Syntax.FullSpan; 1643if (operation.Syntax != null && _shouldSkipAnalysisOnGeneratedCode(analyzer) && 1644_isGeneratedCodeLocation(operation.Syntax.SyntaxTree, operation.Syntax.Span, cancellationToken))
DiagnosticAnalyzer\DiagnosticAnalysisContext.cs (3)
1296filterTree: operationBlocks[0].Syntax.SyntaxTree, filterSpan: null, isGeneratedCode: false, cancellationToken) 1440filterTree: operationBlocks[0].Syntax.SyntaxTree, filterSpan: null, isGeneratedCode: false, cancellationToken) 1853FilterTree = operation.Syntax.SyntaxTree;
Operations\ControlFlowGraphBuilder.cs (230)
1421return result ?? MakeInvalidOperation(originalOperation.Syntax, originalOperation.Type, ImmutableArray<IOperation>.Empty); 1681CaptureResultIfNotAlready(operation.Syntax, captureId, result); 1922AddStatement(new FlowCaptureOperation(captureId, operationOpt.Syntax, operationOpt) 2114return PopStackFrame(frame, new SimpleAssignmentOperation(operation.IsRef, PopOperand(), value, null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation))); 2126syntax: operation.Syntax, type: operation.Type, isImplicit: IsImplicit(operation))); 2137operation.Syntax, operation.Type, IsImplicit(operation)); 2148operation.Syntax, operation.Type, IsImplicit(operation)); 2159operation.Syntax, operation.Type, IsImplicit(operation)); 2242semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation))); 2256semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 2268semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 2394AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedRight))); 2400AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft))); 2412semanticModel: null, operand.Syntax, operand.Type, constantValue: null, isImplicit: true); 2444AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, new LiteralOperation(semanticModel: null, left.Syntax, booleanType, constantValue, isImplicit: true))); 2453AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, condition)); 2460condition = new FlowCaptureReferenceOperation(resultId, binOp.Syntax, booleanType, constantValue: null); 2463semanticModel: null, binOp.Syntax, binOp.Type, binOp.GetConstantValue(), isImplicit: true); 2469semanticModel: null, operand.Syntax, type, constantValue, isImplicit: true); 2515semanticModel: null, condition.Syntax, booleanType, constantValue: null, isImplicit: true); 2540AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, resultFromLeft)); 2548AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, 2559binOp.Syntax, 2618semanticModel: null, condition.Syntax, unaryOperatorMethod.ReturnType, constantValue: null, isImplicit: true); 2629AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft))); 2638AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, 2649binOp.Syntax, 2691CaptureResultIfNotAlready(condition.RightOperand.Syntax, captureId, resultFromRight); 2703SyntaxNode leftSyntax = (lazyFallThrough.GetSingletonPredecessorOrDefault() != null ? condition.LeftOperand : condition).Syntax; 2749lastUnary.OperatorMethod, lastUnary.ConstrainedToType, semanticModel: null, lastUnary.Syntax, 2752operatorMethod: null, constrainedToType: null, semanticModel: null, condition.Syntax, 2997SyntaxNode valueSyntax = operationValue.Syntax; 3088AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Value.Syntax, convertedTestExpression)); 3131AddStatement(new FlowCaptureOperation(valueCaptureId, locationCapture.Syntax, locationCapture)); 3195operation.Target.Syntax, 3210operation.Syntax, 3229AddStatement(new FlowCaptureOperation(intermediateValueCaptureId, whenNullValue.Syntax, whenNullValue)); 3234operation.Syntax, 3244syntax: operation.Syntax, 3262AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, OperationCloner.CloneOperation(valueCapture))); 3278operation.Syntax, operation.Type, constantValue: operation.GetConstantValue(), isImplicit: true); 3286AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, whenNullAssignment)); 3301semanticModel: null, child.Syntax, type, 3328return new IsNullOperation(operand.Syntax, operand, 3354ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, value.Syntax, 3427result = new ExpressionStatementOperation(result, semanticModel: null, expressionStatement.Syntax, 3443AddStatement(new FlowCaptureOperation(resultCaptureId, currentConditionalAccess.WhenNotNull.Syntax, 3448CaptureResultIfNotAlready(currentConditionalAccess.WhenNotNull.Syntax, resultCaptureId, 3462SyntaxNode defaultValueSyntax = (operation.Operation == testExpression ? testExpression : operation).Syntax; 3540SyntaxNode testExpressionSyntax = testExpression.Syntax; 3580return FinishVisitingStatement(operation, new ExpressionStatementOperation(underlying, semanticModel: null, operation.Syntax, IsImplicit(operation))); 3800SyntaxNode syntax = exceptionDeclarationOrExpression.Syntax; 3845AddStatement(new ReturnOperation(returnedValue, OperationKind.YieldReturn, semanticModel: null, operation.Syntax, IsImplicit(operation))); 3942return new NoneOperation(children: ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, constantValue: null, isImplicit: true, type: null); 4030processResource(new LocalReferenceOperation(localSymbol, isDeclaration: false, semanticModel: null, declarator.Syntax, localSymbol.Type, 4092AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource)); 4140AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource)); 4201args, semanticModel: null, value.Syntax, 4206return new AwaitOperation(invocation, semanticModel: null, value.Syntax, _compilation.GetSpecialType(SpecialType.System_Void), isImplicit: true); 4226semanticModel: null, operand.Syntax, iDisposable, constantValue, isImplicit: true); 4258syntax: lockObject.Syntax, 4274operation.Syntax, 4361lockedValue.Syntax, 4363semanticModel: null, lockedValue.Syntax, 4379lockTaken = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: true, semanticModel: null, lockedValue.Syntax, 4389lockedValue.Syntax, 4397lockedValue.Syntax, 4399semanticModel: null, lockedValue.Syntax, 4420IOperation condition = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: false, semanticModel: null, lockedValue.Syntax, 4444lockedValue.Syntax, 4446semanticModel: null, lockedValue.Syntax, 4575operand.Syntax, targetType, constantValue: null, isImplicit: true); 4596AddStatement(new FlowCaptureOperation(localCopyCaptureId, operation.Collection.Syntax, collection)); 4598collection = new FlowCaptureReferenceOperation(localCopyCaptureId, operation.Collection.Syntax, collection.Type, constantValue: null); 4604IOperation invocation = makeInvocation(operation.Collection.Syntax, 4610AddStatement(new FlowCaptureOperation(enumeratorCaptureId, operation.Collection.Syntax, invocation)); 4612result = new FlowCaptureReferenceOperation(enumeratorCaptureId, operation.Collection.Syntax, info.GetEnumeratorMethod.ReturnType, constantValue: null); 4618result = new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Collection.Syntax, 4633return new AwaitOperation(moveNext, semanticModel: null, operation.Syntax, _compilation.GetSpecialType(SpecialType.System_Boolean), isImplicit: true); 4655operation.LoopControlVariable.Syntax, 4678declarator.Syntax, 4684declarator.Syntax, 4695operation.LoopControlVariable.Syntax, operation.LoopControlVariable.Type, 4700current, semanticModel: null, operation.LoopControlVariable.Syntax, 4708return makeInvocation(instance.Syntax, method, method.IsStatic ? null : instance, arguments); 4796operation.LoopControlVariable.Syntax, loopObject.Type, 4813return MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, builder.ToImmutableAndFree()); 4838semanticModel: null, isInitialization ? value.Syntax : syntax, isImplicit: true); 4845semanticModel: null, operation.LimitValue.Syntax, method.ReturnType, 4884IOperation condition = tryCallObjectForLoopControlHelper(operation.LoopControlVariable.Syntax, 4959isUp = new LiteralOperation(semanticModel: null, stepValue.Syntax, booleanType, constantValue: ConstantValue.Create(false), isImplicit: true); 4961AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp)); 4967IOperation literal = new LiteralOperation(semanticModel: null, stepValue.Syntax, stepValue.Type, 4981stepValue.Syntax, 4986AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp)); 5003semanticModel: null, operation.InitialValue.Syntax, type: null, 5039IOperation condition = tryCallObjectForLoopControlHelper(operation.LimitValue.Syntax, 5135operation.LimitValue.Syntax, 5150condition = MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, PopOperand(), limitReference); 5172operation.StepValue.Syntax, 5213operation.LimitValue.Syntax, 5233operation.LimitValue.Syntax, 5254var shiftConst = new LiteralOperation(semanticModel: null, operand.Syntax, _compilation.GetSpecialType(SpecialType.System_Int32), 5267operand.Syntax, 5282operand.Syntax, 5320controlVariableReferenceForAssignment.Syntax, 5355operation.StepValue.Syntax, 5371controlVariableReferenceForAssignment.Syntax, 5376controlVariableReferenceForAssignment.Syntax, 5406operation.StepValue.Syntax, 5423controlVariableReferenceForAssignment.Syntax, 5443declarator.Syntax, local.Type, constantValue: null, isImplicit: true); 5457return new FlowCaptureReferenceOperation(id, underlying.Syntax, underlying.Type, underlying.GetConstantValue()); 5600compareWith.Syntax, 5621patternClause.Pattern.Syntax, booleanType, isImplicit: true); 5844var initializationSemaphore = new StaticLocalInitializationSemaphoreOperation(localSymbol, declarator.Syntax, booleanType); 5858assignmentSyntax = declarator.Syntax; 5864assignmentSyntax = declaration.Syntax; 5869declaration.Syntax, 5887var localRef = new LocalReferenceOperation(localSymbol, isDeclaration: true, semanticModel: null, declarator.Syntax, localSymbol.Type, constantValue: null, isImplicit: true); 5944return new InvocationOperation(operation.TargetMethod, operation.ConstrainedToType, visitedInstance, operation.IsVirtual, visitedArguments, semanticModel: null, operation.Syntax, 5954return new FunctionPointerInvocationOperation(visitedPointer, visitedArguments, semanticModel: null, operation.Syntax, 5987IOperation initializedInstance = new NoPiaObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 5999operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 6007var initializedInstance = new TypeParameterObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6020hasDynamicArguments.ArgumentRefKinds, semanticModel: null, operation.Syntax, 6107result = new SimpleAssignmentOperation(assignmentOperation.IsRef, left, right, semanticModel: null, assignmentOperation.Syntax, 6245fieldReference.Syntax, fieldReference.Type, fieldReference.GetConstantValue(), IsImplicit(fieldReference)); 6249return new EventReferenceOperation(eventReference.Event, eventReference.ConstrainedToType, instance, semanticModel: null, eventReference.Syntax, 6255return new PropertyReferenceOperation(propertyReference.Property, propertyReference.ConstrainedToType, propertyArguments, instance, semanticModel: null, propertyReference.Syntax, 6261return new ArrayElementReferenceOperation(instance, indices, semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget)); 6268semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget)); 6280dynamicReference.ContainingType, semanticModel: null, dynamicReference.Syntax, 6371return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty); 6377return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty); 6385operation.Syntax, operation.Type, IsImplicit(operation)); 6410propertyReference.Instance.Syntax, propertyReference.Instance.Type, IsImplicit(propertyReference.Instance)); 6412semanticModel: null, propertyReference.Syntax, propertyReference.Type, IsImplicit(propertyReference)); 6415semanticModel: null, simpleAssignment.Syntax, simpleAssignment.Type, simpleAssignment.GetConstantValue(), IsImplicit(simpleAssignment)); 6429operation.Syntax, operation.Type, IsImplicit(operation)); 6503operation.Syntax, operation.Type, IsImplicit(operation)); 6549return new ArrayInitializerOperation(builder.ToImmutableAndFree(), semanticModel: null, initializer.Syntax, IsImplicit(initializer)); 6589spread.Syntax, 6603operation.Syntax, 6629return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty); 6634return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.HandlerPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue()); 6637return new InstanceReferenceOperation(operation.ReferenceKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6666dynamicMemberReference.ContainingType, semanticModel: null, dynamicMemberReference.Syntax, dynamicMemberReference.Type, IsImplicit(dynamicMemberReference)); 6675((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6686((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6692operation.ContainingType, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6698return new DeconstructionAssignmentOperation(visitedTarget, visitedValue, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6736return new TupleOperation(elementBuilder.ToImmutableAndFree(), tuple.NaturalType, semanticModel: null, tuple.Syntax, tuple.Type, IsImplicit(tuple)); 6746return new DeclarationExpressionOperation(VisitPreservingTupleOperations(operation.Expression), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 6794return new NoneOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 6800new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation))); 6876ConditionalBranch(new FlowCaptureReferenceOperation(outParameterFlowCapture, outParameterPlaceholder.Syntax, outParameterPlaceholder.Type, constantValue: null), jumpIfTrue: false, resultBlock); 6923return new FlowCaptureReferenceOperation(handlerCaptureId, operation.Syntax, operation.Type, operation.GetConstantValue()); 7004return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.OutPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue(), isInitialization: true); 7018return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true); 7032return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true); 7102rewrittenElement = new InterpolationOperation(rewrittenExpression, rewrittenAlignment, rewrittenFormatString, semanticModel: null, element.Syntax, IsImplicit(element)); 7107rewrittenElement = new InterpolatedStringTextOperation(rewrittenInterpolationText, semanticModel: null, element.Syntax, IsImplicit(element)); 7119return new InterpolatedStringOperation(partsBuilder.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7135return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7140return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7145return new Utf8StringOperation(operation.Value, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7150return new LocalReferenceOperation(operation.Local, operation.IsDeclaration, semanticModel: null, operation.Syntax, 7156return new ParameterReferenceOperation(operation.Parameter, semanticModel: null, operation.Syntax, 7164operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7171operation.Syntax, operation.Type, IsImplicit(operation)); 7191return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty); 7200operation.Syntax, operation.Type, IsImplicit(operation)); 7207operation.Syntax, operation.Type, IsImplicit(operation)); 7212return new TypeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7217return new ParenthesizedOperation(VisitRequired(operation.Operand), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7222return new AwaitOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7227return new SizeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7232return new StopOperation(semanticModel: null, operation.Syntax, IsImplicit(operation)); 7237return new IsTypeOperation(VisitRequired(operation.ValueOperand), operation.TypeOperand, operation.IsNegated, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7245operation.Syntax, operation.Parameter.Type, isImplicit: true); 7259operation.Syntax, fieldSymbol.ContainingType, isImplicit: true); 7261operation.Syntax, fieldSymbol.Type, constantValue: null, isImplicit: true); 7277operation.Syntax, propertySymbol.ContainingType, isImplicit: true); 7287operation.Syntax, parameter.Type, constantValue: null, isImplicit: true); 7291semanticModel: null, operation.Syntax, isImplicit: true); 7303semanticModel: null, operation.Syntax, propertySymbol.Type, isImplicit: true); 7316initializer.Syntax, rewrittenTarget.Type, constantValue: null, isImplicit: true); 7344semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference)); 7357operation.Syntax, operation.Type, IsImplicit(operation)); 7390semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference)); 7394operation.Syntax, IsImplicit(operation))); 7399return new AddressOfOperation(VisitRequired(operation.Reference), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7406operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7411return new DiscardOperation(operation.DiscardSymbol, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7416return new DiscardPatternOperation(pat.InputType, pat.NarrowedType, semanticModel: null, pat.Syntax, IsImplicit(pat)); 7421return new OmittedArgumentOperation(semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7455return new PlaceholderOperation(operation.PlaceholderKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7461return new CollectionExpressionElementsPlaceholderOperation(semanticModel: null, operation.Syntax, operation.Type, operation.IsImplicit); 7466return new ConversionOperation(VisitRequired(operation.Operand), ((ConversionOperation)operation).ConversionConvertible, operation.IsTryCast, operation.IsChecked, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7471return new DefaultValueOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)); 7482operation.Syntax, operation.Type, IsImplicit(operation)); 7514IOperation initializedInstance = new InvalidOperation(children.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type, 7538return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(invalidOperation)); 7545invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(operation))); 7564semanticModel: null, operation.Syntax, isImplicit); 7576return new ReDimClauseOperation(visitedOperand, visitedDimensionSizes, semanticModel: null, clause.Syntax, IsImplicit(clause)); 7587return new TranslatedQueryOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7593syntax: operation.Syntax, isImplicit: IsImplicit(operation)); 7604syntax: operation.Syntax, 7644syntax: operation.Syntax, 7656syntax: operation.Syntax, 7667syntax: operation.Syntax, 7680operation.Syntax, 7692operation.Syntax, 7706operation.Syntax, 7721operation.Syntax, 7731syntax: operation.Syntax, 7738operation.Syntax, operation.Type, IsImplicit(operation)); 7756return new RangeOperation(visitedLeftOperand, visitedRightOperand, operation.IsLifted, operation.Method, semanticModel: null, operation.Syntax, operation.Type, isImplicit: IsImplicit(operation)); 7802arm.Syntax, booleanType, IsImplicit(arm)); 7837? MakeInvalidOperation(operation.Syntax, type: _compilation.GetSpecialType(SpecialType.System_Object), ImmutableArray<IOperation>.Empty) 7839matchFailureCtor, initializer: null, ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, operation.Syntax, 7875BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax); 7978semanticModel: null, operation.Syntax, operation.Type, isImplicit: true); 8054var valueCaptureRef = new FlowCaptureReferenceOperation(valueCaptureId, operation.Operand.Syntax, 8075var oldInstance = new FlowCaptureReferenceOperation(oldValueCaptureId, operation.Operand.Syntax, 8085var extraValueCaptureRef = new FlowCaptureReferenceOperation(extraValueCaptureId, operation.Operand.Syntax, 8139return new AttributeOperation(Visit(operation.Operation, captureIdForResult)!, semanticModel: null, operation.Syntax, IsImplicit(operation));
Operations\OperationCloner.cs (5)
21return new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit); 32return new DynamicObjectCreationOperation(Visit(operation.Initializer), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit); 37return new DynamicInvocationOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit); 42return new DynamicIndexerAccessOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit); 47return new InvalidOperation(VisitArray(((InvalidOperation)operation).Children), ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit);
Operations\OperationExtensions.cs (4)
41if (operation.Syntax == null) 51if (model is null || model.SyntaxTree != operation.Syntax.SyntaxTree) 53model = compilation.GetSemanticModel(operation.Syntax.SyntaxTree); 63return model.GetDiagnostics(operation.Syntax.Span, cancellationToken).Any(static d => d.DefaultSeverity == DiagnosticSeverity.Error);
Operations\OperationMapBuilder.cs (4)
113!argument.ContainsKey(operation.Syntax), 114$"Duplicate operation node for {operation.Syntax}. Existing node is {(argument.TryGetValue(operation.Syntax, out var original) ? (OperationKind?)original.Kind : null)}, new node is {operation.Kind}."); 115argument.Add(operation.Syntax, operation);
Operations\OperationNodes.cs (1)
156base(semanticModel: null, original.Syntax, isImplicit)
Microsoft.CodeAnalysis.Analyzers (64)
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (2)
163context.ReportDiagnostic(binary.Syntax.GetLocation().CreateDiagnostic(s_equalityRule, s_EqualityRuleProperties)); 195context.ReportDiagnostic(invocationOperation.Syntax.GetLocation().CreateDiagnostic(s_equalityRule, s_EqualityRuleProperties));
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (6)
898fieldReferenceOperation.Syntax.SyntaxTree == argumentValueOperation.Syntax.SyntaxTree && 901fieldDeclaration.SyntaxTree == argumentValueOperation.Syntax.SyntaxTree && 918valueLocation = valueOperation.Syntax.GetLocation(); 1213var location = argument.Value.Syntax.GetLocation(); 1252operationAnalysisContext.ReportDiagnostic(argument.Value.Syntax.CreateDiagnostic(DoNotUseReservedDiagnosticIdRule, ruleId));
MetaAnalyzers\DoNotUseCompilationGetSemanticModelAnalyzer.cs (1)
68operationContext.ReportDiagnostic(invocation.Syntax.CreateDiagnostic(Rule));
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (12)
97document, objectCreation.Syntax, objectCreation.Constructor, objectCreation.Arguments, isUsedAsExtensionMethod: false, 103document, invocation.Syntax, invocation.TargetMethod, invocation.Arguments, IsExtensionMethodUsedAsSuch(invocation), 129var syntaxArguments = arguments.Skip(extensionMethodShift).Select(x => x.Syntax).ToList(); 205conditionalAccessMembers.Add(conditionalAccess.Operation.Syntax); 211var nodeToReplace = currentOperation.Syntax; 220var arguments = invocationOperation.Arguments.Select(argument => argument.Syntax); 229return new[] { instance.Syntax }.Concat(arguments); 259var expression = binaryOperation.Syntax; 268binaryOperation.LeftOperand.Syntax.WithoutLeadingTrivia(), 269binaryOperation.RightOperand.Syntax.WithoutTrailingTrivia()), 276binaryOperation.LeftOperand.Syntax.WithoutLeadingTrivia(), 277binaryOperation.RightOperand.Syntax.WithoutTrailingTrivia())
MetaAnalyzers\Fixers\DefineDiagnosticDescriptorArgumentsCorrectlyFix.cs (2)
166var newLiteral = generator.LiteralExpression(fixInfo.FixValue).WithTriviaFrom(literal.Syntax); 167var newRoot = root.ReplaceNode(literal.Syntax, newLiteral);
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (18)
92VerifySymbol(context.ReportDiagnostic, objectCreation.Constructor, context.Operation.Syntax); 93VerifyType(context.ReportDiagnostic, objectCreation.Type, context.Operation.Syntax); 97VerifySymbol(context.ReportDiagnostic, invocation.TargetMethod, context.Operation.Syntax); 98VerifyType(context.ReportDiagnostic, invocation.TargetMethod.ContainingType, context.Operation.Syntax); 102VerifySymbol(context.ReportDiagnostic, memberReference.Member, context.Operation.Syntax); 103VerifyType(context.ReportDiagnostic, memberReference.Member.ContainingType, context.Operation.Syntax); 107VerifyType(context.ReportDiagnostic, arrayCreation.Type, context.Operation.Syntax); 111VerifyType(context.ReportDiagnostic, addressOf.Type, context.Operation.Syntax); 117VerifySymbol(context.ReportDiagnostic, conversion.OperatorMethod, context.Operation.Syntax); 118VerifyType(context.ReportDiagnostic, conversion.OperatorMethod.ContainingType, context.Operation.Syntax); 126VerifySymbol(context.ReportDiagnostic, unary.OperatorMethod, context.Operation.Syntax); 127VerifyType(context.ReportDiagnostic, unary.OperatorMethod.ContainingType, context.Operation.Syntax); 135VerifySymbol(context.ReportDiagnostic, binary.OperatorMethod, context.Operation.Syntax); 136VerifyType(context.ReportDiagnostic, binary.OperatorMethod.ContainingType, context.Operation.Syntax); 144VerifySymbol(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod, context.Operation.Syntax); 145VerifyType(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod.ContainingType, context.Operation.Syntax); 150VerifyType(context.ReportDiagnostic, typeOfOperation.TypeOperand, context.Operation.Syntax); 249=> !ShouldAnalyzeInTree(context.Operation.Syntax.SyntaxTree, context.IsGeneratedCode, context.CancellationToken);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\DoNotCatchGeneralUnlessRethrown.cs (1)
82operationBlockAnalysisContext.ReportDiagnostic(CreateDiagnostic(method, catchClause.Syntax.GetFirstToken()));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (2)
57return operation.Syntax.CreateDiagnostic(rule, properties, args); 67return operation.Syntax.CreateDiagnostic(rule, additionalLocations, properties, args);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
33GetReceiverType(invocation.Instance.Syntax, compilation, cancellationToken) : 42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 196return operation.GetAncestor(OperationKind.ConditionalAccess, (IConditionalAccessOperation c) => c.Operation.Syntax == operation.Syntax); 224if (current.Syntax == operation.Syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (2)
176return statement.Syntax; 181return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (8)
43semanticFacts, semanticModel, rootOperation, declaredSymbol, rootOperation.Syntax.Span, includeDeclaration: true, cancellationToken) == true; 67if (!span.IntersectsWith(operation.Syntax.Span)) 70if (span.Contains(operation.Syntax.Span) && 76assignmentOperation.Syntax.RawKind == semanticFacts.SyntaxFacts.SyntaxKinds.SimpleAssignmentExpression) 83var typeInfo = semanticModel.GetTypeInfo(assignmentOperation.Value.Syntax, cancellationToken); 99var foreachInfo = semanticFacts.GetForEachSymbols(semanticModel, forEachLoop.Syntax); 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax; 120var typeInfo = semanticModel.GetTypeInfo(operation.Syntax, cancellationToken);
Microsoft.CodeAnalysis.AnalyzerUtilities (40)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\DoNotCatchGeneralUnlessRethrown.cs (1)
82operationBlockAnalysisContext.ReportDiagnostic(CreateDiagnostic(method, catchClause.Syntax.GetFirstToken()));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (2)
57return operation.Syntax.CreateDiagnostic(rule, properties, args); 67return operation.Syntax.CreateDiagnostic(rule, additionalLocations, properties, args);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
33GetReceiverType(invocation.Instance.Syntax, compilation, cancellationToken) : 42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 196return operation.GetAncestor(OperationKind.ConditionalAccess, (IConditionalAccessOperation c) => c.Operation.Syntax == operation.Syntax); 224if (current.Syntax == operation.Syntax)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowGraphExtensions.cs (1)
28if (cfg.OriginalOperation.Syntax.GetDiagnostics().Any(d => d.DefaultSeverity == DiagnosticSeverity.Error) ||
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.cs (3)
51var performCopyAnalysis = analyzerOptions.GetCopyAnalysisOption(rule, topmostBlock.Syntax.SyntaxTree, compilation, defaultValue: false); 52var nullCheckValidationMethods = analyzerOptions.GetNullCheckValidationMethodsOption(rule, topmostBlock.Syntax.SyntaxTree, compilation); 53var pointsToAnalysisKind = analyzerOptions.GetPointsToAnalysisKindOption(rule, topmostBlock.Syntax.SyntaxTree, compilation, defaultPointsToAnalysisKind);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
184HandleHazardousOperation(operation.Syntax, nonValidatedLocations);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (6)
203operation.Syntax, 399assignmentOperation.Syntax, 423assignmentOperation.Syntax, 468visitedArgument.Value.Syntax, 492originalOperation.Syntax, 661returnValue.Syntax,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (6)
237return TaintedDataAbstractValue.CreateTainted(propertyReferenceOperation.Member, propertyReferenceOperation.Syntax, this.OwningSymbol); 324this.CacheAbstractValue(argumentOperation, TaintedDataAbstractValue.CreateTainted(argumentOperation.Parameter, argumentOperation.Syntax, method)); 333result = TaintedDataAbstractValue.CreateTainted(method, originalOperation.Syntax, this.OwningSymbol); 509TaintedDataAbstractValue taintedDataAbstractValue = TaintedDataAbstractValue.CreateTainted(arrayTypeSymbol, arrayCreationOperation.Syntax, this.OwningSymbol); 573this.TrackTaintedDataEnteringSink(targetMethod, originalOperation.Syntax.GetLocation(), sinkKinds, abstractValue.SourceOrigins); 609propertyReferenceOperation.Syntax.GetLocation(),
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (3)
70pointsToAnalysisResult[o.Kind, o.Syntax]))); 93arguments.SelectAsArray(o => pointsToAnalysisResult[o.Kind, o.Syntax]), 94arguments.SelectAsArray(o => valueContentAnalysisResult[o.Kind, o.Syntax])));
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (2)
151return Creation?.Syntax; 188return operation.Syntax;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntity.cs (1)
76: this(symbol: null, indices: ImmutableArray<AbstractIndex>.Empty, instanceReferenceOperationSyntax: instanceReferenceOperation.Syntax,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (1)
130if (kvp.Key.Kind == operationKind && kvp.Key.Syntax == syntax)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
1302Debug.Fail($"Unexpected 'null' target type for '{operation.Syntax}'");
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\InterproceduralAnalysisConfiguration.cs (2)
49=> Create(analyzerOptions, rule, cfg.OriginalOperation.Syntax.SyntaxTree, compilation, defaultInterproceduralAnalysisKind, 101var tree = operation.Syntax.SyntaxTree;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.CodeAnalysis.CodeStyle (63)
src\roslyn\src\Analyzers\Core\Analyzers\AnalyzerOptionsProvider.cs (1)
100=> GetAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree);
src\roslyn\src\Analyzers\Core\Analyzers\ConvertTypeofToNameof\AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
34var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchDiagnosticAnalyzer.cs (1)
51if (switchOperation.Syntax is not TSwitchSyntax switchBlock || IsSwitchTypeUnknown(switchOperation))
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
95if (!CanMemberAccessBeQualified(context.ContainingSymbol, instanceOperation.Syntax)) 103if (instanceOperation.Syntax is not TSimpleNameSyntax simpleName)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
34var syntax = context.Operation.Syntax; 56var syntax = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs (1)
112reportDiagnostic(Diagnostic.Create(LegacyFormatTargetDescriptor, targetValueOperation.Syntax.GetLocation(), properties, targetSymbolString));
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (5)
364var methods = _analyzer.SemanticFacts.GetDeconstructionAssignmentMethods(operation.SemanticModel!, operation.Syntax); 457if (value is null || value.Syntax is null) 465AnalyzeDefaultValueSyntax(semanticModel, value.Syntax, operationContext.CancellationToken); 539var symbols = _analyzer.SemanticFacts.GetForEachSymbols(operation.SemanticModel!, loopOperation.Syntax); 583var symbolInfo = nameofArgument.SemanticModel!.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (7)
99if (!symbolStartAnalyzer._compilationAnalyzer.TryGetOptions(firstBlock.Syntax.SyntaxTree, 116firstBlock.Syntax.SyntaxTree != filterTree) 126var root = firstBlock.Syntax.SyntaxTree.GetRoot(context.CancellationToken); 127var spanStart = firstBlock.Syntax.SpanStart; 140if (operationBlock.Syntax.GetDiagnostics().ToImmutableArrayOrEmpty().HasAnyErrors()) 151if (operationBlock.Syntax.DescendantNodes(descendIntoTrivia: true) 216value.Syntax.GetLocation(),
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
93additionalLocations: [interpolation.Syntax.GetLocation()],
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (8)
93.SelectAsArray(interpolation.Syntax.SyntaxTree.GetLocation); 133!syntaxFacts.IsBaseExpression(instance.Syntax)) 150unnecessarySpans.AddRange(invocation.Syntax.Span 152.Subtract(GetSpanWithinLiteralQuotes(virtualCharService, literal.Syntax.GetFirstToken()))); 165unnecessarySpans.AddRange(invocation.Syntax.Span 178unnecessarySpans.AddRange(invocation.Syntax.Span 289var alignmentSyntax = alignmentOp.Syntax; 295unnecessarySpans.AddRange(invocation.Syntax.Span
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (4)
128if (context.Operation.Syntax.GetDiagnostics().Any(diagnostic => diagnostic.Severity == DiagnosticSeverity.Error)) 151if (nextInvocation.Syntax is not TInvocationExpressionSyntax nextInvocationNode || 190nextInvocation.Syntax.GetLocation(), 208if (invocation.Syntax is not TInvocationExpressionSyntax invocationNode ||
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\AbstractUseConditionalExpressionDiagnosticAnalyzer.cs (1)
41if (ifOperation.Syntax is not TIfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (6)
53!syntaxFacts.AreEquivalent(trueAssignment.Target.Syntax, falseAssignment.Target.Syntax)) 94if (ContainsReference(nullCheckedExpression.Syntax, trueAssignment?.Target.Syntax) || 95ContainsReference(nullCheckedExpression.Syntax, falseAssignment?.Target.Syntax))
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\UseConditionalExpressionHelpers.cs (7)
41if (syntaxFacts.SpansPreprocessorDirective(ifOperation.Syntax, whenFalse.Syntax)) 47if (HasRegularComments(syntaxFacts, whenTrue.Syntax) || 48HasRegularComments(syntaxFacts, whenFalse.Syntax)) 58var whenTrueSymbols = semanticModel.GetAllDeclaredSymbols(whenTrue.Syntax, cancellationToken, n => !syntaxFacts.IsAnonymousOrLocalFunction(n)); 59var whenFalseSymbols = semanticModel.GetAllDeclaredSymbols(whenFalse.Syntax, cancellationToken, n => !syntaxFacts.IsAnonymousOrLocalFunction(n)); 106if (!syntaxFacts.SupportsThrowExpression(anyThrow.Syntax.SyntaxTree.Options))
src\roslyn\src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (1)
57var memberAccessSyntax = fieldReferenceOperation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\UseSystemHashCode\UseSystemHashCodeDiagnosticAnalyzer.cs (2)
72var option = context.Options.GetAnalyzerOptions(operation.Syntax.SyntaxTree).PreferSystemHashCode; 77var operationLocation = operation.Syntax.GetLocation();
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (9)
77var throwStatementSyntax = throwOperation.Syntax; 129ifOperation.Syntax.GetLocation(), 130throwOperation.Exception.Syntax.GetLocation(), 131assignmentExpression.Value.Syntax.GetLocation(), 132expressionStatement.Syntax.GetLocation()); 149statements[ifOperationIndex + 1].Syntax, 150statements[expressionStatementIndex - 1].Syntax); 161var exprDataFlow = semanticModel.AnalyzeDataFlow(assignmentExpression.Target.Syntax); 272var throwStatement = throwOperation.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.CodeAnalysis.CodeStyle.Fixes (24)
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyInterpolation\AbstractSimplifyInterpolationCodeFixProvider.cs (1)
64if (interpolation?.Syntax is TInterpolationSyntax interpolationSyntax &&
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (4)
118trueValue.Syntax, falseValue.Syntax, formattingOptions, cancellationToken).ConfigureAwait(false); 143=> (TExpressionSyntax)operation.Condition.Syntax; 181var sourceSyntax = value.Syntax;
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (7)
109var ifStatement = (TIfStatementSyntax)ifOperation.Syntax; 110var assignment = generator.AssignmentStatement(assignmentOperation.Target.Syntax, conditionalExpression); 115conditionalAccess.Operation.Syntax, 122ifOperation.Syntax, 140var localDeclaration = localDeclarationOperation.Syntax; 154editor.RemoveNode(ifOperation.Syntax, GetRemoveOptions(syntaxFacts, ifOperation.Syntax));
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (2)
90editor.RemoveNode(falseStatement.Syntax, GetRemoveOptions(syntaxFacts, falseStatement.Syntax));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (2)
176return statement.Syntax; 181return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (8)
43semanticFacts, semanticModel, rootOperation, declaredSymbol, rootOperation.Syntax.Span, includeDeclaration: true, cancellationToken) == true; 67if (!span.IntersectsWith(operation.Syntax.Span)) 70if (span.Contains(operation.Syntax.Span) && 76assignmentOperation.Syntax.RawKind == semanticFacts.SyntaxFacts.SyntaxKinds.SimpleAssignmentExpression) 83var typeInfo = semanticModel.GetTypeInfo(assignmentOperation.Value.Syntax, cancellationToken); 99var foreachInfo = semanticFacts.GetForEachSymbols(semanticModel, forEachLoop.Syntax); 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax; 120var typeInfo = semanticModel.GetTypeInfo(operation.Syntax, cancellationToken);
Microsoft.CodeAnalysis.CSharp (6)
Operations\CSharpOperationFactory.cs (3)
1090Debug.Assert(isImplicit || target.Syntax != syntax || target.IsImplicit || boundConversion.ConversionGroupOpt != null); 1092isImplicit = isImplicit || (target.Syntax == syntax && !target.IsImplicit); 2435Debug.Assert(valueOperation.Syntax != part.Syntax);
Operations\CSharpOperationFactory_Methods.cs (3)
40(SyntaxNode syntax, bool isImplicit) = expression.Syntax is { Parent: ArgumentSyntax or AttributeArgumentSyntax } ? (expression.Syntax.Parent, expression.WasCompilerGenerated) : (value.Syntax, true); 446syntax: value.Syntax, 464var assignmentSyntax = value.Syntax?.Parent ?? syntax;
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
MetaAnalyzers\Fixers\CSharpCompareSymbolsCorrectlyFix.cs (1)
23=> ((InvocationExpressionSyntax)invocationOperation.Syntax).Expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle (61)
src\roslyn\src\Analyzers\CSharp\Analyzers\CodeStyle\CSharpAnalyzerOptionsProvider.cs (1)
115=> GetCSharpAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree);
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertTypeofToNameof\CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
23var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (1)
64if (conversionOperation.GetConversion().IsExplicit && conversionOperation.Syntax == castExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (4)
269CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, instanceOperation.Syntax, cancellationToken)) 291if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, fieldReference.Syntax, cancellationToken)) 302if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, propertyReference.Syntax, cancellationToken)) 337if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, operation.Syntax, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (1)
67protected override Location GetLocation(IOperation operation) => operation.Syntax.GetLocation();
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (6)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent; 79!blockOperation.Syntax.IsKind(SyntaxKind.Block); 83switch (unusedDefinition.Syntax) 103if (unusedDefinition.Syntax.Parent is ForEachStatementSyntax forEachStatement && 104forEachStatement.Type == unusedDefinition.Syntax) 109return unusedDefinition.Syntax.GetLocation();
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
21return operation.Syntax switch
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
39if (block.Syntax.Parent is UnsafeStatementSyntax or CheckedStatementSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
175if (subtraction.Syntax is not BinaryExpressionSyntax binaryExpression) 200if (CSharpSemanticFacts.Instance.IsInExpressionTree(semanticModel, instance.Syntax, infoCache.ExpressionOfTType, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (9)
85if (CSharpSemanticFacts.Instance.IsInExpressionTree(semanticModel, operation.Syntax, infoCache.ExpressionOfTType, context.CancellationToken)) 95if (invocation.Syntax is not InvocationExpressionSyntax invocationSyntax || 191if (!CSharpSyntaxFacts.Instance.AreEquivalent(lengthOperation.Syntax, subtraction.RightOperand.Syntax)) 207if (!CSharpSyntaxFacts.Instance.AreEquivalent(startOperation.Syntax, subtraction.RightOperand.Syntax)) 245if (CSharpSyntaxFacts.Instance.AreEquivalent(startOperation.Syntax, subtraction.RightOperand.Syntax)) 307return !invocation.Syntax.IsLeftSideOfAnyAssignExpression() || indexer == null || !IsWriteableIndexer(invocation, indexer);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (2)
47CSharpSyntaxFacts.Instance.AreEquivalent(instance.Syntax, propertyRef.Instance.Syntax);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (3)
60context.Operation.Syntax is not UnaryPatternSyntax) 80Descriptor, context.Operation.Syntax.GetLocation(), notificationOption, context.Options, additionalLocations: null, properties: null)); 88var syntax = operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (3)
154if (!AreEquivalent(target.Syntax, compareTarget.Syntax)) 167if (target.Syntax.DescendantNodesAndSelf().OfType<ArgumentSyntax>().Any(a => a.RefKindKeyword.Kind() is SyntaxKind.RefKeyword))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (9)
18return pattern?.Target.Syntax is ExpressionSyntax ? pattern : null; 49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 61case IIsTypeOperation { Syntax: BinaryExpressionSyntax binaryExpression } op: 64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op: 101ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 106ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right 116ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 118ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
512operation is IParameterReferenceOperation { Syntax: IdentifierNameSyntax parameterName } parameterReference) 574var symbols = semanticModel.LookupSymbols(operation.Syntax.SpanStart, name: parameter.Name);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSystemThreadingLock\CSharpUseSystemThreadingLockDiagnosticAnalyzer.cs (1)
185if (lockOperation.Syntax.ContainsYield())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (10)
81if (arrayCreationOperation.Syntax.Ancestors().OfType<AttributeSyntax>().Any()) 87if (arrayCreationOperation.Syntax.IsInExpressionTree(semanticModel, expressionType, context.CancellationToken)) 100if (arrayCreationOperation.Syntax is ImplicitArrayCreationExpressionSyntax or ArrayCreationExpressionSyntax) 102ReportArrayCreationDiagnostic(context, arrayCreationOperation.Syntax, option.Notification); 104else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..]) 107ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Descendants); 109else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..]) 113ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Ancestors); 123var span = TextSpan.FromBounds(elements[0].Syntax.SpanStart, elements[^1].Syntax.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (3)
279conversionOperation.Syntax == castNode && 1095if (IsExplicitCast(conversionOperation.Syntax)) 1634var argumentSyntax = argument?.Syntax as ArgumentSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
223var argumentOp = invocationOp.Arguments.FirstOrDefault(a => a.Syntax == argument);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (26)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
295? assignment.Syntax as ExpressionSyntax 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 385Value: IOperation { Syntax: ExpressionSyntax syntax }
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (2)
157syntaxEditor.ReplaceNode(instanceReference.Syntax, IdentifierName("@this")); 159else if (instanceReference.Syntax is SimpleNameSyntax name)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
38=> (VariableDeclaratorSyntax)declarator.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (2)
46if (operation.Syntax is IfStatementSyntax { Condition: CheckedExpressionSyntax exp }) 54if (returnOperation.Syntax is ReturnStatementSyntax { Expression: CheckedExpressionSyntax exp })
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
20var throwStatement = (ThrowStatementSyntax)throwOperation.Syntax; 29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (9)
165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 179return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 200var startExpr = (ExpressionSyntax)startOperation.Syntax; 215endExpr = (ExpressionSyntax)endOperation.Syntax; 246return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 251return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 265constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax),
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (2)
84editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 139var governingType = semanticModel.GetTypeInfo(p.Target.Syntax).Type.RemoveNullableIfPresent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
119.Where(a => a.Initializer?.ElementValues.FirstOrDefault()?.Syntax.SpanStart == diagnostic.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
51if (tupleLeft.Syntax is TupleExpressionSyntax tupleLeftSyntax && 52tupleRight.Syntax is TupleExpressionSyntax tupleRightSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (2)
158=> blockStatement?.Syntax is BlockSyntax block 160: blockStatement?.Syntax;
Microsoft.CodeAnalysis.CSharp.Features (92)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (2)
19=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).EndPointIsReachable; 32=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).ExitPoints.Any(static n => n.IsKind(SyntaxKind.BreakStatement));
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (3)
61IReturnOperation { ReturnedValue.Syntax: ExpressionSyntax value } => value, 62IThrowOperation { Exception.Syntax: ExpressionSyntax exception } => ThrowExpression(exception), 124var node = operation.Syntax;
Copilot\CSharpImplementNotImplementedExceptionDiagnosticAnalyzer.cs (3)
58Syntax: var throwSyntax 65throwOperation.Syntax.GetLocation())); 106operation.Syntax.Parent is not ArrowExpressionClauseSyntax { Parent: PropertyDeclarationSyntax })
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (4)
1101if (!ReturnOperationBelongsToMethod(returnOperation.Syntax, methodOperation.Syntax)) 1104var syntax = returnOperation.ReturnedValue?.Syntax ?? returnOperation.Syntax;
ImplementInterface\CSharpImplementExplicitlyCodeRefactoringProvider.cs (1)
137instance.Syntax, (current, g) =>
src\roslyn\src\Analyzers\CSharp\Analyzers\CodeStyle\CSharpAnalyzerOptionsProvider.cs (1)
115=> GetCSharpAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree);
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertTypeofToNameof\CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
23var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (1)
64if (conversionOperation.GetConversion().IsExplicit && conversionOperation.Syntax == castExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (4)
269CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, instanceOperation.Syntax, cancellationToken)) 291if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, fieldReference.Syntax, cancellationToken)) 302if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, propertyReference.Syntax, cancellationToken)) 337if (CSharpSemanticFacts.Instance.IsWrittenTo(semanticModel, operation.Syntax, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (1)
67protected override Location GetLocation(IOperation operation) => operation.Syntax.GetLocation();
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (6)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent; 79!blockOperation.Syntax.IsKind(SyntaxKind.Block); 83switch (unusedDefinition.Syntax) 103if (unusedDefinition.Syntax.Parent is ForEachStatementSyntax forEachStatement && 104forEachStatement.Type == unusedDefinition.Syntax) 109return unusedDefinition.Syntax.GetLocation();
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
21return operation.Syntax switch
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
39if (block.Syntax.Parent is UnsafeStatementSyntax or CheckedStatementSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
175if (subtraction.Syntax is not BinaryExpressionSyntax binaryExpression) 200if (CSharpSemanticFacts.Instance.IsInExpressionTree(semanticModel, instance.Syntax, infoCache.ExpressionOfTType, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (9)
85if (CSharpSemanticFacts.Instance.IsInExpressionTree(semanticModel, operation.Syntax, infoCache.ExpressionOfTType, context.CancellationToken)) 95if (invocation.Syntax is not InvocationExpressionSyntax invocationSyntax || 191if (!CSharpSyntaxFacts.Instance.AreEquivalent(lengthOperation.Syntax, subtraction.RightOperand.Syntax)) 207if (!CSharpSyntaxFacts.Instance.AreEquivalent(startOperation.Syntax, subtraction.RightOperand.Syntax)) 245if (CSharpSyntaxFacts.Instance.AreEquivalent(startOperation.Syntax, subtraction.RightOperand.Syntax)) 307return !invocation.Syntax.IsLeftSideOfAnyAssignExpression() || indexer == null || !IsWriteableIndexer(invocation, indexer);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (2)
47CSharpSyntaxFacts.Instance.AreEquivalent(instance.Syntax, propertyRef.Instance.Syntax);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (3)
60context.Operation.Syntax is not UnaryPatternSyntax) 80Descriptor, context.Operation.Syntax.GetLocation(), notificationOption, context.Options, additionalLocations: null, properties: null)); 88var syntax = operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (3)
154if (!AreEquivalent(target.Syntax, compareTarget.Syntax)) 167if (target.Syntax.DescendantNodesAndSelf().OfType<ArgumentSyntax>().Any(a => a.RefKindKeyword.Kind() is SyntaxKind.RefKeyword))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (9)
18return pattern?.Target.Syntax is ExpressionSyntax ? pattern : null; 49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 61case IIsTypeOperation { Syntax: BinaryExpressionSyntax binaryExpression } op: 64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op: 101ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 106ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right 116ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 118ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
512operation is IParameterReferenceOperation { Syntax: IdentifierNameSyntax parameterName } parameterReference) 574var symbols = semanticModel.LookupSymbols(operation.Syntax.SpanStart, name: parameter.Name);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSystemThreadingLock\CSharpUseSystemThreadingLockDiagnosticAnalyzer.cs (1)
185if (lockOperation.Syntax.ContainsYield())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (10)
81if (arrayCreationOperation.Syntax.Ancestors().OfType<AttributeSyntax>().Any()) 87if (arrayCreationOperation.Syntax.IsInExpressionTree(semanticModel, expressionType, context.CancellationToken)) 100if (arrayCreationOperation.Syntax is ImplicitArrayCreationExpressionSyntax or ArrayCreationExpressionSyntax) 102ReportArrayCreationDiagnostic(context, arrayCreationOperation.Syntax, option.Notification); 104else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..]) 107ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Descendants); 109else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..]) 113ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Ancestors); 123var span = TextSpan.FromBounds(elements[0].Syntax.SpanStart, elements[^1].Syntax.Span.End);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
295? assignment.Syntax as ExpressionSyntax 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 385Value: IOperation { Syntax: ExpressionSyntax syntax }
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (2)
157syntaxEditor.ReplaceNode(instanceReference.Syntax, IdentifierName("@this")); 159else if (instanceReference.Syntax is SimpleNameSyntax name)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
38=> (VariableDeclaratorSyntax)declarator.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (2)
46if (operation.Syntax is IfStatementSyntax { Condition: CheckedExpressionSyntax exp }) 54if (returnOperation.Syntax is ReturnStatementSyntax { Expression: CheckedExpressionSyntax exp })
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
20var throwStatement = (ThrowStatementSyntax)throwOperation.Syntax; 29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (9)
165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 179return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 200var startExpr = (ExpressionSyntax)startOperation.Syntax; 215endExpr = (ExpressionSyntax)endOperation.Syntax; 246return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 251return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 265constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax),
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (2)
84editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 139var governingType = semanticModel.GetTypeInfo(p.Target.Syntax).Type.RemoveNullableIfPresent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
119.Where(a => a.Initializer?.ElementValues.FirstOrDefault()?.Syntax.SpanStart == diagnostic.Location.SourceSpan.Start)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (36)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpUseCrossPlatformIntrinsicsAnalyzer.cs (1)
20if (invocation.Syntax is not InvocationExpressionSyntax)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpDoNotInitializeUnnecessarilyAnalyzer.cs (1)
14=> op.Syntax?.Parent?.RawKind == (int)CodeAnalysis.CSharp.SyntaxKind.SuppressNullableWarningExpression;
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (6)
91InvocationExpressionSyntax syntax = (InvocationExpressionSyntax)operation.Syntax; 105editor.ReplaceNode(syntax, SyntaxFactory.SizeOfExpression(GetTypeOfTypeSyntax((TypeOfExpressionSyntax)typeOf.Syntax))); 116operation.Arguments[1].Value.Syntax)), 117operation.Arguments[0].Value.Syntax)); 163pointer.Syntax); 181pointer.Syntax))));
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.IdentifierGenerator.cs (1)
23_nextIdentifier = FindFirstUnusedIdentifierIndex(model, block.Syntax.SpanStart, "ptr");
Microsoft.NetCore.Analyzers\Performance\CSharpRecommendCaseInsensitiveStringComparisonFixer.cs (7)
25InvocationExpressionSyntax invocationExpression = (InvocationExpressionSyntax)mainInvocationOperation.Syntax; 61SyntaxNode actualArgumentNode = arg.Syntax; 75if (arg.Syntax is ArgumentSyntax argumentExpression) 83else if (arg.Syntax is InvocationExpressionSyntax argumentInvocationExpression) 97newArgumentNode = arg.Syntax; 102newArgumentNode = arg.Syntax; 105arguments.Add(newArgumentNode.WithTriviaFrom(arg.Syntax));
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (2)
79return invocation.Instance!.Syntax; 115if (operation.Syntax is ExpressionSyntax creationSyntax &&
Microsoft.NetCore.Analyzers\Runtime\CSharpDetectPreviewFeatureAnalyzer.cs (1)
21if (operation.Syntax is not AwaitExpressionSyntax awaitSyntax)
Microsoft.NetCore.Analyzers\Runtime\CSharpDoNotUseStackallocInLoops.cs (1)
86if (child.Syntax.SpanStart > node.SpanStart &&
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Analyzer.cs (1)
38(a.Syntax is ArgumentSyntax argumentNode && argumentNode.NameColon != null));
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Fixer.cs (1)
42return argumentOperation.Syntax is ArgumentSyntax argumentNode && argumentNode.NameColon != null;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferStreamAsyncMemoryOverloads.Fixer.cs (8)
23invocation.Syntax is InvocationExpressionSyntax expression) 27if (args[index].Syntax is ArgumentSyntax argNode && argNode.NameColon == null) 29return args[index].Syntax; 32else if (args[index].Syntax is IdentifierNameSyntax identifierNameNode && 43return argOperation.Syntax is ArgumentSyntax argNode && 50return operation.Syntax; 88if (invocation.Syntax is InvocationExpressionSyntax invocationExpression && 95return invocation.Instance!.Syntax;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreventNumericIntPtrUIntPtrBehavioralChanges.cs (1)
23var parent = operation.Parent?.Syntax;
Microsoft.NetCore.Analyzers\Runtime\CSharpUseSpanBasedStringConcat.Fixer.cs (1)
31return argumentOperation.Syntax is ArgumentSyntax argumentSyntax && argumentSyntax.NameColon is not null;
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.cs (1)
39.Select(a => a.Syntax)
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.Fixer.cs (1)
46&& invocationContext.Parent.Syntax is CastExpressionSyntax castExpressionSyntax
Microsoft.NetCore.Analyzers\Usage\CSharpUseVolatileReadWriteFixer.cs (2)
21var argumentSyntax = (ArgumentSyntax)argument.Syntax; 34var argumentSyntax = (ArgumentSyntax)argument.Syntax;
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (3)
279conversionOperation.Syntax == castNode && 1095if (IsExplicitCast(conversionOperation.Syntax)) 1634var argumentSyntax = argument?.Syntax as ArgumentSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
223var argumentOp = invocationOp.Arguments.FirstOrDefault(a => a.Syntax == argument);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
51if (tupleLeft.Syntax is TupleExpressionSyntax tupleLeftSyntax && 52tupleRight.Syntax is TupleExpressionSyntax tupleRightSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (2)
158=> blockStatement?.Syntax is BlockSyntax block 160: blockStatement?.Syntax;
Microsoft.CodeAnalysis.Features (115)
CallHierarchy\AbstractCallHierarchyService.cs (2)
257entry.Locations.Add(operation.Syntax.GetLocation()); 366if (root != null && seenRootSyntaxes.Add(root.Syntax))
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (17)
83sections.Add(new AnalyzedSwitchSection(labels: default, defaultBodyOpt, defaultBodyOpt.Syntax)); 198return new AnalyzedSwitchSection(labels.ToImmutable(), operation.WhenTrue, operation.Syntax); 289ConstantResult.Left when op.LeftOperand.Syntax is TExpressionSyntax left 291ConstantResult.Right when op.RightOperand.Syntax is TExpressionSyntax right 324if (Supports(Feature.CaseGuard) && op.RightOperand.Syntax is TExpressionSyntax node) 334when Supports(Feature.IsTypePattern) && CheckTargetExpression(op.ValueOperand, out _) && op.Syntax is TIsExpressionSyntax node: 338when Supports(Feature.SourcePattern) && CheckTargetExpression(op.Value, out _) && op.Pattern.Syntax is TPatternSyntax pattern: 352ConstantResult.Left when op.LeftOperand.Syntax is TExpressionSyntax left 354ConstantResult.Right when op.RightOperand.Syntax is TExpressionSyntax right 387when CheckTargetExpression(low.Expression, high.Expression) => (low.Value.Syntax, high.Value.Syntax), 389when CheckTargetExpression(low.Expression, high.Expression) => (low.Value.Syntax, high.Value.Syntax), 394=> _syntaxFacts.AreEquivalent(left.Syntax, right.Syntax) && this.CheckTargetExpression(left, out _); 455if (operation.Syntax is not TExpressionSyntax expression) 478return CanImplicitlyConvert(operation.SemanticModel, operation.Syntax, switchTargetType);
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (9)
243var syntax = statement.Syntax; 250syntaxFacts.IsThrowExpression(coalesceExpression.WhenNull.Syntax)) 368if (!CanOffer(blockStatement.Syntax)) 404if (!CanOffer(blockStatement.Syntax)) 448if (!CanOffer(blockStatement.Syntax)) 810return checkStatement.Syntax; 822return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax } 924assignmentExpression.Value.Syntax, 928var newRoot = root.ReplaceNode(assignmentExpression.Value.Syntax, coalesce);
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (2)
374nodesToTrack.Add(blockStatement.Syntax); 396currentBlockStatement = (IBlockOperation?)currentSemanticModel.GetOperation(currentRoot.GetCurrentNode(blockStatement.Syntax)!, cancellationToken);
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (1)
186foreach (var child in condition.Syntax.DescendantNodes().OfType<TExpressionSyntax>())
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (9)
193_syntaxFacts.IsIdentifierName(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 214_syntaxFacts.IsDeclarationExpression(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 238_syntaxFacts.IsLiteralExpression(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 291.WhereAsArray(argument => argument.Value.Syntax is TExpressionSyntax); 356callerSemanticModel.GetSymbolInfo(argument.Value.Syntax, cancellationToken).GetAnySymbol()?.Name)) 379.Where(argument => argument.Value.Syntax is TExpressionSyntax 380&& !_syntaxFacts.IsDeclarationExpression(argument.Value.Syntax)) 514initializer.ElementValues.SelectAsArray(op => op.Syntax))); 524return (TExpressionSyntax)syntaxGenerator.AddParentheses(argumentExpressionOperation.Syntax);
src\roslyn\src\Analyzers\Core\Analyzers\AnalyzerOptionsProvider.cs (1)
100=> GetAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree);
src\roslyn\src\Analyzers\Core\Analyzers\ConvertTypeofToNameof\AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
34var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchDiagnosticAnalyzer.cs (1)
51if (switchOperation.Syntax is not TSwitchSyntax switchBlock || IsSwitchTypeUnknown(switchOperation))
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
95if (!CanMemberAccessBeQualified(context.ContainingSymbol, instanceOperation.Syntax)) 103if (instanceOperation.Syntax is not TSimpleNameSyntax simpleName)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
34var syntax = context.Operation.Syntax; 56var syntax = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs (1)
112reportDiagnostic(Diagnostic.Create(LegacyFormatTargetDescriptor, targetValueOperation.Syntax.GetLocation(), properties, targetSymbolString));
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (5)
364var methods = _analyzer.SemanticFacts.GetDeconstructionAssignmentMethods(operation.SemanticModel!, operation.Syntax); 457if (value is null || value.Syntax is null) 465AnalyzeDefaultValueSyntax(semanticModel, value.Syntax, operationContext.CancellationToken); 539var symbols = _analyzer.SemanticFacts.GetForEachSymbols(operation.SemanticModel!, loopOperation.Syntax); 583var symbolInfo = nameofArgument.SemanticModel!.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (7)
99if (!symbolStartAnalyzer._compilationAnalyzer.TryGetOptions(firstBlock.Syntax.SyntaxTree, 116firstBlock.Syntax.SyntaxTree != filterTree) 126var root = firstBlock.Syntax.SyntaxTree.GetRoot(context.CancellationToken); 127var spanStart = firstBlock.Syntax.SpanStart; 140if (operationBlock.Syntax.GetDiagnostics().ToImmutableArrayOrEmpty().HasAnyErrors()) 151if (operationBlock.Syntax.DescendantNodes(descendIntoTrivia: true) 216value.Syntax.GetLocation(),
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
93additionalLocations: [interpolation.Syntax.GetLocation()],
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (8)
93.SelectAsArray(interpolation.Syntax.SyntaxTree.GetLocation); 133!syntaxFacts.IsBaseExpression(instance.Syntax)) 150unnecessarySpans.AddRange(invocation.Syntax.Span 152.Subtract(GetSpanWithinLiteralQuotes(virtualCharService, literal.Syntax.GetFirstToken()))); 165unnecessarySpans.AddRange(invocation.Syntax.Span 178unnecessarySpans.AddRange(invocation.Syntax.Span 289var alignmentSyntax = alignmentOp.Syntax; 295unnecessarySpans.AddRange(invocation.Syntax.Span
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (4)
128if (context.Operation.Syntax.GetDiagnostics().Any(diagnostic => diagnostic.Severity == DiagnosticSeverity.Error)) 151if (nextInvocation.Syntax is not TInvocationExpressionSyntax nextInvocationNode || 190nextInvocation.Syntax.GetLocation(), 208if (invocation.Syntax is not TInvocationExpressionSyntax invocationNode ||
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\AbstractUseConditionalExpressionDiagnosticAnalyzer.cs (1)
41if (ifOperation.Syntax is not TIfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (6)
53!syntaxFacts.AreEquivalent(trueAssignment.Target.Syntax, falseAssignment.Target.Syntax)) 94if (ContainsReference(nullCheckedExpression.Syntax, trueAssignment?.Target.Syntax) || 95ContainsReference(nullCheckedExpression.Syntax, falseAssignment?.Target.Syntax))
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\UseConditionalExpressionHelpers.cs (7)
41if (syntaxFacts.SpansPreprocessorDirective(ifOperation.Syntax, whenFalse.Syntax)) 47if (HasRegularComments(syntaxFacts, whenTrue.Syntax) || 48HasRegularComments(syntaxFacts, whenFalse.Syntax)) 58var whenTrueSymbols = semanticModel.GetAllDeclaredSymbols(whenTrue.Syntax, cancellationToken, n => !syntaxFacts.IsAnonymousOrLocalFunction(n)); 59var whenFalseSymbols = semanticModel.GetAllDeclaredSymbols(whenFalse.Syntax, cancellationToken, n => !syntaxFacts.IsAnonymousOrLocalFunction(n)); 106if (!syntaxFacts.SupportsThrowExpression(anyThrow.Syntax.SyntaxTree.Options))
src\roslyn\src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (1)
57var memberAccessSyntax = fieldReferenceOperation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\UseSystemHashCode\UseSystemHashCodeDiagnosticAnalyzer.cs (2)
72var option = context.Options.GetAnalyzerOptions(operation.Syntax.SyntaxTree).PreferSystemHashCode; 77var operationLocation = operation.Syntax.GetLocation();
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (9)
77var throwStatementSyntax = throwOperation.Syntax; 129ifOperation.Syntax.GetLocation(), 130throwOperation.Exception.Syntax.GetLocation(), 131assignmentExpression.Value.Syntax.GetLocation(), 132expressionStatement.Syntax.GetLocation()); 149statements[ifOperationIndex + 1].Syntax, 150statements[expressionStatementIndex - 1].Syntax); 161var exprDataFlow = semanticModel.AnalyzeDataFlow(assignmentExpression.Target.Syntax); 272var throwStatement = throwOperation.Syntax;
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyInterpolation\AbstractSimplifyInterpolationCodeFixProvider.cs (1)
64if (interpolation?.Syntax is TInterpolationSyntax interpolationSyntax &&
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (4)
118trueValue.Syntax, falseValue.Syntax, formattingOptions, cancellationToken).ConfigureAwait(false); 143=> (TExpressionSyntax)operation.Condition.Syntax; 181var sourceSyntax = value.Syntax;
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (7)
109var ifStatement = (TIfStatementSyntax)ifOperation.Syntax; 110var assignment = generator.AssignmentStatement(assignmentOperation.Target.Syntax, conditionalExpression); 115conditionalAccess.Operation.Syntax, 122ifOperation.Syntax, 140var localDeclaration = localDeclarationOperation.Syntax; 154editor.RemoveNode(ifOperation.Syntax, GetRemoveOptions(syntaxFacts, ifOperation.Syntax));
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (2)
90editor.RemoveNode(falseStatement.Syntax, GetRemoveOptions(syntaxFacts, falseStatement.Syntax));
ValueTracking\ValueTracker.OperationCollector.cs (2)
80var symbolInfo = semanticModel.GetSymbolInfo(operation.Syntax, cancellationToken); 177operation.Syntax.GetLocation(),
Microsoft.CodeAnalysis.ResxSourceGenerator (13)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\DoNotCatchGeneralUnlessRethrown.cs (1)
82operationBlockAnalysisContext.ReportDiagnostic(CreateDiagnostic(method, catchClause.Syntax.GetFirstToken()));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (2)
57return operation.Syntax.CreateDiagnostic(rule, properties, args); 67return operation.Syntax.CreateDiagnostic(rule, additionalLocations, properties, args);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
33GetReceiverType(invocation.Instance.Syntax, compilation, cancellationToken) : 42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 196return operation.GetAncestor(OperationKind.ConditionalAccess, (IConditionalAccessOperation c) => c.Operation.Syntax == operation.Syntax); 224if (current.Syntax == operation.Syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.CodeAnalysis.VisualBasic (3)
Operations\VisualBasicOperationFactory_Methods.vb (3)
260syntax = value.Syntax 336value.Syntax, 348Dim syntax As SyntaxNode = If(value.Syntax?.Parent, expression.Syntax)
Microsoft.CodeAnalysis.VisualBasic.Analyzers (1)
MetaAnalyzers\Fixers\BasicCompareSymbolsCorrectlyFix.vb (1)
27Dim invocation = DirectCast(invocationOperation.Syntax, InvocationExpressionSyntax)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (6)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\ConvertTypeofToNameof\VisualBasicConvertTypeOfToNameOfDiagnosticAnalyzer.vb (1)
22Dim node = context.Operation.Syntax
src\roslyn\src\Analyzers\VisualBasic\Analyzers\QualifyMemberAccess\VisualBasicQualifyMemberAccessDiagnosticAnalyzer.vb (2)
41Dim unaryExpressionSyntax As UnaryExpressionSyntax = TryCast(operation.Syntax, UnaryExpressionSyntax) 46Return operation.Syntax.GetLocation()
src\roslyn\src\Analyzers\VisualBasic\Analyzers\RemoveUnusedParametersAndValues\VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (2)
50Return TryCast(expressionStatement.Syntax, CallStatementSyntax) IsNot Nothing 75Return unusedDefinition.Syntax.GetLocation()
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyInterpolation\VisualBasicSimplifyInterpolationHelpers.vb (1)
20Return operation.Syntax
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (2)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
46Return DirectCast(declarator.Syntax.Parent, VariableDeclaratorSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\InitializeParameter\InitializeParameterHelpers.vb (1)
45Return GetStatements(blockStatementOpt.Syntax).LastOrDefault()
Microsoft.CodeAnalysis.VisualBasic.Features (10)
ConvertIfToSwitch\VisualBasicConvertIfToSwitchCodeRefactoringProvider.Analyzer.vb (2)
19Dim statements = operation.Syntax.GetStatements() 24Select Case operation.Syntax.Kind
ConvertIfToSwitch\VisualBasicConvertIfToSwitchCodeRefactoringProvider.Rewriting.vb (1)
32Dim node = operation.Syntax
src\roslyn\src\Analyzers\VisualBasic\Analyzers\ConvertTypeofToNameof\VisualBasicConvertTypeOfToNameOfDiagnosticAnalyzer.vb (1)
22Dim node = context.Operation.Syntax
src\roslyn\src\Analyzers\VisualBasic\Analyzers\QualifyMemberAccess\VisualBasicQualifyMemberAccessDiagnosticAnalyzer.vb (2)
41Dim unaryExpressionSyntax As UnaryExpressionSyntax = TryCast(operation.Syntax, UnaryExpressionSyntax) 46Return operation.Syntax.GetLocation()
src\roslyn\src\Analyzers\VisualBasic\Analyzers\RemoveUnusedParametersAndValues\VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (2)
50Return TryCast(expressionStatement.Syntax, CallStatementSyntax) IsNot Nothing 75Return unusedDefinition.Syntax.GetLocation()
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyInterpolation\VisualBasicSimplifyInterpolationHelpers.vb (1)
20Return operation.Syntax
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
46Return DirectCast(declarator.Syntax.Parent, VariableDeclaratorSyntax)
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (14)
Microsoft.NetCore.Analyzers\Performance\BasicRecommendCaseInsensitiveStringComparisonFixer.vb (7)
21Dim invocationExpression As InvocationExpressionSyntax = TryCast(mainInvocationOperation.Syntax, InvocationExpressionSyntax) 62Dim actualArgumentNode As SyntaxNode = arg.Syntax 87Dim argumentExpression As SimpleArgumentSyntax = TryCast(arg.Syntax, SimpleArgumentSyntax) 88Dim argumentInvocationExpression As InvocationExpressionSyntax = TryCast(arg.Syntax, InvocationExpressionSyntax) 121newArgumentNode = arg.Syntax 124newArgumentNode = arg.Syntax 127arguments.Add(newArgumentNode.WithTriviaFrom(arg.Syntax))
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Fixer.vb (1)
41Dim argument As SimpleArgumentSyntax = TryCast(argumentOperation.Syntax, SimpleArgumentSyntax)
Microsoft.NetCore.Analyzers\Runtime\BasicPreferStreamAsyncMemoryOverloads.Fixer.vb (3)
22Dim argNode = TryCast(args(index).Syntax, SimpleArgumentSyntax) 25Return args(index).Syntax 96Return invocation.Instance.Syntax
Microsoft.NetCore.Analyzers\Runtime\BasicUseSpanBasedStringConcat.Fixer.vb (1)
31Dim argumentSyntax = TryCast(argumentOperation.Syntax, ArgumentSyntax)
Microsoft.NetCore.Analyzers\Usage\BasicUseVolatileReadWriteFixer.vb (2)
18Dim argumentSyntax = DirectCast(argument.Syntax, SimpleArgumentSyntax) 28Dim argumentSyntax = DirectCast(argument.Syntax, SimpleArgumentSyntax)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\InitializeParameter\InitializeParameterHelpers.vb (1)
45Return GetStatements(blockStatementOpt.Syntax).LastOrDefault()
Microsoft.CodeAnalysis.Workspaces (14)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (2)
176return statement.Syntax; 181return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (8)
43semanticFacts, semanticModel, rootOperation, declaredSymbol, rootOperation.Syntax.Span, includeDeclaration: true, cancellationToken) == true; 67if (!span.IntersectsWith(operation.Syntax.Span)) 70if (span.Contains(operation.Syntax.Span) && 76assignmentOperation.Syntax.RawKind == semanticFacts.SyntaxFacts.SyntaxKinds.SimpleAssignmentExpression) 83var typeInfo = semanticModel.GetTypeInfo(assignmentOperation.Value.Syntax, cancellationToken); 99var foreachInfo = semanticFacts.GetForEachSymbols(semanticModel, forEachLoop.Syntax); 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax; 120var typeInfo = semanticModel.GetTypeInfo(operation.Syntax, cancellationToken);
Microsoft.Interop.ComInterfaceGenerator (9)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (9)
123operation.TargetMethod.ToMinimalDisplayString(operation.SemanticModel, operation.Syntax.SpanStart), 124targetType.ToMinimalDisplayString(operation.SemanticModel, operation.Syntax.SpanStart))); 163operation.Syntax.GetLocation())); 183operation.Syntax.GetLocation())); 193operation.Syntax.GetLocation())); 202IConversionOperation conversion => (conversion.Operand.Type, conversion.Operand.Syntax.GetLocation()), 203IOperation op => (op.Type, op.Syntax.GetLocation()) 210var invocationSyntax = (InvocationExpressionSyntax)invocation.Syntax; 237ITypeOfOperation typeOf => (typeOf.TypeOperand, ((TypeOfExpressionSyntax)typeOf.Syntax).Type.GetLocation()),
Microsoft.Interop.LibraryImportGenerator (7)
Analyzers\CustomMarshallerAttributeAnalyzer.cs (5)
652DiagnosticReporter managedTypeReporter = DiagnosticReporter.CreateForLocation(managedTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 657DiagnosticReporter managedTypeReporter = DiagnosticReporter.CreateForLocation(((TypeOfExpressionSyntax)managedTypeOfOp.Syntax).Type.GetLocation(), context.ReportDiagnostic); 673DiagnosticReporter marshallerTypeReporter = DiagnosticReporter.CreateForLocation(marshallerTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 678DiagnosticReporter marshallerTypeReporter = DiagnosticReporter.CreateForLocation(((TypeOfExpressionSyntax)marshallerTypeOfOp.Syntax).Type.GetLocation(), context.ReportDiagnostic); 692DiagnosticReporter marshalModeReporter = DiagnosticReporter.CreateForLocation(marshalModeArgument.Syntax.GetLocation(), context.ReportDiagnostic);
Analyzers\NativeMarshallingAttributeAnalyzer.cs (2)
93DiagnosticReporter diagnosticFactory = DiagnosticReporter.CreateForLocation(marshallerEntryPointTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 102DiagnosticReporter.CreateForLocation(((TypeOfExpressionSyntax)typeOfOp.Syntax).Type.GetLocation(), context.ReportDiagnostic),
Roslyn.Diagnostics.Analyzers (29)
AbstractDoNotCopyValue.cs (2)
1569_context.ReportDiagnostic(operation.Syntax.CreateDiagnostic(AvoidNullableWrapperRule, type, operation.Kind)); 1643var node = operation.Syntax;
DoNotCallGetTestAccessor.cs (4)
57context.ReportDiagnostic(memberReference.Syntax.CreateDiagnostic(DoNotCallGetTestAccessorRule)); 67context.ReportDiagnostic(invocation.Syntax.CreateDiagnostic(DoNotCallGetTestAccessorRule)); 72context.ReportDiagnostic(invocation.Syntax.CreateDiagnostic(DoNotCallGetTestAccessorRule)); 82context.ReportDiagnostic(objectCreation.Syntax.CreateDiagnostic(DoNotCallGetTestAccessorRule));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\DoNotCatchGeneralUnlessRethrown.cs (1)
82operationBlockAnalysisContext.ReportDiagnostic(CreateDiagnostic(method, catchClause.Syntax.GetFirstToken()));
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (2)
57return operation.Syntax.CreateDiagnostic(rule, properties, args); 67return operation.Syntax.CreateDiagnostic(rule, additionalLocations, properties, args);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
33GetReceiverType(invocation.Instance.Syntax, compilation, cancellationToken) : 42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 196return operation.GetAncestor(OperationKind.ConditionalAccess, (IConditionalAccessOperation c) => c.Operation.Syntax == operation.Syntax); 224if (current.Syntax == operation.Syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (3)
186=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 192=> operationBlock.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie); 198=> context.Operation.Syntax.FindNode(context.FilterSpan, findInTrivia, getInnermostNodeForTie);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
209var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (2)
176return statement.Syntax; 181return statementIndex > 0 && blockStatement.Operations[statementIndex - 1] is { IsImplicit: false, Syntax: var priorSyntax }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (8)
43semanticFacts, semanticModel, rootOperation, declaredSymbol, rootOperation.Syntax.Span, includeDeclaration: true, cancellationToken) == true; 67if (!span.IntersectsWith(operation.Syntax.Span)) 70if (span.Contains(operation.Syntax.Span) && 76assignmentOperation.Syntax.RawKind == semanticFacts.SyntaxFacts.SyntaxKinds.SimpleAssignmentExpression) 83var typeInfo = semanticModel.GetTypeInfo(assignmentOperation.Value.Syntax, cancellationToken); 99var foreachInfo = semanticFacts.GetForEachSymbols(semanticModel, forEachLoop.Syntax); 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax; 120var typeInfo = semanticModel.GetTypeInfo(operation.Syntax, cancellationToken);
Roslyn.Diagnostics.CSharp.Analyzers (10)
CSharpDoNotCapturePrimaryContructorParameters.cs (1)
60context.ReportDiagnostic(Diagnostic.Create(Rule, operation.Syntax.GetLocation(), operation.Parameter.Name));
CSharpDoNotCopyValue.cs (1)
35if (operation.Syntax is CommonForEachStatementSyntax syntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (3)
279conversionOperation.Syntax == castNode && 1095if (IsExplicitCast(conversionOperation.Syntax)) 1634var argumentSyntax = argument?.Syntax as ArgumentSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
223var argumentOp = invocationOp.Arguments.FirstOrDefault(a => a.Syntax == argument);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
51if (tupleLeft.Syntax is TupleExpressionSyntax tupleLeftSyntax && 52tupleRight.Syntax is TupleExpressionSyntax tupleRightSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (2)
158=> blockStatement?.Syntax is BlockSyntax block 160: blockStatement?.Syntax;
Roslyn.Diagnostics.VisualBasic.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\InitializeParameter\InitializeParameterHelpers.vb (1)
45Return GetStatements(blockStatementOpt.Syntax).LastOrDefault()
System.Private.CoreLib.Generators (5)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (5)
546context.ReportDiagnostic(Diagnostic.Create(RuleAttributeNotSpecificEnough, operation.Syntax.GetLocation(), attributeExplicitlyAllowsRelatedSymbol.ToDisplayString())); 566var ancestorNodes = operation.Syntax.AncestorsAndSelf(true); 613context.ReportDiagnostic(Diagnostic.Create(RuleCantParse, operation.Syntax.GetLocation())); 686context.ReportDiagnostic(Diagnostic.Create(Rule, operation.Syntax.GetLocation(), symbol.ContainingSymbol.ToDisplayString())); 688context.ReportDiagnostic(Diagnostic.Create(RuleHelper, operation.Syntax.GetLocation(), symbol.ToDisplayString()));
System.Text.RegularExpressions.Generator (4)
UpgradeToGeneratedRegexAnalyzer.cs (1)
77SyntaxNode? syntaxNodeForDiagnostic = context.Operation.Syntax;
UpgradeToGeneratedRegexCodeFixer.cs (3)
161select arg.Syntax); 403return argument.Value.Syntax; 425return argument.Syntax;