2 implementations of Syntax
Microsoft.CodeAnalysis (1)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
1379 references to Syntax
Aspire.Hosting.Analyzers (1)
ConfigurationSchemaGenerator (2)
GenerateDocumentationAndConfigFiles (23)
ILLink.RoslynAnalyzer (20)
Metrics (13)
Metrics.Legacy (13)
Microsoft.Analyzers.Extra (21)
Microsoft.Analyzers.Local (5)
Microsoft.AspNetCore.Analyzers (4)
Microsoft.AspNetCore.App.Analyzers (21)
Microsoft.AspNetCore.Components.Analyzers (4)
Microsoft.AspNetCore.Components.SdkAnalyzers (3)
Microsoft.AspNetCore.Http.RequestDelegateGenerator (13)
Microsoft.AspNetCore.Mvc.Analyzers (5)
Microsoft.AspNetCore.Mvc.Api.Analyzers (6)
Microsoft.CodeAnalysis (254)
Operations\ControlFlowGraphBuilder.cs (230)
1413return result ?? MakeInvalidOperation(originalOperation.Syntax, originalOperation.Type, ImmutableArray<IOperation>.Empty);
1673CaptureResultIfNotAlready(operation.Syntax, captureId, result);
1914AddStatement(new FlowCaptureOperation(captureId, operationOpt.Syntax, operationOpt)
2106return PopStackFrame(frame, new SimpleAssignmentOperation(operation.IsRef, PopOperand(), value, null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
2118syntax: operation.Syntax, type: operation.Type, isImplicit: IsImplicit(operation)));
2129operation.Syntax, operation.Type, IsImplicit(operation));
2140operation.Syntax, operation.Type, IsImplicit(operation));
2151operation.Syntax, operation.Type, IsImplicit(operation));
2234semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
2248semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
2260semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
2386AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedRight)));
2392AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft)));
2404semanticModel: null, operand.Syntax, operand.Type, constantValue: null, isImplicit: true);
2436AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, new LiteralOperation(semanticModel: null, left.Syntax, booleanType, constantValue, isImplicit: true)));
2445AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, condition));
2452condition = new FlowCaptureReferenceOperation(resultId, binOp.Syntax, booleanType, constantValue: null);
2455semanticModel: null, binOp.Syntax, binOp.Type, binOp.GetConstantValue(), isImplicit: true);
2461semanticModel: null, operand.Syntax, type, constantValue, isImplicit: true);
2507semanticModel: null, condition.Syntax, booleanType, constantValue: null, isImplicit: true);
2532AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, resultFromLeft));
2540AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax,
2551binOp.Syntax,
2610semanticModel: null, condition.Syntax, unaryOperatorMethod.ReturnType, constantValue: null, isImplicit: true);
2621AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft)));
2630AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax,
2641binOp.Syntax,
2683CaptureResultIfNotAlready(condition.RightOperand.Syntax, captureId, resultFromRight);
2695SyntaxNode leftSyntax = (lazyFallThrough.GetSingletonPredecessorOrDefault() != null ? condition.LeftOperand : condition).Syntax;
2741lastUnary.OperatorMethod, lastUnary.ConstrainedToType, semanticModel: null, lastUnary.Syntax,
2744operatorMethod: null, constrainedToType: null, semanticModel: null, condition.Syntax,
2989SyntaxNode valueSyntax = operationValue.Syntax;
3080AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Value.Syntax, convertedTestExpression));
3123AddStatement(new FlowCaptureOperation(valueCaptureId, locationCapture.Syntax, locationCapture));
3187operation.Target.Syntax,
3202operation.Syntax,
3221AddStatement(new FlowCaptureOperation(intermediateValueCaptureId, whenNullValue.Syntax, whenNullValue));
3226operation.Syntax,
3236syntax: operation.Syntax,
3254AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, OperationCloner.CloneOperation(valueCapture)));
3270operation.Syntax, operation.Type, constantValue: operation.GetConstantValue(), isImplicit: true);
3278AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, whenNullAssignment));
3293semanticModel: null, child.Syntax, type,
3320return new IsNullOperation(operand.Syntax, operand,
3346ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, value.Syntax,
3419result = new ExpressionStatementOperation(result, semanticModel: null, expressionStatement.Syntax,
3435AddStatement(new FlowCaptureOperation(resultCaptureId, currentConditionalAccess.WhenNotNull.Syntax,
3440CaptureResultIfNotAlready(currentConditionalAccess.WhenNotNull.Syntax, resultCaptureId,
3454SyntaxNode defaultValueSyntax = (operation.Operation == testExpression ? testExpression : operation).Syntax;
3532SyntaxNode testExpressionSyntax = testExpression.Syntax;
3572return FinishVisitingStatement(operation, new ExpressionStatementOperation(underlying, semanticModel: null, operation.Syntax, IsImplicit(operation)));
3792SyntaxNode syntax = exceptionDeclarationOrExpression.Syntax;
3837AddStatement(new ReturnOperation(returnedValue, OperationKind.YieldReturn, semanticModel: null, operation.Syntax, IsImplicit(operation)));
3934return new NoneOperation(children: ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, constantValue: null, isImplicit: true, type: null);
4021processResource(new LocalReferenceOperation(localSymbol, isDeclaration: false, semanticModel: null, declarator.Syntax, localSymbol.Type,
4083AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource));
4131AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource));
4192args, semanticModel: null, value.Syntax,
4197return new AwaitOperation(invocation, semanticModel: null, value.Syntax, _compilation.GetSpecialType(SpecialType.System_Void), isImplicit: true);
4217semanticModel: null, operand.Syntax, iDisposable, constantValue, isImplicit: true);
4249syntax: lockObject.Syntax,
4265operation.Syntax,
4352lockedValue.Syntax,
4354semanticModel: null, lockedValue.Syntax,
4370lockTaken = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: true, semanticModel: null, lockedValue.Syntax,
4380lockedValue.Syntax,
4388lockedValue.Syntax,
4390semanticModel: null, lockedValue.Syntax,
4411IOperation condition = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: false, semanticModel: null, lockedValue.Syntax,
4435lockedValue.Syntax,
4437semanticModel: null, lockedValue.Syntax,
4566operand.Syntax, targetType, constantValue: null, isImplicit: true);
4587AddStatement(new FlowCaptureOperation(localCopyCaptureId, operation.Collection.Syntax, collection));
4589collection = new FlowCaptureReferenceOperation(localCopyCaptureId, operation.Collection.Syntax, collection.Type, constantValue: null);
4595IOperation invocation = makeInvocation(operation.Collection.Syntax,
4601AddStatement(new FlowCaptureOperation(enumeratorCaptureId, operation.Collection.Syntax, invocation));
4603result = new FlowCaptureReferenceOperation(enumeratorCaptureId, operation.Collection.Syntax, info.GetEnumeratorMethod.ReturnType, constantValue: null);
4609result = new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Collection.Syntax,
4624return new AwaitOperation(moveNext, semanticModel: null, operation.Syntax, _compilation.GetSpecialType(SpecialType.System_Boolean), isImplicit: true);
4646operation.LoopControlVariable.Syntax,
4669declarator.Syntax,
4675declarator.Syntax,
4686operation.LoopControlVariable.Syntax, operation.LoopControlVariable.Type,
4691current, semanticModel: null, operation.LoopControlVariable.Syntax,
4699return makeInvocation(instance.Syntax, method, method.IsStatic ? null : instance, arguments);
4787operation.LoopControlVariable.Syntax, loopObject.Type,
4804return MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, builder.ToImmutableAndFree());
4829semanticModel: null, isInitialization ? value.Syntax : syntax, isImplicit: true);
4836semanticModel: null, operation.LimitValue.Syntax, method.ReturnType,
4875IOperation condition = tryCallObjectForLoopControlHelper(operation.LoopControlVariable.Syntax,
4950isUp = new LiteralOperation(semanticModel: null, stepValue.Syntax, booleanType, constantValue: ConstantValue.Create(false), isImplicit: true);
4952AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp));
4958IOperation literal = new LiteralOperation(semanticModel: null, stepValue.Syntax, stepValue.Type,
4972stepValue.Syntax,
4977AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp));
4994semanticModel: null, operation.InitialValue.Syntax, type: null,
5030IOperation condition = tryCallObjectForLoopControlHelper(operation.LimitValue.Syntax,
5126operation.LimitValue.Syntax,
5141condition = MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, PopOperand(), limitReference);
5163operation.StepValue.Syntax,
5204operation.LimitValue.Syntax,
5224operation.LimitValue.Syntax,
5245var shiftConst = new LiteralOperation(semanticModel: null, operand.Syntax, _compilation.GetSpecialType(SpecialType.System_Int32),
5258operand.Syntax,
5273operand.Syntax,
5311controlVariableReferenceForAssignment.Syntax,
5346operation.StepValue.Syntax,
5362controlVariableReferenceForAssignment.Syntax,
5367controlVariableReferenceForAssignment.Syntax,
5397operation.StepValue.Syntax,
5414controlVariableReferenceForAssignment.Syntax,
5434declarator.Syntax, local.Type, constantValue: null, isImplicit: true);
5448return new FlowCaptureReferenceOperation(id, underlying.Syntax, underlying.Type, underlying.GetConstantValue());
5591compareWith.Syntax,
5612patternClause.Pattern.Syntax, booleanType, isImplicit: true);
5835var initializationSemaphore = new StaticLocalInitializationSemaphoreOperation(localSymbol, declarator.Syntax, booleanType);
5849assignmentSyntax = declarator.Syntax;
5855assignmentSyntax = declaration.Syntax;
5860declaration.Syntax,
5878var localRef = new LocalReferenceOperation(localSymbol, isDeclaration: true, semanticModel: null, declarator.Syntax, localSymbol.Type, constantValue: null, isImplicit: true);
5935return new InvocationOperation(operation.TargetMethod, operation.ConstrainedToType, visitedInstance, operation.IsVirtual, visitedArguments, semanticModel: null, operation.Syntax,
5945return new FunctionPointerInvocationOperation(visitedPointer, visitedArguments, semanticModel: null, operation.Syntax,
5978IOperation initializedInstance = new NoPiaObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
5990operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
5998var initializedInstance = new TypeParameterObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6011hasDynamicArguments.ArgumentRefKinds, semanticModel: null, operation.Syntax,
6098result = new SimpleAssignmentOperation(assignmentOperation.IsRef, left, right, semanticModel: null, assignmentOperation.Syntax,
6236fieldReference.Syntax, fieldReference.Type, fieldReference.GetConstantValue(), IsImplicit(fieldReference));
6240return new EventReferenceOperation(eventReference.Event, eventReference.ConstrainedToType, instance, semanticModel: null, eventReference.Syntax,
6246return new PropertyReferenceOperation(propertyReference.Property, propertyReference.ConstrainedToType, propertyArguments, instance, semanticModel: null, propertyReference.Syntax,
6252return new ArrayElementReferenceOperation(instance, indices, semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget));
6259semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget));
6271dynamicReference.ContainingType, semanticModel: null, dynamicReference.Syntax,
6362return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6368return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6376operation.Syntax, operation.Type, IsImplicit(operation));
6401propertyReference.Instance.Syntax, propertyReference.Instance.Type, IsImplicit(propertyReference.Instance));
6403semanticModel: null, propertyReference.Syntax, propertyReference.Type, IsImplicit(propertyReference));
6406semanticModel: null, simpleAssignment.Syntax, simpleAssignment.Type, simpleAssignment.GetConstantValue(), IsImplicit(simpleAssignment));
6420operation.Syntax, operation.Type, IsImplicit(operation));
6494operation.Syntax, operation.Type, IsImplicit(operation));
6540return new ArrayInitializerOperation(builder.ToImmutableAndFree(), semanticModel: null, initializer.Syntax, IsImplicit(initializer));
6580spread.Syntax,
6594operation.Syntax,
6620return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6625return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.HandlerPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue());
6628return new InstanceReferenceOperation(operation.ReferenceKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6657dynamicMemberReference.ContainingType, semanticModel: null, dynamicMemberReference.Syntax, dynamicMemberReference.Type, IsImplicit(dynamicMemberReference));
6666((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6677((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6683operation.ContainingType, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6689return new DeconstructionAssignmentOperation(visitedTarget, visitedValue, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6727return new TupleOperation(elementBuilder.ToImmutableAndFree(), tuple.NaturalType, semanticModel: null, tuple.Syntax, tuple.Type, IsImplicit(tuple));
6737return new DeclarationExpressionOperation(VisitPreservingTupleOperations(operation.Expression), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6785return new NoneOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
6791new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
6867ConditionalBranch(new FlowCaptureReferenceOperation(outParameterFlowCapture, outParameterPlaceholder.Syntax, outParameterPlaceholder.Type, constantValue: null), jumpIfTrue: false, resultBlock);
6914return new FlowCaptureReferenceOperation(handlerCaptureId, operation.Syntax, operation.Type, operation.GetConstantValue());
6995return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.OutPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue(), isInitialization: true);
7007return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7020return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7090rewrittenElement = new InterpolationOperation(rewrittenExpression, rewrittenAlignment, rewrittenFormatString, semanticModel: null, element.Syntax, IsImplicit(element));
7095rewrittenElement = new InterpolatedStringTextOperation(rewrittenInterpolationText, semanticModel: null, element.Syntax, IsImplicit(element));
7107return new InterpolatedStringOperation(partsBuilder.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7123return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7128return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7133return new Utf8StringOperation(operation.Value, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7138return new LocalReferenceOperation(operation.Local, operation.IsDeclaration, semanticModel: null, operation.Syntax,
7144return new ParameterReferenceOperation(operation.Parameter, semanticModel: null, operation.Syntax,
7152operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7159operation.Syntax, operation.Type, IsImplicit(operation));
7179return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
7188operation.Syntax, operation.Type, IsImplicit(operation));
7195operation.Syntax, operation.Type, IsImplicit(operation));
7200return new TypeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7205return new ParenthesizedOperation(VisitRequired(operation.Operand), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7210return new AwaitOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7215return new SizeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7220return new StopOperation(semanticModel: null, operation.Syntax, IsImplicit(operation));
7225return new IsTypeOperation(VisitRequired(operation.ValueOperand), operation.TypeOperand, operation.IsNegated, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7233operation.Syntax, operation.Parameter.Type, isImplicit: true);
7247operation.Syntax, fieldSymbol.ContainingType, isImplicit: true);
7249operation.Syntax, fieldSymbol.Type, constantValue: null, isImplicit: true);
7265operation.Syntax, propertySymbol.ContainingType, isImplicit: true);
7275operation.Syntax, parameter.Type, constantValue: null, isImplicit: true);
7279semanticModel: null, operation.Syntax, isImplicit: true);
7291semanticModel: null, operation.Syntax, propertySymbol.Type, isImplicit: true);
7304initializer.Syntax, rewrittenTarget.Type, constantValue: null, isImplicit: true);
7332semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7345operation.Syntax, operation.Type, IsImplicit(operation));
7378semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7382operation.Syntax, IsImplicit(operation)));
7387return new AddressOfOperation(VisitRequired(operation.Reference), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7394operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7399return new DiscardOperation(operation.DiscardSymbol, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7404return new DiscardPatternOperation(pat.InputType, pat.NarrowedType, semanticModel: null, pat.Syntax, IsImplicit(pat));
7409return new OmittedArgumentOperation(semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7443return new PlaceholderOperation(operation.PlaceholderKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7449return new CollectionExpressionElementsPlaceholderOperation(semanticModel: null, operation.Syntax, operation.Type, operation.IsImplicit);
7454return new ConversionOperation(VisitRequired(operation.Operand), ((ConversionOperation)operation).ConversionConvertible, operation.IsTryCast, operation.IsChecked, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7459return new DefaultValueOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7470operation.Syntax, operation.Type, IsImplicit(operation));
7502IOperation initializedInstance = new InvalidOperation(children.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type,
7526return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(invalidOperation));
7533invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(operation)));
7552semanticModel: null, operation.Syntax, isImplicit);
7564return new ReDimClauseOperation(visitedOperand, visitedDimensionSizes, semanticModel: null, clause.Syntax, IsImplicit(clause));
7575return new TranslatedQueryOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7581syntax: operation.Syntax, isImplicit: IsImplicit(operation));
7592syntax: operation.Syntax,
7632syntax: operation.Syntax,
7644syntax: operation.Syntax,
7655syntax: operation.Syntax,
7668operation.Syntax,
7680operation.Syntax,
7694operation.Syntax,
7709operation.Syntax,
7719syntax: operation.Syntax,
7726operation.Syntax, operation.Type, IsImplicit(operation));
7744return new RangeOperation(visitedLeftOperand, visitedRightOperand, operation.IsLifted, operation.Method, semanticModel: null, operation.Syntax, operation.Type, isImplicit: IsImplicit(operation));
7790arm.Syntax, booleanType, IsImplicit(arm));
7825? MakeInvalidOperation(operation.Syntax, type: _compilation.GetSpecialType(SpecialType.System_Object), ImmutableArray<IOperation>.Empty)
7827matchFailureCtor, initializer: null, ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, operation.Syntax,
7863BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax);
7966semanticModel: null, operation.Syntax, operation.Type, isImplicit: true);
8042var valueCaptureRef = new FlowCaptureReferenceOperation(valueCaptureId, operation.Operand.Syntax,
8063var oldInstance = new FlowCaptureReferenceOperation(oldValueCaptureId, operation.Operand.Syntax,
8073var extraValueCaptureRef = new FlowCaptureReferenceOperation(extraValueCaptureId, operation.Operand.Syntax,
8127return 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);
Microsoft.CodeAnalysis.Analyzers (63)
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())
src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (17)
78VerifySymbol(context.ReportDiagnostic, objectCreation.Constructor, context.Operation.Syntax);
79VerifyType(context.ReportDiagnostic, objectCreation.Type, context.Operation.Syntax);
83VerifySymbol(context.ReportDiagnostic, invocation.TargetMethod, context.Operation.Syntax);
84VerifyType(context.ReportDiagnostic, invocation.TargetMethod.ContainingType, context.Operation.Syntax);
88VerifySymbol(context.ReportDiagnostic, memberReference.Member, context.Operation.Syntax);
89VerifyType(context.ReportDiagnostic, memberReference.Member.ContainingType, context.Operation.Syntax);
93VerifyType(context.ReportDiagnostic, arrayCreation.Type, context.Operation.Syntax);
97VerifyType(context.ReportDiagnostic, addressOf.Type, context.Operation.Syntax);
103VerifySymbol(context.ReportDiagnostic, conversion.OperatorMethod, context.Operation.Syntax);
104VerifyType(context.ReportDiagnostic, conversion.OperatorMethod.ContainingType, context.Operation.Syntax);
112VerifySymbol(context.ReportDiagnostic, unary.OperatorMethod, context.Operation.Syntax);
113VerifyType(context.ReportDiagnostic, unary.OperatorMethod.ContainingType, context.Operation.Syntax);
121VerifySymbol(context.ReportDiagnostic, binary.OperatorMethod, context.Operation.Syntax);
122VerifyType(context.ReportDiagnostic, binary.OperatorMethod.ContainingType, context.Operation.Syntax);
130VerifySymbol(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod, context.Operation.Syntax);
131VerifyType(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod.ContainingType, context.Operation.Syntax);
136VerifyType(context.ReportDiagnostic, typeOfOperation.TypeOperand, context.Operation.Syntax);
Microsoft.CodeAnalysis.AnalyzerUtilities (40)
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(),
Microsoft.CodeAnalysis.BannedApiAnalyzers (41)
SymbolIsBannedAnalyzerBase.cs (17)
78VerifySymbol(context.ReportDiagnostic, objectCreation.Constructor, context.Operation.Syntax);
79VerifyType(context.ReportDiagnostic, objectCreation.Type, context.Operation.Syntax);
83VerifySymbol(context.ReportDiagnostic, invocation.TargetMethod, context.Operation.Syntax);
84VerifyType(context.ReportDiagnostic, invocation.TargetMethod.ContainingType, context.Operation.Syntax);
88VerifySymbol(context.ReportDiagnostic, memberReference.Member, context.Operation.Syntax);
89VerifyType(context.ReportDiagnostic, memberReference.Member.ContainingType, context.Operation.Syntax);
93VerifyType(context.ReportDiagnostic, arrayCreation.Type, context.Operation.Syntax);
97VerifyType(context.ReportDiagnostic, addressOf.Type, context.Operation.Syntax);
103VerifySymbol(context.ReportDiagnostic, conversion.OperatorMethod, context.Operation.Syntax);
104VerifyType(context.ReportDiagnostic, conversion.OperatorMethod.ContainingType, context.Operation.Syntax);
112VerifySymbol(context.ReportDiagnostic, unary.OperatorMethod, context.Operation.Syntax);
113VerifyType(context.ReportDiagnostic, unary.OperatorMethod.ContainingType, context.Operation.Syntax);
121VerifySymbol(context.ReportDiagnostic, binary.OperatorMethod, context.Operation.Syntax);
122VerifyType(context.ReportDiagnostic, binary.OperatorMethod.ContainingType, context.Operation.Syntax);
130VerifySymbol(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod, context.Operation.Syntax);
131VerifyType(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod.ContainingType, context.Operation.Syntax);
136VerifyType(context.ReportDiagnostic, typeOfOperation.TypeOperand, context.Operation.Syntax);
Microsoft.CodeAnalysis.CodeStyle (63)
Microsoft.CodeAnalysis.CodeStyle.Fixes (24)
Microsoft.CodeAnalysis.CSharp (6)
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
Microsoft.CodeAnalysis.CSharp.CodeStyle (61)
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);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (26)
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),
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (81)
Semantics\PrimaryConstructorTests.cs (37)
1288VerifyFlowGraph(comp, operation.Parent.Parent.Syntax, @"
4469Assert.Equal(SyntaxKind.ClassDeclaration, context.Operation.Syntax.Kind());
4473Assert.Equal(SyntaxKind.ClassDeclaration, context.Operation.Syntax.Kind());
4477Assert.Equal(SyntaxKind.ConstructorDeclaration, context.Operation.Syntax.Kind());
4491Assert.Equal(SyntaxKind.PrimaryConstructorBaseType, context.Operation.Syntax.Kind());
4506Assert.Equal(SyntaxKind.BaseConstructorInitializer, context.Operation.Syntax.Kind());
4527switch (context.Operation.Syntax.ToString())
4573switch (context.Operation.Syntax.ToString())
4657Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
4660Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
4668Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
4671Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
4674Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
4682Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
4685Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
4690Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
4791Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
4794Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
4804Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
4807Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
4810Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
4820Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
4823Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
4828Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
4865Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
4868Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
4876Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
4879Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
4882Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
4890Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
4893Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
4898Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
5837Assert.Equal(SyntaxKind.RecordDeclaration, context.Operation.Syntax.Kind());
5854switch (context.Operation.Syntax.ToString())
5872switch (context.Operation.Syntax.ToString())
5932Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
5935Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
Semantics\RecordTests.cs (32)
21317VerifyFlowGraph(comp, operation.Parent.Parent.Syntax, @"
26878Assert.Equal(SyntaxKind.RecordDeclaration, context.Operation.Syntax.Kind());
26882Assert.Equal(SyntaxKind.RecordDeclaration, context.Operation.Syntax.Kind());
26886Assert.Equal(SyntaxKind.ConstructorDeclaration, context.Operation.Syntax.Kind());
26900Assert.Equal(SyntaxKind.PrimaryConstructorBaseType, context.Operation.Syntax.Kind());
26915Assert.Equal(SyntaxKind.BaseConstructorInitializer, context.Operation.Syntax.Kind());
26936switch (context.Operation.Syntax.ToString())
26982switch (context.Operation.Syntax.ToString())
27066Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
27069Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
27077Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
27080Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
27083Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
27091Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
27094Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
27099Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
27200Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
27203Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
27213Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
27216Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
27219Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
27229Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
27232Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
27237Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
27274Assert.Equal("= 0", context.OperationBlocks[0].Syntax.ToString());
27277Assert.Equal("Attr1(100)", context.OperationBlocks[1].Syntax.ToString());
27285Assert.Equal("= 1", context.OperationBlocks[0].Syntax.ToString());
27288Assert.Equal("Attr2(200)", context.OperationBlocks[1].Syntax.ToString());
27291Assert.Equal("A(2)", context.OperationBlocks[2].Syntax.ToString());
27299Assert.Equal("= 4", context.OperationBlocks[0].Syntax.ToString());
27302Assert.Equal("Attr3(300)", context.OperationBlocks[1].Syntax.ToString());
27307Assert.Equal(": base(5)", context.OperationBlocks[3].Syntax.ToString());
Microsoft.CodeAnalysis.CSharp.Features (92)
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\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),
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (5)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (20)
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
Microsoft.CodeAnalysis.Features (113)
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);
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (23)
Microsoft.CodeAnalysis.PublicApiAnalyzers (13)
Microsoft.CodeAnalysis.ResxSourceGenerator (13)
Microsoft.CodeAnalysis.Test.Utilities (156)
Diagnostics\CommonDiagnosticAnalyzers.cs (15)
1258return _controlFlowGraphMapOpt.Values.OrderBy(flowGraphAndSymbol => flowGraphAndSymbol.Graph.OriginalOperation.Syntax.SpanStart).ToImmutableArray();
1353ReportDiagnostic(operationContext.ReportDiagnostic, operationContext.Operation.Syntax.GetLocation());
1365ReportDiagnostic(operationContext.ReportDiagnostic, operationContext.Operation.Syntax.GetLocation());
1445var diagnostic = Diagnostic.Create(Descriptor, operation.Syntax.GetLocation(), operation.Field.Name, operation.Field.ConstantValue);
1466var diagnostic = Diagnostic.Create(Descriptor, operationContext.Operation.Syntax.GetLocation(), operationContext.ContainingSymbol.Name);
2074operationContext.ReportDiagnostic(Diagnostic.Create(OperationRule, Location.None, symbolStartContext.Symbol.Name, operationContext.ContainingSymbol.Name, operationContext.Operation.Syntax.ToString(), _analyzerId));
2149diagnostics.Add(Diagnostic.Create(OperationOrderingRule, Location.None, symbolStartContext.Symbol, operationContext.Operation.Syntax.ToString(), _analyzerId));
2761ReportDiagnostics($"RegisterOperationAction({operationContext.Operation.Syntax}) in RegisterSymbolStartAction", operationContext.Operation.Syntax.SyntaxTree, operationContext.ContainingSymbol, operationContext.ReportDiagnostic),
2775ReportDiagnostics($"RegisterOperationAction({operationContext.Operation.Syntax})", operationContext.Operation.Syntax.SyntaxTree, operationContext.ContainingSymbol, operationContext.ReportDiagnostic),
2788ReportDiagnostics($"RegisterOperationAction({operationContext.Operation.Syntax}) in RegisterOperationBlockStartAction", operationContext.Operation.Syntax.SyntaxTree, operationContext.ContainingSymbol, operationContext.ReportDiagnostic),
2891context => context.ReportDiagnostic(Diagnostic.Create(Descriptor, context.Operation.Syntax.GetLocation())),
2946context.RegisterOperationAction(context => HandleCallback(context.Operation.Syntax.GetLocation(), context.Compilation, context.ReportDiagnostic, context.CancellationToken), OperationKind.VariableDeclaration);
Diagnostics\OperationTestAnalyzer.cs (66)
59operationContext.ReportDiagnostic(Diagnostic.Create(InvalidStatementDescriptor, operationContext.Operation.Syntax.GetLocation()));
63operationContext.ReportDiagnostic(Diagnostic.Create(InvalidExpressionDescriptor, operationContext.Operation.Syntax.GetLocation()));
73operationContext.ReportDiagnostic(Diagnostic.Create(IsInvalidDescriptor, operationContext.Operation.Syntax.GetLocation()));
109operationContext.ReportDiagnostic(Diagnostic.Create(ExpressionDescriptor, operationContext.Operation.Syntax.GetLocation()));
213Report(operationContext, forLoop.Syntax, BigForDescriptor);
453Report(operationContext, switchOperation.Value.Syntax, SparseSwitchDescriptor);
457Report(operationContext, switchOperation.Value.Syntax, NoDefaultSwitchDescriptor);
461Report(operationContext, switchOperation.Value.Syntax, OnlyDefaultSwitchDescriptor);
549operationContext.ReportDiagnostic(Diagnostic.Create(InvalidArgumentDescriptor, argument.Syntax.GetLocation()));
555operationContext.ReportDiagnostic(Diagnostic.Create(UseDefaultArgumentDescriptor, invocation.Syntax.GetLocation(), argument.Parameter.Name));
569Report(operationContext, invocation.Syntax, BigParamArrayArgumentsDescriptor);
592Report(operationContext, argument.Syntax, OutOfNumericalOrderArgumentsDescriptor);
635operationContext.ReportDiagnostic(Diagnostic.Create(SeventeenDescriptor, literal.Syntax.GetLocation()));
670Report(operationContext, argument.Syntax, NullArgumentsDescriptor);
716Report(operationContext, initializer.Syntax, initializer.Kind == OperationKind.FieldReference ? DoNotUseFieldInitializerDescriptor : DoNotUsePropertyInitializerDescriptor);
757Report(operationContext, assignment.Syntax, DoNotUseMemberAssignmentDescriptor);
797Report(operationContext, initializer.Syntax, DoNotUseLargeListOfArrayInitializersDescriptor);
845Report(operationContext, declarationStatement.Syntax, TooManyLocalVarDeclarationsDescriptor);
905Report(operationContext, caseClause.Syntax, HasDefaultCaseDescriptor);
912Report(operationContext, switchSection.Syntax, MultipleCaseClausesDescriptor);
955instanceReference.Syntax.GetLocation()));
1034operationContext.ReportDiagnostic(Diagnostic.Create(EventReferenceDescriptor, operationContext.Operation.Syntax.GetLocation()));
1042operationContext.ReportDiagnostic(Diagnostic.Create(eventAssignment.Adds ? HandlerAddedDescriptor : HandlerRemovedDescriptor, operationContext.Operation.Syntax.GetLocation()));
1046operationContext.ReportDiagnostic(Diagnostic.Create(InvalidEventDescriptor, eventAssignment.Syntax.GetLocation()));
1054operationContext.ReportDiagnostic(Diagnostic.Create(PropertyReferenceDescriptor, operationContext.Operation.Syntax.GetLocation()));
1061operationContext.ReportDiagnostic(Diagnostic.Create(FieldReferenceDescriptor, operationContext.Operation.Syntax.GetLocation()));
1068operationContext.ReportDiagnostic(Diagnostic.Create(MethodBindingDescriptor, operationContext.Operation.Syntax.GetLocation()));
1111operationContext.ReportDiagnostic(Diagnostic.Create(LongParamsDescriptor, argument.Value.Syntax.GetLocation()));
1126operationContext.ReportDiagnostic(Diagnostic.Create(InvalidConstructorDescriptor, creation.Syntax.GetLocation()));
1138operationContext.ReportDiagnostic(Diagnostic.Create(LongParamsDescriptor, argument.Value.Syntax.GetLocation()));
1184operationContext.ReportDiagnostic(Diagnostic.Create(EqualsValueDescriptor, equalsValue.Syntax.GetLocation()));
1195operationContext.ReportDiagnostic(Diagnostic.Create(EqualsValueDescriptor, equalsValue.Syntax.GetLocation()));
1226operationContext.ReportDiagnostic(Diagnostic.Create(NoneOperationDescriptor, operationContext.Operation.Syntax.GetLocation()));
1262operationContext.ReportDiagnostic(Diagnostic.Create(AddressOfDescriptor, addressOfOperation.Syntax.GetLocation()));
1266operationContext.ReportDiagnostic(Diagnostic.Create(InvalidAddressOfReferenceDescriptor, addressOfOperation.Reference.Syntax.GetLocation()));
1314operationContext.ReportDiagnostic(Diagnostic.Create(LambdaExpressionDescriptor, operationContext.Operation.Syntax.GetLocation()));
1323operationContext.ReportDiagnostic(Diagnostic.Create(TooManyStatementsInLambdaExpressionDescriptor, operationContext.Operation.Syntax.GetLocation()));
1336operationContext.ReportDiagnostic(Diagnostic.Create(NoneOperationInLambdaExpressionDescriptor, operationContext.Operation.Syntax.GetLocation()));
1408operationContext.ReportDiagnostic(Diagnostic.Create(StaticMemberDescriptor, operation.Syntax.GetLocation()));
1412operationContext.ReportDiagnostic(Diagnostic.Create(StaticMemberWithInstanceDescriptor, operation.Syntax.GetLocation()));
1452operationContext.ReportDiagnostic(Diagnostic.Create(LabelDescriptor, operationContext.Operation.Syntax.GetLocation()));
1466operationContext.ReportDiagnostic(Diagnostic.Create(GotoDescriptor, branch.Syntax.GetLocation()));
1518operationContext.ReportDiagnostic(Diagnostic.Create(OperatorAddMethodDescriptor, binary.Syntax.GetLocation()));
1523operationContext.ReportDiagnostic(Diagnostic.Create(DoubleMultiplyDescriptor, binary.Syntax.GetLocation()));
1534operationContext.ReportDiagnostic(Diagnostic.Create(OperatorMinusMethodDescriptor, unary.Syntax.GetLocation()));
1539operationContext.ReportDiagnostic(Diagnostic.Create(BooleanNotDescriptor, unary.Syntax.GetLocation()));
1544operationContext.ReportDiagnostic(Diagnostic.Create(BooleanNotDescriptor, unary.Syntax.GetLocation()));
1574binary.Syntax.GetLocation(),
1627binary.Syntax.GetLocation(),
1651unary.Syntax.GetLocation(),
1707paramsarrayArgumentOperation.Syntax.GetLocation()));
1731if (operation.Syntax == null)
1791operationContext.ReportDiagnostic(Diagnostic.Create(InvalidBinaryDescriptor, binary.Syntax.GetLocation()));
1799operationContext.ReportDiagnostic(Diagnostic.Create(InvalidUnaryDescriptor, unary.Syntax.GetLocation()));
1807operationContext.ReportDiagnostic(Diagnostic.Create(InvalidIncrementDescriptor, inc.Syntax.GetLocation()));
1848operationContext.ReportDiagnostic(Diagnostic.Create(ConditionalAccessOperationDescriptor, conditionalAccess.Syntax.GetLocation()));
1857operationContext.ReportDiagnostic(Diagnostic.Create(ConditionalAccessInstanceOperationDescriptor, conditionalAccessInstance.Syntax.GetLocation()));
1897operationContext.ReportDiagnostic(Diagnostic.Create(InvalidConversionExpressionDescriptor, conversion.Syntax.GetLocation()));
1935operationContext.ReportDiagnostic(Diagnostic.Create(ForLoopConditionCrashDescriptor, forLoop.LimitValue.Syntax.GetLocation()));
1974operationContext.ReportDiagnostic(Diagnostic.Create(UnaryTrueDescriptor, unary.Syntax.GetLocation()));
1978operationContext.ReportDiagnostic(Diagnostic.Create(UnaryFalseDescriptor, unary.Syntax.GetLocation()));
2015operationContext.ReportDiagnostic(Diagnostic.Create(AssignmentOperationDescriptor, operationContext.Operation.Syntax.GetLocation()));
2052operationContext.ReportDiagnostic(Diagnostic.Create(LiteralDescriptor, literal.Syntax.GetLocation(), literal.Syntax.ToString()));
2080Diagnostic.Create(OperationActionDescriptor, operationContext.Operation.Syntax.GetLocation(), "Operation", "Analysis"));
2111Diagnostic.Create(OperationActionDescriptor, operationContext.Operation.Syntax.GetLocation(), "Operation", "CompilationStart within Analysis"));
Microsoft.CodeAnalysis.VisualBasic (3)
Microsoft.CodeAnalysis.Workspaces (14)
Microsoft.Interop.ComInterfaceGenerator (9)
Microsoft.Interop.LibraryImportGenerator (7)
Mvc.Api.Analyzers.Test (2)
Roslyn.Diagnostics.Analyzers (29)
Roslyn.Diagnostics.CSharp.Analyzers (10)
System.Private.CoreLib.Generators (5)
System.Text.RegularExpressions.Generator (5)
Test.Utilities (13)
Text.Analyzers (23)