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);
7009return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7023return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7093rewrittenElement = new InterpolationOperation(rewrittenExpression, rewrittenAlignment, rewrittenFormatString, semanticModel: null, element.Syntax, IsImplicit(element));
7098rewrittenElement = new InterpolatedStringTextOperation(rewrittenInterpolationText, semanticModel: null, element.Syntax, IsImplicit(element));
7110return new InterpolatedStringOperation(partsBuilder.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7126return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7131return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7136return new Utf8StringOperation(operation.Value, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7141return new LocalReferenceOperation(operation.Local, operation.IsDeclaration, semanticModel: null, operation.Syntax,
7147return new ParameterReferenceOperation(operation.Parameter, semanticModel: null, operation.Syntax,
7155operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7162operation.Syntax, operation.Type, IsImplicit(operation));
7182return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
7191operation.Syntax, operation.Type, IsImplicit(operation));
7198operation.Syntax, operation.Type, IsImplicit(operation));
7203return new TypeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7208return new ParenthesizedOperation(VisitRequired(operation.Operand), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7213return new AwaitOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7218return new SizeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7223return new StopOperation(semanticModel: null, operation.Syntax, IsImplicit(operation));
7228return new IsTypeOperation(VisitRequired(operation.ValueOperand), operation.TypeOperand, operation.IsNegated, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7236operation.Syntax, operation.Parameter.Type, isImplicit: true);
7250operation.Syntax, fieldSymbol.ContainingType, isImplicit: true);
7252operation.Syntax, fieldSymbol.Type, constantValue: null, isImplicit: true);
7268operation.Syntax, propertySymbol.ContainingType, isImplicit: true);
7278operation.Syntax, parameter.Type, constantValue: null, isImplicit: true);
7282semanticModel: null, operation.Syntax, isImplicit: true);
7294semanticModel: null, operation.Syntax, propertySymbol.Type, isImplicit: true);
7307initializer.Syntax, rewrittenTarget.Type, constantValue: null, isImplicit: true);
7335semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7348operation.Syntax, operation.Type, IsImplicit(operation));
7381semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7385operation.Syntax, IsImplicit(operation)));
7390return new AddressOfOperation(VisitRequired(operation.Reference), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7397operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7402return new DiscardOperation(operation.DiscardSymbol, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7407return new DiscardPatternOperation(pat.InputType, pat.NarrowedType, semanticModel: null, pat.Syntax, IsImplicit(pat));
7412return new OmittedArgumentOperation(semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7446return new PlaceholderOperation(operation.PlaceholderKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7452return new CollectionExpressionElementsPlaceholderOperation(semanticModel: null, operation.Syntax, operation.Type, operation.IsImplicit);
7457return new ConversionOperation(VisitRequired(operation.Operand), ((ConversionOperation)operation).ConversionConvertible, operation.IsTryCast, operation.IsChecked, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7462return new DefaultValueOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7473operation.Syntax, operation.Type, IsImplicit(operation));
7505IOperation initializedInstance = new InvalidOperation(children.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type,
7529return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(invalidOperation));
7536invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(operation)));
7555semanticModel: null, operation.Syntax, isImplicit);
7567return new ReDimClauseOperation(visitedOperand, visitedDimensionSizes, semanticModel: null, clause.Syntax, IsImplicit(clause));
7578return new TranslatedQueryOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7584syntax: operation.Syntax, isImplicit: IsImplicit(operation));
7595syntax: operation.Syntax,
7635syntax: operation.Syntax,
7647syntax: operation.Syntax,
7658syntax: operation.Syntax,
7671operation.Syntax,
7683operation.Syntax,
7697operation.Syntax,
7712operation.Syntax,
7722syntax: operation.Syntax,
7729operation.Syntax, operation.Type, IsImplicit(operation));
7747return new RangeOperation(visitedLeftOperand, visitedRightOperand, operation.IsLifted, operation.Method, semanticModel: null, operation.Syntax, operation.Type, isImplicit: IsImplicit(operation));
7793arm.Syntax, booleanType, IsImplicit(arm));
7828? MakeInvalidOperation(operation.Syntax, type: _compilation.GetSpecialType(SpecialType.System_Object), ImmutableArray<IOperation>.Empty)
7830matchFailureCtor, initializer: null, ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, operation.Syntax,
7866BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax);
7969semanticModel: null, operation.Syntax, operation.Type, isImplicit: true);
8045var valueCaptureRef = new FlowCaptureReferenceOperation(valueCaptureId, operation.Operand.Syntax,
8066var oldInstance = new FlowCaptureReferenceOperation(oldValueCaptureId, operation.Operand.Syntax,
8076var extraValueCaptureRef = new FlowCaptureReferenceOperation(extraValueCaptureId, operation.Operand.Syntax,
8130return 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)