1 implementation of Syntax
Microsoft.CodeAnalysis (1)
1036 references to Syntax
Aspire.Hosting.Analyzers (1)
Aspire.Hosting.Integration.Analyzers (1)
ConfigurationSchemaGenerator (2)
GenerateDocumentationAndConfigFiles (23)
ILLink.RoslynAnalyzer (20)
Microsoft.Analyzers.Extra (21)
Microsoft.Analyzers.Local (5)
Microsoft.AspNetCore.Analyzers (4)
Microsoft.AspNetCore.App.Analyzers (21)
Microsoft.AspNetCore.Components.Analyzers (5)
Microsoft.AspNetCore.Components.SdkAnalyzers (3)
Microsoft.AspNetCore.Mvc.Analyzers (5)
Microsoft.AspNetCore.Mvc.Api.Analyzers (6)
Microsoft.CodeAnalysis (254)
Operations\ControlFlowGraphBuilder.cs (230)
1421return result ?? MakeInvalidOperation(originalOperation.Syntax, originalOperation.Type, ImmutableArray<IOperation>.Empty);
1681CaptureResultIfNotAlready(operation.Syntax, captureId, result);
1922AddStatement(new FlowCaptureOperation(captureId, operationOpt.Syntax, operationOpt)
2114return PopStackFrame(frame, new SimpleAssignmentOperation(operation.IsRef, PopOperand(), value, null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
2126syntax: operation.Syntax, type: operation.Type, isImplicit: IsImplicit(operation)));
2137operation.Syntax, operation.Type, IsImplicit(operation));
2148operation.Syntax, operation.Type, IsImplicit(operation));
2159operation.Syntax, operation.Type, IsImplicit(operation));
2242semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
2256semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
2268semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
2394AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedRight)));
2400AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft)));
2412semanticModel: null, operand.Syntax, operand.Type, constantValue: null, isImplicit: true);
2444AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, new LiteralOperation(semanticModel: null, left.Syntax, booleanType, constantValue, isImplicit: true)));
2453AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, condition));
2460condition = new FlowCaptureReferenceOperation(resultId, binOp.Syntax, booleanType, constantValue: null);
2463semanticModel: null, binOp.Syntax, binOp.Type, binOp.GetConstantValue(), isImplicit: true);
2469semanticModel: null, operand.Syntax, type, constantValue, isImplicit: true);
2515semanticModel: null, condition.Syntax, booleanType, constantValue: null, isImplicit: true);
2540AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, resultFromLeft));
2548AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax,
2559binOp.Syntax,
2618semanticModel: null, condition.Syntax, unaryOperatorMethod.ReturnType, constantValue: null, isImplicit: true);
2629AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax, OperationCloner.CloneOperation(capturedLeft)));
2638AddStatement(new FlowCaptureOperation(resultId, binOp.Syntax,
2649binOp.Syntax,
2691CaptureResultIfNotAlready(condition.RightOperand.Syntax, captureId, resultFromRight);
2703SyntaxNode leftSyntax = (lazyFallThrough.GetSingletonPredecessorOrDefault() != null ? condition.LeftOperand : condition).Syntax;
2749lastUnary.OperatorMethod, lastUnary.ConstrainedToType, semanticModel: null, lastUnary.Syntax,
2752operatorMethod: null, constrainedToType: null, semanticModel: null, condition.Syntax,
2997SyntaxNode valueSyntax = operationValue.Syntax;
3088AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Value.Syntax, convertedTestExpression));
3131AddStatement(new FlowCaptureOperation(valueCaptureId, locationCapture.Syntax, locationCapture));
3195operation.Target.Syntax,
3210operation.Syntax,
3229AddStatement(new FlowCaptureOperation(intermediateValueCaptureId, whenNullValue.Syntax, whenNullValue));
3234operation.Syntax,
3244syntax: operation.Syntax,
3262AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, OperationCloner.CloneOperation(valueCapture)));
3278operation.Syntax, operation.Type, constantValue: operation.GetConstantValue(), isImplicit: true);
3286AddStatement(new FlowCaptureOperation(resultCaptureId, operation.Syntax, whenNullAssignment));
3301semanticModel: null, child.Syntax, type,
3328return new IsNullOperation(operand.Syntax, operand,
3354ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, value.Syntax,
3427result = new ExpressionStatementOperation(result, semanticModel: null, expressionStatement.Syntax,
3443AddStatement(new FlowCaptureOperation(resultCaptureId, currentConditionalAccess.WhenNotNull.Syntax,
3448CaptureResultIfNotAlready(currentConditionalAccess.WhenNotNull.Syntax, resultCaptureId,
3462SyntaxNode defaultValueSyntax = (operation.Operation == testExpression ? testExpression : operation).Syntax;
3540SyntaxNode testExpressionSyntax = testExpression.Syntax;
3580return FinishVisitingStatement(operation, new ExpressionStatementOperation(underlying, semanticModel: null, operation.Syntax, IsImplicit(operation)));
3800SyntaxNode syntax = exceptionDeclarationOrExpression.Syntax;
3845AddStatement(new ReturnOperation(returnedValue, OperationKind.YieldReturn, semanticModel: null, operation.Syntax, IsImplicit(operation)));
3942return new NoneOperation(children: ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, constantValue: null, isImplicit: true, type: null);
4030processResource(new LocalReferenceOperation(localSymbol, isDeclaration: false, semanticModel: null, declarator.Syntax, localSymbol.Type,
4092AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource));
4140AddStatement(new FlowCaptureOperation(captureId, resource.Syntax, resource));
4201args, semanticModel: null, value.Syntax,
4206return new AwaitOperation(invocation, semanticModel: null, value.Syntax, _compilation.GetSpecialType(SpecialType.System_Void), isImplicit: true);
4226semanticModel: null, operand.Syntax, iDisposable, constantValue, isImplicit: true);
4258syntax: lockObject.Syntax,
4274operation.Syntax,
4361lockedValue.Syntax,
4363semanticModel: null, lockedValue.Syntax,
4379lockTaken = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: true, semanticModel: null, lockedValue.Syntax,
4389lockedValue.Syntax,
4397lockedValue.Syntax,
4399semanticModel: null, lockedValue.Syntax,
4420IOperation condition = new LocalReferenceOperation(lockStatement.LockTakenSymbol, isDeclaration: false, semanticModel: null, lockedValue.Syntax,
4444lockedValue.Syntax,
4446semanticModel: null, lockedValue.Syntax,
4575operand.Syntax, targetType, constantValue: null, isImplicit: true);
4596AddStatement(new FlowCaptureOperation(localCopyCaptureId, operation.Collection.Syntax, collection));
4598collection = new FlowCaptureReferenceOperation(localCopyCaptureId, operation.Collection.Syntax, collection.Type, constantValue: null);
4604IOperation invocation = makeInvocation(operation.Collection.Syntax,
4610AddStatement(new FlowCaptureOperation(enumeratorCaptureId, operation.Collection.Syntax, invocation));
4612result = new FlowCaptureReferenceOperation(enumeratorCaptureId, operation.Collection.Syntax, info.GetEnumeratorMethod.ReturnType, constantValue: null);
4618result = new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Collection.Syntax,
4633return new AwaitOperation(moveNext, semanticModel: null, operation.Syntax, _compilation.GetSpecialType(SpecialType.System_Boolean), isImplicit: true);
4655operation.LoopControlVariable.Syntax,
4678declarator.Syntax,
4684declarator.Syntax,
4695operation.LoopControlVariable.Syntax, operation.LoopControlVariable.Type,
4700current, semanticModel: null, operation.LoopControlVariable.Syntax,
4708return makeInvocation(instance.Syntax, method, method.IsStatic ? null : instance, arguments);
4796operation.LoopControlVariable.Syntax, loopObject.Type,
4813return MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, builder.ToImmutableAndFree());
4838semanticModel: null, isInitialization ? value.Syntax : syntax, isImplicit: true);
4845semanticModel: null, operation.LimitValue.Syntax, method.ReturnType,
4884IOperation condition = tryCallObjectForLoopControlHelper(operation.LoopControlVariable.Syntax,
4959isUp = new LiteralOperation(semanticModel: null, stepValue.Syntax, booleanType, constantValue: ConstantValue.Create(false), isImplicit: true);
4961AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp));
4967IOperation literal = new LiteralOperation(semanticModel: null, stepValue.Syntax, stepValue.Type,
4981stepValue.Syntax,
4986AddStatement(new FlowCaptureOperation(positiveFlagId, isUp.Syntax, isUp));
5003semanticModel: null, operation.InitialValue.Syntax, type: null,
5039IOperation condition = tryCallObjectForLoopControlHelper(operation.LimitValue.Syntax,
5135operation.LimitValue.Syntax,
5150condition = MakeInvalidOperation(operation.LimitValue.Syntax, booleanType, PopOperand(), limitReference);
5172operation.StepValue.Syntax,
5213operation.LimitValue.Syntax,
5233operation.LimitValue.Syntax,
5254var shiftConst = new LiteralOperation(semanticModel: null, operand.Syntax, _compilation.GetSpecialType(SpecialType.System_Int32),
5267operand.Syntax,
5282operand.Syntax,
5320controlVariableReferenceForAssignment.Syntax,
5355operation.StepValue.Syntax,
5371controlVariableReferenceForAssignment.Syntax,
5376controlVariableReferenceForAssignment.Syntax,
5406operation.StepValue.Syntax,
5423controlVariableReferenceForAssignment.Syntax,
5443declarator.Syntax, local.Type, constantValue: null, isImplicit: true);
5457return new FlowCaptureReferenceOperation(id, underlying.Syntax, underlying.Type, underlying.GetConstantValue());
5600compareWith.Syntax,
5621patternClause.Pattern.Syntax, booleanType, isImplicit: true);
5844var initializationSemaphore = new StaticLocalInitializationSemaphoreOperation(localSymbol, declarator.Syntax, booleanType);
5858assignmentSyntax = declarator.Syntax;
5864assignmentSyntax = declaration.Syntax;
5869declaration.Syntax,
5887var localRef = new LocalReferenceOperation(localSymbol, isDeclaration: true, semanticModel: null, declarator.Syntax, localSymbol.Type, constantValue: null, isImplicit: true);
5944return new InvocationOperation(operation.TargetMethod, operation.ConstrainedToType, visitedInstance, operation.IsVirtual, visitedArguments, semanticModel: null, operation.Syntax,
5954return new FunctionPointerInvocationOperation(visitedPointer, visitedArguments, semanticModel: null, operation.Syntax,
5987IOperation initializedInstance = new NoPiaObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
5999operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
6007var initializedInstance = new TypeParameterObjectCreationOperation(initializer: null, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6020hasDynamicArguments.ArgumentRefKinds, semanticModel: null, operation.Syntax,
6107result = new SimpleAssignmentOperation(assignmentOperation.IsRef, left, right, semanticModel: null, assignmentOperation.Syntax,
6245fieldReference.Syntax, fieldReference.Type, fieldReference.GetConstantValue(), IsImplicit(fieldReference));
6249return new EventReferenceOperation(eventReference.Event, eventReference.ConstrainedToType, instance, semanticModel: null, eventReference.Syntax,
6255return new PropertyReferenceOperation(propertyReference.Property, propertyReference.ConstrainedToType, propertyArguments, instance, semanticModel: null, propertyReference.Syntax,
6261return new ArrayElementReferenceOperation(instance, indices, semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget));
6268semanticModel: null, originalTarget.Syntax, originalTarget.Type, IsImplicit(originalTarget));
6280dynamicReference.ContainingType, semanticModel: null, dynamicReference.Syntax,
6371return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6377return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6385operation.Syntax, operation.Type, IsImplicit(operation));
6410propertyReference.Instance.Syntax, propertyReference.Instance.Type, IsImplicit(propertyReference.Instance));
6412semanticModel: null, propertyReference.Syntax, propertyReference.Type, IsImplicit(propertyReference));
6415semanticModel: null, simpleAssignment.Syntax, simpleAssignment.Type, simpleAssignment.GetConstantValue(), IsImplicit(simpleAssignment));
6429operation.Syntax, operation.Type, IsImplicit(operation));
6503operation.Syntax, operation.Type, IsImplicit(operation));
6549return new ArrayInitializerOperation(builder.ToImmutableAndFree(), semanticModel: null, initializer.Syntax, IsImplicit(initializer));
6589spread.Syntax,
6603operation.Syntax,
6629return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
6634return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.HandlerPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue());
6637return new InstanceReferenceOperation(operation.ReferenceKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6666dynamicMemberReference.ContainingType, semanticModel: null, dynamicMemberReference.Syntax, dynamicMemberReference.Type, IsImplicit(dynamicMemberReference));
6675((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6686((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6692operation.ContainingType, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6698return new DeconstructionAssignmentOperation(visitedTarget, visitedValue, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6736return new TupleOperation(elementBuilder.ToImmutableAndFree(), tuple.NaturalType, semanticModel: null, tuple.Syntax, tuple.Type, IsImplicit(tuple));
6746return new DeclarationExpressionOperation(VisitPreservingTupleOperations(operation.Expression), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
6794return new NoneOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
6800new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
6876ConditionalBranch(new FlowCaptureReferenceOperation(outParameterFlowCapture, outParameterPlaceholder.Syntax, outParameterPlaceholder.Type, constantValue: null), jumpIfTrue: false, resultBlock);
6923return new FlowCaptureReferenceOperation(handlerCaptureId, operation.Syntax, operation.Type, operation.GetConstantValue());
7004return new FlowCaptureReferenceOperation(_currentInterpolatedStringHandlerCreationContext.OutPlaceholder, operation.Syntax, operation.Type, operation.GetConstantValue(), isInitialization: true);
7018return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7032return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), isImplicit: true);
7102rewrittenElement = new InterpolationOperation(rewrittenExpression, rewrittenAlignment, rewrittenFormatString, semanticModel: null, element.Syntax, IsImplicit(element));
7107rewrittenElement = new InterpolatedStringTextOperation(rewrittenInterpolationText, semanticModel: null, element.Syntax, IsImplicit(element));
7119return new InterpolatedStringOperation(partsBuilder.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7135return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7140return new LiteralOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7145return new Utf8StringOperation(operation.Value, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7150return new LocalReferenceOperation(operation.Local, operation.IsDeclaration, semanticModel: null, operation.Syntax,
7156return new ParameterReferenceOperation(operation.Parameter, semanticModel: null, operation.Syntax,
7164operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7171operation.Syntax, operation.Type, IsImplicit(operation));
7191return MakeInvalidOperation(operation.Syntax, operation.Type, ImmutableArray<IOperation>.Empty);
7200operation.Syntax, operation.Type, IsImplicit(operation));
7207operation.Syntax, operation.Type, IsImplicit(operation));
7212return new TypeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7217return new ParenthesizedOperation(VisitRequired(operation.Operand), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7222return new AwaitOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7227return new SizeOfOperation(operation.TypeOperand, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7232return new StopOperation(semanticModel: null, operation.Syntax, IsImplicit(operation));
7237return new IsTypeOperation(VisitRequired(operation.ValueOperand), operation.TypeOperand, operation.IsNegated, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7245operation.Syntax, operation.Parameter.Type, isImplicit: true);
7259operation.Syntax, fieldSymbol.ContainingType, isImplicit: true);
7261operation.Syntax, fieldSymbol.Type, constantValue: null, isImplicit: true);
7277operation.Syntax, propertySymbol.ContainingType, isImplicit: true);
7287operation.Syntax, parameter.Type, constantValue: null, isImplicit: true);
7291semanticModel: null, operation.Syntax, isImplicit: true);
7303semanticModel: null, operation.Syntax, propertySymbol.Type, isImplicit: true);
7316initializer.Syntax, rewrittenTarget.Type, constantValue: null, isImplicit: true);
7344semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7357operation.Syntax, operation.Type, IsImplicit(operation));
7390semanticModel: null, operation.EventReference.Syntax, operation.EventReference.Type, IsImplicit(operation.EventReference));
7394operation.Syntax, IsImplicit(operation)));
7399return new AddressOfOperation(VisitRequired(operation.Reference), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7406operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7411return new DiscardOperation(operation.DiscardSymbol, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7416return new DiscardPatternOperation(pat.InputType, pat.NarrowedType, semanticModel: null, pat.Syntax, IsImplicit(pat));
7421return new OmittedArgumentOperation(semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7455return new PlaceholderOperation(operation.PlaceholderKind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7461return new CollectionExpressionElementsPlaceholderOperation(semanticModel: null, operation.Syntax, operation.Type, operation.IsImplicit);
7466return new ConversionOperation(VisitRequired(operation.Operand), ((ConversionOperation)operation).ConversionConvertible, operation.IsTryCast, operation.IsChecked, semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7471return new DefaultValueOperation(semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation));
7482operation.Syntax, operation.Type, IsImplicit(operation));
7514IOperation initializedInstance = new InvalidOperation(children.ToImmutableAndFree(), semanticModel: null, operation.Syntax, operation.Type,
7538return new InvalidOperation(ImmutableArray<IOperation>.Empty, semanticModel: null, invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(invalidOperation));
7545invalidOperation.Syntax, invalidOperation.Type, invalidOperation.GetConstantValue(), IsImplicit(operation)));
7564semanticModel: null, operation.Syntax, isImplicit);
7576return new ReDimClauseOperation(visitedOperand, visitedDimensionSizes, semanticModel: null, clause.Syntax, IsImplicit(clause));
7587return new TranslatedQueryOperation(VisitRequired(operation.Operation), semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation));
7593syntax: operation.Syntax, isImplicit: IsImplicit(operation));
7604syntax: operation.Syntax,
7644syntax: operation.Syntax,
7656syntax: operation.Syntax,
7667syntax: operation.Syntax,
7680operation.Syntax,
7692operation.Syntax,
7706operation.Syntax,
7721operation.Syntax,
7731syntax: operation.Syntax,
7738operation.Syntax, operation.Type, IsImplicit(operation));
7756return new RangeOperation(visitedLeftOperand, visitedRightOperand, operation.IsLifted, operation.Method, semanticModel: null, operation.Syntax, operation.Type, isImplicit: IsImplicit(operation));
7802arm.Syntax, booleanType, IsImplicit(arm));
7837? MakeInvalidOperation(operation.Syntax, type: _compilation.GetSpecialType(SpecialType.System_Object), ImmutableArray<IOperation>.Empty)
7839matchFailureCtor, initializer: null, ImmutableArray<IArgumentOperation>.Empty, semanticModel: null, operation.Syntax,
7875BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax);
7978semanticModel: null, operation.Syntax, operation.Type, isImplicit: true);
8054var valueCaptureRef = new FlowCaptureReferenceOperation(valueCaptureId, operation.Operand.Syntax,
8075var oldInstance = new FlowCaptureReferenceOperation(oldValueCaptureId, operation.Operand.Syntax,
8085var extraValueCaptureRef = new FlowCaptureReferenceOperation(extraValueCaptureId, operation.Operand.Syntax,
8139return new AttributeOperation(Visit(operation.Operation, captureIdForResult)!, semanticModel: null, operation.Syntax, IsImplicit(operation));
Operations\OperationCloner.cs (5)
21return new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit);
32return new DynamicObjectCreationOperation(Visit(operation.Initializer), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
37return new DynamicInvocationOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
42return new DynamicIndexerAccessOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
47return new InvalidOperation(VisitArray(((InvalidOperation)operation).Children), ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit);
Microsoft.CodeAnalysis.Analyzers (64)
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\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (18)
92VerifySymbol(context.ReportDiagnostic, objectCreation.Constructor, context.Operation.Syntax);
93VerifyType(context.ReportDiagnostic, objectCreation.Type, context.Operation.Syntax);
97VerifySymbol(context.ReportDiagnostic, invocation.TargetMethod, context.Operation.Syntax);
98VerifyType(context.ReportDiagnostic, invocation.TargetMethod.ContainingType, context.Operation.Syntax);
102VerifySymbol(context.ReportDiagnostic, memberReference.Member, context.Operation.Syntax);
103VerifyType(context.ReportDiagnostic, memberReference.Member.ContainingType, context.Operation.Syntax);
107VerifyType(context.ReportDiagnostic, arrayCreation.Type, context.Operation.Syntax);
111VerifyType(context.ReportDiagnostic, addressOf.Type, context.Operation.Syntax);
117VerifySymbol(context.ReportDiagnostic, conversion.OperatorMethod, context.Operation.Syntax);
118VerifyType(context.ReportDiagnostic, conversion.OperatorMethod.ContainingType, context.Operation.Syntax);
126VerifySymbol(context.ReportDiagnostic, unary.OperatorMethod, context.Operation.Syntax);
127VerifyType(context.ReportDiagnostic, unary.OperatorMethod.ContainingType, context.Operation.Syntax);
135VerifySymbol(context.ReportDiagnostic, binary.OperatorMethod, context.Operation.Syntax);
136VerifyType(context.ReportDiagnostic, binary.OperatorMethod.ContainingType, context.Operation.Syntax);
144VerifySymbol(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod, context.Operation.Syntax);
145VerifyType(context.ReportDiagnostic, incrementOrDecrement.OperatorMethod.ContainingType, context.Operation.Syntax);
150VerifyType(context.ReportDiagnostic, typeOfOperation.TypeOperand, context.Operation.Syntax);
249=> !ShouldAnalyzeInTree(context.Operation.Syntax.SyntaxTree, context.IsGeneratedCode, context.CancellationToken);
Microsoft.CodeAnalysis.AnalyzerUtilities (40)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (6)
237return TaintedDataAbstractValue.CreateTainted(propertyReferenceOperation.Member, propertyReferenceOperation.Syntax, this.OwningSymbol);
324this.CacheAbstractValue(argumentOperation, TaintedDataAbstractValue.CreateTainted(argumentOperation.Parameter, argumentOperation.Syntax, method));
333result = TaintedDataAbstractValue.CreateTainted(method, originalOperation.Syntax, this.OwningSymbol);
509TaintedDataAbstractValue taintedDataAbstractValue = TaintedDataAbstractValue.CreateTainted(arrayTypeSymbol, arrayCreationOperation.Syntax, this.OwningSymbol);
573this.TrackTaintedDataEnteringSink(targetMethod, originalOperation.Syntax.GetLocation(), sinkKinds, abstractValue.SourceOrigins);
609propertyReferenceOperation.Syntax.GetLocation(),
Microsoft.CodeAnalysis.CodeStyle (63)
Microsoft.CodeAnalysis.CodeStyle.Fixes (24)
Microsoft.CodeAnalysis.CSharp (6)
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
Microsoft.CodeAnalysis.CSharp.CodeStyle (61)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (10)
81if (arrayCreationOperation.Syntax.Ancestors().OfType<AttributeSyntax>().Any())
87if (arrayCreationOperation.Syntax.IsInExpressionTree(semanticModel, expressionType, context.CancellationToken))
100if (arrayCreationOperation.Syntax is ImplicitArrayCreationExpressionSyntax or ArrayCreationExpressionSyntax)
102ReportArrayCreationDiagnostic(context, arrayCreationOperation.Syntax, option.Notification);
104else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..])
107ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Descendants);
109else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..])
113ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Ancestors);
123var span = TextSpan.FromBounds(elements[0].Syntax.SpanStart, elements[^1].Syntax.Span.End);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (26)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (9)
165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true);
170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false);
179return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false);
184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false);
200var startExpr = (ExpressionSyntax)startOperation.Syntax;
215endExpr = (ExpressionSyntax)endOperation.Syntax;
246return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax));
251return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)));
265constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax),
Microsoft.CodeAnalysis.CSharp.Features (92)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (10)
81if (arrayCreationOperation.Syntax.Ancestors().OfType<AttributeSyntax>().Any())
87if (arrayCreationOperation.Syntax.IsInExpressionTree(semanticModel, expressionType, context.CancellationToken))
100if (arrayCreationOperation.Syntax is ImplicitArrayCreationExpressionSyntax or ArrayCreationExpressionSyntax)
102ReportArrayCreationDiagnostic(context, arrayCreationOperation.Syntax, option.Notification);
104else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..])
107ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Descendants);
109else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..])
113ReportParameterArrayDiagnostic(context, arrayCreationOperation.Syntax, elements, option.Notification, ArrayCreationOperationLocation.Ancestors);
123var span = TextSpan.FromBounds(elements[0].Syntax.SpanStart, elements[^1].Syntax.Span.End);
src\roslyn\src\Analyzers\CSharp\CodeFixes\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.NetAnalyzers (36)
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
Microsoft.CodeAnalysis.Features (115)
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.ResxSourceGenerator (13)
Microsoft.CodeAnalysis.VisualBasic (3)
Microsoft.CodeAnalysis.VisualBasic.Analyzers (1)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (6)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyInterpolation\VisualBasicSimplifyInterpolationHelpers.vb (1)
20Return operation.Syntax
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (2)
Microsoft.CodeAnalysis.VisualBasic.Features (10)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyInterpolation\VisualBasicSimplifyInterpolationHelpers.vb (1)
20Return operation.Syntax
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (14)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (1)
Microsoft.CodeAnalysis.Workspaces (14)
Microsoft.Interop.ComInterfaceGenerator (9)
Microsoft.Interop.LibraryImportGenerator (7)
Roslyn.Diagnostics.Analyzers (29)
Roslyn.Diagnostics.CSharp.Analyzers (10)
Roslyn.Diagnostics.VisualBasic.Analyzers (1)
System.Private.CoreLib.Generators (5)
System.Text.RegularExpressions.Generator (4)