1 implementation of Value
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7965public IOperation Value { get; }
471 references to Value
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (1)
87ITypeSymbol? type = ResolveType(instanceArg.Value)?.WithNullableAnnotation(NullableAnnotation.None);
GenerateDocumentationAndConfigFiles (4)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 43firstArg.Value.Type; 449=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
ILLink.RoslynAnalyzer (2)
DataFlow\FeatureChecksVisitor.cs (1)
44return Visit(operation.Value, state);
DataFlow\LocalDataFlowVisitor.cs (1)
799return Visit(operation.Value, state);
Microsoft.Analyzers.Extra (12)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
212.Value
CallAnalysis\Fixers\LegacyLoggingFixer.cs (7)
366var t = invocationOp.Arguments[0].Value.Type!; 386parameters.Add(gen.ParameterDeclaration("exception", gen.TypeExpression(invocationOp.Arguments[details.ExceptionParamIndex].Value.Type!))); 401var arrayCreation = (IArrayCreationOperation)paramsArg.Value; 431invocationOp.Arguments[0].Value.Type! 436args.Add(invocationOp.Arguments[details.ExceptionParamIndex].Value.Type!); 450var arrayCreation = (IArrayCreationOperation)paramsArg.Value; 506var arrayCreation = (IArrayCreationOperation)arg.Value;
CallAnalysis\StartsEndsWith.cs (3)
46var s = op.Arguments[0].Value.ConstantValue.Value as string; 50if (op.Arguments.Length > 1 && op.Arguments[1].Value.ConstantValue.HasValue) 52var comp = (StringComparison)op.Arguments[1].Value.ConstantValue.Value!;
UsingToStringInLoggersAnalyzer.cs (1)
66if (arg.Value is IInvocationOperation argOperation
Microsoft.Analyzers.Local (1)
CallAnalysis\ToInvariantString.cs (1)
42if (a.Value is IConversionOperation conv)
Microsoft.AspNetCore.App.Analyzers (6)
Http\HeaderDictionaryIndexerAnalyzer.cs (1)
35propertyReference.Arguments[0].Value is ILiteralOperation literalOperation &&
Kestrel\ListenOnIPv6AnyAnalyzer.cs (1)
77if (addressArgument!.Value is ILocalReferenceOperation localReferenceOperation)
RenderTreeBuilder\RenderTreeBuilderAnalyzer.cs (1)
43if (!argument.Value.Syntax.IsKind(SyntaxKind.NumericLiteralExpression))
RouteHandlers\DetectAmbiguousRoutes.cs (1)
277return WalkDownConversion(arguments[i].Value);
RouteHandlers\RouteHandlerAnalyzer.cs (1)
230builder = WalkDownConversion(builderArgument.Value);
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.AspNetCore.Components.Analyzers (6)
ForLoopIteratorInClosureAnalyzer.cs (2)
174var valueArgument = invocation.Arguments[2].Value; 185&& valueInvocation.Arguments[1].Value is IDelegateCreationOperation delegateCreation
InvokeAsyncOfObjectAnalyzer.cs (1)
92return invocation.Arguments[0].Value.Type;
StateHasChangedAnalyzer.cs (1)
71var method = TryGetMethodFromOperation(argument.Value);
VirtualizeItemComparerAnalyzer.cs (2)
93if (nameArg.Value.ConstantValue.HasValue && 94nameArg.Value.ConstantValue.Value is string paramName)
Microsoft.AspNetCore.Http.RequestDelegateGenerator (1)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (1)
92IArgumentOperation argument => ResolveMethodFromOperation(argument.Value, semanticModel),
Microsoft.AspNetCore.Mvc.Analyzers (1)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.AspNetCore.Mvc.Api.Analyzers (3)
ActualApiResponseMetadataFactory.cs (2)
201if (TryGetStatusCode(argument.Value, out var statusCodeValue)) 209var operation = argument.Value;
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.CodeAnalysis (6)
Operations\ControlFlowGraphBuilder.cs (6)
2062if (arguments[i].Value is IInterpolatedStringHandlerCreationOperation creation) 2088var argument = arguments[i].Value switch 6316if (argument is { ArgumentKind: ArgumentKind.ParamArray, Value: IArrayCreationOperation array }) 6327AddStatement(Visit(argument.Value)); 6851if (arguments[i] is { Value: IInterpolatedStringHandlerArgumentPlaceholderOperation { PlaceholderKind: InterpolatedStringArgumentPlaceholderKind.TrailingValidityArgument } } arg) 6859outParameterPlaceholder = (IInterpolatedStringHandlerArgumentPlaceholderOperation)outParameterArgument.Value;
Microsoft.CodeAnalysis.Analyzers (41)
FixAnalyzers\FixerWithFixAllAnalyzer.cs (2)
268return argument.Value.ConstantValue.HasValue && argument.Value.ConstantValue.Value == null;
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (4)
193if (parameters.All(p => IsSymbolType(p.Value, symbolType))) 206invocationOperation.Arguments.Any(arg => IsSymbolType(arg.Value, symbolType))) 218!invocationOperation.Arguments.Any(arg => IsSymbolType(arg.Value, iEqualityComparer))) 268!objectCreation.Arguments.Any(arg => IsSymbolType(arg.Value, iEqualityComparerType)))
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer_IdRangeAndCategoryValidation.cs (7)
131var diagnostic = argument.Value.CreateDiagnostic(DiagnosticIdMustBeInSpecifiedFormatRule, arg1, arg2, arg3.ToString(), arg4); 152if (argument.Value.ConstantValue.HasValue) 154if (argument.Value.Type != null && 155argument.Value.Type.SpecialType == SpecialType.System_String && 156argument.Value.ConstantValue.Value is string value) 161else if (argument.Value is IFieldReferenceOperation fieldReference && 185var diagnostic = argument.Value.CreateDiagnostic(UseCategoriesFromSpecifiedRangeRule, arg1, arg2);
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (24)
345invocation.Arguments[0].Value.WalkDownConversion() is ILocalReferenceOperation localReference) 354if (invocation.Arguments[0].Value.WalkDownConversion() is IFieldReferenceOperation fieldReference) 573firstParamArgument.Value.ConstantValue.HasValue && 574firstParamArgument.Value.ConstantValue.Value is string nameOfResource && 576thirdParamArgument.Value is ITypeOfOperation typeOfOperation && 601invocation.Arguments[0].Value.ConstantValue.HasValue && 602invocation.Arguments[0].Value.ConstantValue.Value is string nameOfResource) 821if (TryGetLocalizableResourceStringCreation(argument.Value, localizableResourceStringType, 830var value = argument.Value.WalkDownConversion(); 892var argumentValueOperation = argumentOperation.Value.WalkDownConversion(); 1039if (argument.Value.ConstantValue.HasValue) 1041helpLink = argument.Value.ConstantValue.Value as string; 1069argument.Value is not IArrayCreationOperation arrayCreation || 1120if (argument.Value.ConstantValue.HasValue && 1121argument.Value.ConstantValue.Value is bool value) 1129if (argument.Value is IFieldReferenceOperation fieldReference && 1140argument.Value is IFieldReferenceOperation fieldReference2 && 1205if (argument.Value.ConstantValue.HasValue && 1206argument.Value.Type != null && 1207argument.Value.Type.SpecialType == SpecialType.System_String && 1208argument.Value.ConstantValue.Value is string value) 1213var location = argument.Value.Syntax.GetLocation(); 1252operationAnalysisContext.ReportDiagnostic(argument.Value.Syntax.CreateDiagnostic(DoNotUseReservedDiagnosticIdRule, ruleId)); 1280var diagnostic = argument.Value.CreateDiagnostic(DiagnosticIdMustBeAConstantRule, arg1);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 43firstArg.Value.Type; 449=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
Microsoft.CodeAnalysis.AnalyzerUtilities (36)
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (3)
324HandleEscapingOperation(operation, operation.Value); 328HandlePossibleEscapingForAssignment(target: operation.Value, value: operation, operation: operation); 956HandleEscapingOperation(argument, argument.Value);
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
180valueContentBuilder.Add(this.GetValueContentAbstractValue(argumentOperation.Value)); 465if (visitedArgument.Value?.Type != null && this.TrackedTypeSymbols.Any(s => visitedArgument.Value.Type.GetBaseTypesAndThis().Contains(s))) 468visitedArgument.Value.Syntax, 470visitedArgument.Value, 532IOperation value = argumentOperation.Value; 546instance = argumentOperation.Value;
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (1)
336var pointsToValue = GetPointsToAbstractValue(operation.Value);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 43firstArg.Value.Type; 449=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocationDataFlowOperationVisitor.cs (2)
71if (operation.Value.Type != null) 74var value = HandleInstanceCreation(operation.Value, instanceLocation, defaultValue);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (2)
199return TryCreate(argument.Value, out analysisEntity); 303CreateAbstractIndices(propertyReference.Arguments.SelectAsArray(a => a.Value)) :
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
1671PerformPredicateAnalysisCore(argument.Value, targetAnalysisData); 1709_ = SetValueForIsNullComparisonOperator(invocation.Arguments[0].Value, equals: false, targetAnalysisData: targetAnalysisData); 1723leftOperand = invocation.Arguments[0].Value; 1724rightOperand = invocation.Arguments[1].Value; 1726(AnalysisEntityFactory.TryCreate(invocation.Arguments[0].Value, out var analysisEntity) && 1741rightOperand = invocation.Arguments[0].Value; 3074var value = Visit(operation.Value, argument); 3113operation.Value.Type != null && 3114!operation.Value.Type.HasValueCopySemantics()) 3116ResetReferenceTypeInstanceAnalysisData(operation.Value); 3125value = ValueDomain.Merge(value, GetCachedAbstractValue(operation.Value)); 3129SetAbstractValueForAssignment(operation.Value, operation, value); 3203var wrappedOperationValue = GetCachedAbstractValue(operation.Arguments[0].Value); 3243HandleEnterLockOperation(arguments[0].Value); 3263target: arguments[0].Value, 3264assignedValueOperation: arguments[1].Value, 3265assignedValue: GetCachedAbstractValue(arguments[1].Value),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
Microsoft.CodeAnalysis.CodeStyle (6)
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
85return TryAddHashedSymbol(invocation.Arguments[0].Value, seenHash: true);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
143if (invocation.Arguments[0].Value is ILiteralOperation { ConstantValue: { HasValue: true, Value: string value } } literal && 206return IsInvariantCultureReference(invocation.Arguments[formatProviderArgumentIndex].Value) 283var alignmentOp = invocation.Arguments[0].Value; 323=> argument.Value.ConstantValue is { HasValue: true, Value: ' ' };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
MetaAnalyzers\CSharpSemanticModelGetDeclaredSymbolAlwaysReturnsNullAnalyzer.cs (1)
83var syntaxNodeDerivingType = invocation.Arguments.GetArgumentForParameterAtIndex(1).Value.WalkDownConversion().Type;
Microsoft.CodeAnalysis.CSharp.CodeStyle (10)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
110invocationOperation.Arguments[0].Value, 132propertyReference.Arguments[0].Value,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (7)
125var startOperation = invocation.Arguments[0].Value; 167var startOperation = invocation.Arguments[0].Value; 168var lengthOperation = invocation.Arguments[1].Value; 232if (!IsSubtraction(invocation.Arguments[1].Value, out var subtraction) || 243var startOperation = invocation.Arguments[0].Value; 282var startOperation = invocation.Arguments[0].Value; 299invocation.Arguments[1].Value);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (8)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
46Arguments: [IArgumentOperation { Value: IOperation arg }] 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 632Arguments: [IArgumentOperation { Value: IOperation arg }]
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (5)
161if (IsSubtraction(result.InvocationOperation.Arguments[0].Value, out var subtraction) && 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 175if (IsSubtraction(result.InvocationOperation.Arguments[1].Value, out var subtraction) && 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 243if (result.Op1 == result.InvocationOperation.Arguments[0].Value)
Microsoft.CodeAnalysis.CSharp.Features (17)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (2)
110invocationOperation.Arguments[0].Value, 132propertyReference.Arguments[0].Value,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (7)
125var startOperation = invocation.Arguments[0].Value; 167var startOperation = invocation.Arguments[0].Value; 168var lengthOperation = invocation.Arguments[1].Value; 232if (!IsSubtraction(invocation.Arguments[1].Value, out var subtraction) || 243var startOperation = invocation.Arguments[0].Value; 282var startOperation = invocation.Arguments[0].Value; 299invocation.Arguments[1].Value);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
46Arguments: [IArgumentOperation { Value: IOperation arg }] 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 632Arguments: [IArgumentOperation { Value: IOperation arg }]
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (5)
161if (IsSubtraction(result.InvocationOperation.Arguments[0].Value, out var subtraction) && 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 175if (IsSubtraction(result.InvocationOperation.Arguments[1].Value, out var subtraction) && 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 243if (result.Op1 == result.InvocationOperation.Arguments[0].Value)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (8)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (7)
103else if (operation.Arguments[0].Value is ITypeOfOperation { TypeOperand.IsUnmanagedType: true } typeOf) 110if (operation.TargetMethod.Name == "StructureToPtr" && operation.Arguments[0].Value.Type!.IsUnmanagedType) 115(ExpressionSyntax)editor.Generator.CastExpression(editor.SemanticModel.Compilation.CreatePointerTypeSymbol(operation.Arguments[0].Value.Type!), 116operation.Arguments[1].Value.Syntax)), 117operation.Arguments[0].Value.Syntax)); 130&& operation.Arguments[1].Value is ITypeOfOperation typeOf) 142IOperation pointer = operation.Arguments[0].Value;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferDictionaryContainsMethods.cs (1)
23receiver = containsInvocation.Arguments[0].Value;
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
Microsoft.CodeAnalysis.Features (22)
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (4)
476IsParameterReference(invocation.Arguments[0].Value, parameter)) 482IsParameterReference(invocation.Arguments[1].Value, parameter)) 502Arguments: [{ Value: var argumentValue }, ..] 527if (condition is IInvocationOperation { Arguments: [{ Value: var argumentValue }] } invocation &&
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (8)
193_syntaxFacts.IsIdentifierName(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 214_syntaxFacts.IsDeclarationExpression(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 238_syntaxFacts.IsLiteralExpression(argument.Value.Syntax) && argument.ArgumentKind == ArgumentKind.Explicit); 291.WhereAsArray(argument => argument.Value.Syntax is TExpressionSyntax); 356callerSemanticModel.GetSymbolInfo(argument.Value.Syntax, cancellationToken).GetAnySymbol()?.Name)) 379.Where(argument => argument.Value.Syntax is TExpressionSyntax 380&& !_syntaxFacts.IsDeclarationExpression(argument.Value.Syntax)) 499var argumentExpressionOperation = argumentOperation.Value;
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (1)
85return TryAddHashedSymbol(invocation.Arguments[0].Value, seenHash: true);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
143if (invocation.Arguments[0].Value is ILiteralOperation { ConstantValue: { HasValue: true, Value: string value } } literal && 206return IsInvariantCultureReference(invocation.Arguments[formatProviderArgumentIndex].Value) 283var alignmentOp = invocation.Arguments[0].Value; 323=> argument.Value.ConstantValue is { HasValue: true, Value: ' ' };
ValueTracking\ValueTracker.OperationCollector.cs (5)
32IArgumentOperation argumentOperation => ShouldTrackArgument(argumentOperation) ? VisitAsync(argumentOperation.Value, cancellationToken) : Task.CompletedTask, 192async (pair, cancellationToken) => await pair.collector.VisitAsync(pair.argument.Value, cancellationToken).ConfigureAwait(false)).ConfigureAwait(false); 239if (argumentOperation.Value is IExpressionStatementOperation 254if (argumentOperation.Value is IParameterReferenceOperation) 267if (argumentOperation.Value is ILiteralOperation)
Microsoft.CodeAnalysis.NetAnalyzers (235)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementIDisposableCorrectly.cs (3)
488if (argument.Value.Kind != OperationKind.Literal) 493var literal = (ILiteralOperation)argument.Value; 609IOperation argumentValue = invocationExpression.Arguments[0].Value;
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.cs (2)
123AddExpressionPartToSet(startArgument.Value, isNegated: false, startArgumentSymbols); 127AddExpressionPartToSet(lengthArgument.Value, isNegated: true, lengthArgumentSymbols);
Microsoft.CodeQuality.Analyzers\Maintainability\UseNameofInPlaceOfString.cs (6)
57|| argument.Value.Kind != OperationKind.Literal 59|| argument.Value.Type?.SpecialType != SpecialType.System_String 60|| !argument.Value.ConstantValue.HasValue 61|| argument.Value.ConstantValue.Value is not string stringText) 73context.ReportDiagnostic(argument.Value.CreateDiagnostic(RuleWithSuggestion, stringText)); 80context.ReportDiagnostic(argument.Value.CreateDiagnostic(RuleWithSuggestion, stringText));
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidDuplicateElementInitialization.cs (2)
88!argument.Value.ConstantValue.HasValue || 89argument.Value.ConstantValue.Value is not { } value)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (1)
284queue.Enqueue(argument.Value);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerationsHelpers.cs (2)
230!IsDeferredType(argumentOperation.Value.Type?.OriginalDefinition, wellKnownSymbolsInfo.AdditionalDeferredTypes)) 293!IsDeferredType(argumentOperationToCheck.Value.Type?.OriginalDefinition, wellKnownSymbolsInfo.AdditionalDeferredTypes))
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidPropertySelfAssignment.cs (2)
65if (!IsArgumentValueEqual(operationTarget.Arguments[i].Value, operationValue.Arguments[i].Value))
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (2)
175if (disposableArg.Value is IConversionOperation conversion 182return (disposableArg.Value as ILocalReferenceOperation)!;
Microsoft.NetCore.Analyzers\Data\ReviewSqlQueriesForSecurityVulnerabilities.cs (1)
190if (ReportDiagnosticIfNecessary(operationContext, argument.Value, invocationSyntax, constructorSymbol, containingSymbol))
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DelegateInteropUsageAnalyzer.cs (1)
59if (operation.Arguments.Length == 2 && operation.Arguments.GetArgumentForParameterAtIndex(1) is { Value: ITypeOfOperation { TypeOperand: INamedTypeSymbol { TypeKind: TypeKind.Delegate } delegateType } } arg)
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DisabledRuntimeMarshallingAssemblyAnalyzer.cs (2)
92"SizeOf" => invocation.TargetMethod.IsGenericMethod || (invocation.Arguments.Length > 0 && invocation.Arguments.GetArgumentForParameterAtIndex(0).Value is ITypeOfOperation { TypeOperand.IsUnmanagedType: true }), 93"StructureToPtr" => invocation.Arguments.Length > 0 && invocation.Arguments.GetArgumentForParameterAtIndex(0).Value is { Type.IsUnmanagedType: true },
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.cs (3)
398invocation.Arguments[0].Value is { } argument && 453invocation.Arguments[0].Value is IPropertyReferenceOperation propertyReference && 468!argument.Value.ConstantValue.HasValue)
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.Value.cs (5)
60if (TryDecodeRuntimeInformationIsOSPlatform(arguments[0].Value, osPlatformType, valueContentAnalysisResult, osPlatformNamesBuilder)) 72if (arguments.GetArgumentForParameterAtIndex(0).Value is ILiteralOperation literal) 218if (argument.Value.ConstantValue.HasValue && 219argument.Value.ConstantValue.Value is int versionPart) 227var valueContentValue = valueContentAnalysisResult[argument.Value];
Microsoft.NetCore.Analyzers\InteropServices\UseValidPlatformString.cs (1)
159invocation.Arguments[0].Value is { } argument &&
Microsoft.NetCore.Analyzers\Performance\AvoidPotentiallyExpensiveCallWhenLogging.cs (14)
94if (GetExpenseReason(argument.Value) is { } reason) 208return propertyReferenceOperation.Arguments.Select(static a => GetExpenseReason(a.Value)).FirstOrDefault(r => r is not null); 316if (logLevelArgumentOperation?.Value.ConstantValue.HasValue == true) 318logLevel = (int)logLevelArgumentOperation.Value.ConstantValue.Value!; 332if (logLevelArgumentOperation?.Value.ConstantValue.HasValue == true) 334logLevel = (int)logLevelArgumentOperation.Value.ConstantValue.Value!; 355.FirstOrDefault(a => a.Value.Type?.Name.Equals("LogLevel", StringComparison.Ordinal) ?? false); 362if (logLevelArgumentOperation.Value.ConstantValue.HasValue) 364logLevel = (int)logLevelArgumentOperation.Value.ConstantValue.Value!; 452if (isEnabledArgument.Value.ConstantValue.HasValue) 454int isEnabledLogLevel = (int)isEnabledArgument.Value.ConstantValue.Value!; 457? logLevelArgumentOperation?.Value.HasConstantValue(isEnabledLogLevel) ?? false 462isEnabledArgument.Value.GetReferencedMemberOrLocalOrParameter(), 463logLevelArgumentOperation?.Value.GetReferencedMemberOrLocalOrParameter());
Microsoft.NetCore.Analyzers\Performance\CollapseMultiplePathOperations.cs (4)
159if (argument.Value is IInvocationOperation nestedInvocation) 222if (argument.Value is IInvocationOperation nestedInvocation) 277if (IsSpanType(argument.Value.Type, spanType, readOnlySpanType)) 283if (argument.Value is IInvocationOperation nestedInvocation)
Microsoft.NetCore.Analyzers\Performance\ConstantExpectedAnalyzer.cs (1)
187var v = argument.Value.WalkDownConversion();
Microsoft.NetCore.Analyzers\Performance\DoNotGuardCall.cs (2)
142return AreArgumentValuesEqual(GetFirstNonInstanceArgument(invocation1)?.Value, GetFirstNonInstanceArgument(invocation2)?.Value);
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.cs (2)
336var oldValue = argumentsInParameterOrder[0].Value; 337var newValue = argumentsInParameterOrder[1].Value;
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.Fixer.cs (5)
961 => generator.InvocationExpression(methodExpression, bitConverterArgumentsInParameterOrder[0].Value.Syntax), 102bitConverterArgumentsInParameterOrder[0].Value.Syntax, 105bitConverterArgumentsInParameterOrder[1].Value.Syntax)) 1093 => generator.InvocationExpression(methodExpression, bitConverterArgumentsInParameterOrder.Select(a => a.Value.Syntax).ToArray()), 118toLowerInvocation.Arguments.Select(a => a.Value.Syntax).ToArray());
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (7)
160var usageContext = new DictionaryUsageContext(containsOperation.Instance!, containsOperation.Arguments[0].Value, addSymbol); 340IsSameConstantOrReferenceOperation(invocation.Arguments[0].Value, usageContext.ContainsKeyArgumentReference): 347&& IsSameConstantOrReferenceOperation(invocation.Arguments[0].Value, usageContext.ContainsKeyArgumentReference) 348&& invocation.Arguments[1].Value.Kind is OperationKind.Literal or OperationKind.LocalReference or OperationKind.FieldReference or OperationKind.ParameterReference or OperationKind.ConstantPattern 357&& IsSameConstantOrReferenceOperation(indexer.Arguments[0].Value, usageContext.ContainsKeyArgumentReference): 495IsSameConstantOrReferenceOperation(reference.Arguments[0].Value, usageContext.ContainsKeyArgumentReference): 503IsSameConstantOrReferenceOperation(invocation.Arguments[0].Value, usageContext.ContainsKeyArgumentReference):
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Analyzer.cs (2)
277if (TryGetInvocationWithoutParentheses(invocation.Arguments[0].Value, out IInvocationOperation? maybeRightOffendingInvocation)) 350else if (descendant is IArgumentOperation argumentDescendant && argumentDescendant.Value is IInvocationOperation argumentInvocationDescendant)
Microsoft.NetCore.Analyzers\Performance\UseAsSpanInsteadOfRangeIndexer.cs (1)
107indexerArgument = propertyReference.Arguments[0].Value;
Microsoft.NetCore.Analyzers\Performance\UseCompositeFormat.cs (2)
132IOperation stringArg = arg.Value.WalkDownConversion(); 174if (!arg.ConstantValue.HasValue && !IsStringLiteralOrStaticReference(arg.Value, allowLiteral: true))
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (4)
215if (arg.Value is IDelegateCreationOperation delegateOp) 223if (CanUpgrade(arg.Value)) 229RecordAssignment(arg.Value, arg.Parameter.Type); 234var valueTypes = GetValueTypes(arg.Value);
Microsoft.NetCore.Analyzers\Performance\UseCountProperly.cs (1)
316IOperation? constantOperation = isInstance ? parent.Arguments[0].Value : parent.Instance;
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (2)
87? AreConstantValuesWorthReplacingForStringIndexOfAny(valuesArgument.Value) 88: AreConstantValuesWorthReplacing(valuesArgument.Value, readOnlySpanType))
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.Fixer.cs (3)
85SyntaxNode createArgument = CreateSearchValuesCreateArgument(argumentOperation.Syntax, argumentOperation.Value, out SyntaxNode? memberToRemove, cancellationToken); 108string defaultSearchValuesFieldName = GetSearchValuesFieldName(argumentOperation.Value, isByte, removedOriginalMember: removedMemberName is not null); 278newOperation = argumentOperation.Value;
Microsoft.NetCore.Analyzers\Performance\UseSpanClearInsteadOfFill.cs (1)
80var value = argumentOperation.Value;
Microsoft.NetCore.Analyzers\Performance\UseStringContainsCharOverloadWithSingleCharactersAnalyzer.cs (1)
87if (primaryArgument.Value is ILiteralOperation literalOperation
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.cs (6)
168if (argument.Value.Type == null) 171if (argument.Value.Type.Equals(stringComparisonType) && 172argument.Value is IFieldReferenceOperation fieldReferenceOperation) 187else if (argument.Value.Type.Equals(cultureInfoType) && 188argument.Value is IPropertyReferenceOperation propertyReferenceOperation) 216if (argument.Value is ILiteralOperation literalOperation &&
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.Fixer.cs (2)
67return argument?.Value.Type != null && argument.Value.Type.SpecialType == SpecialType.System_Int32;
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.cs (1)
86if (argumentOperation.Value is not IConversionOperation conversionOperation
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (7)
251var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 277var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 327var found = FindMatchInExpression(arg.Value, isMatchInvocation, regexType); 503!AreOperandsEquivalent(isMatchArg.Value, matchArg.Value)) 617AddMutableSymbol(arg.Value, ref symbols); 672var argValue = argOp.Value.WalkDownParentheses().WalkDownConversion();
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.Fixer.cs (2)
112arguments[2].Value is IPropertyReferenceOperation propertyRef && 114AreSameInstance(arguments[0].Value, propertyRef.Instance);
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.cs (2)
176return lastArgument != null && lastArgument.Value.Syntax == arrayCreationExpression.Syntax && AreEquivalentZeroLengthArrayCreations(arrayCreationExpression, lastArgument.Value as IArrayCreationOperation);
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (6)
90if (targetArgument.Value is IConversionOperation targetArgumentValue) 117if (countArgument.Value is IPropertyReferenceOperation countArgumentValue && CheckLengthProperty(countArgumentValue)) 119context.ReportDiagnostic(countArgument.Value.CreateDiagnostic(Rule)); 123if (countArgument.Value is not ILocalReferenceOperation localReferenceOperation) 149context.ReportDiagnostic(countArgument.Value.CreateDiagnostic(Rule)); 156context.ReportDiagnostic(countArgument.Value.CreateDiagnostic(Rule));
Microsoft.NetCore.Analyzers\Runtime\CallGCSuppressFinalizeCorrectly.cs (1)
157if (invocationExpression.SemanticModel!.GetSymbolInfo(invocationExpression.Arguments.Single().Value.Syntax, analysisContext.CancellationToken).Symbol is not IParameterSymbol parameterSymbol || !parameterSymbol.IsThis)
Microsoft.NetCore.Analyzers\Runtime\DoNotLockOnObjectsWithWeakIdentity.cs (1)
69invocationOperation.Arguments[0].Value is IConversionOperation conversionOperation)
Microsoft.NetCore.Analyzers\Runtime\DoNotUseReferenceEqualsWithValueTypes.cs (1)
111var val = argument.Value;
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (1)
325if (paramsArgument?.Value is IArrayCreationOperation arrayOperation)
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Fixer.cs (1)
100var paramsArrayType = invocation.Arguments.SingleOrDefault(a => a.ArgumentKind == ArgumentKind.ParamArray)?.Value.Type as IArrayTypeSymbol;
Microsoft.NetCore.Analyzers\Runtime\InstantiateArgumentExceptionsCorrectly.cs (2)
115string? value = argument.Value.ConstantValue.HasValue ? argument.Value.ConstantValue.Value as string : null;
Microsoft.NetCore.Analyzers\Runtime\InstantiateArgumentExceptionsCorrectly.Fixer.cs (2)
78SyntaxNode parameter = AddNameOfIfLiteral(creation.Arguments[paramPosition].Value, editor.Generator); 111SyntaxNode argument = AddNameOfIfLiteral(creation.Arguments[0].Value, editor.Generator);
Microsoft.NetCore.Analyzers\Runtime\LoggerMessageDefineAnalyzer.cs (3)
156formatExpression = arg?.Value; 165formatExpression = argument.Value; 175if (argument.Value is IArrayCreationOperation arrayCreation)
Microsoft.NetCore.Analyzers\Runtime\NormalizeStringsToUppercase.cs (1)
82((invocation.Arguments.FirstOrDefault()?.Value as IMemberReferenceOperation)?.Member.Equals(invariantCulture) ?? false)))
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.cs (2)
63if (symbols.IsAnySubstringInvocation(argument.Value.WalkDownConversion(c => c.IsImplicit)) && argument.Parent is IInvocationOperation invocation) 104if (symbols.IsAnySubstringInvocation(argument.Value.WalkDownConversion(c => c.IsImplicit)) &&
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.Fixer.cs (1)
64IOperation value = argument.Value.WalkDownConversion(c => c.IsImplicit);
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitString.Fixer.cs (2)
37var localReferenceOperation = argumentOperation.Value as ILocalReferenceOperation; 38var literalOperation = argumentOperation.Value as ILiteralOperation;
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitStringAnalyzer.cs (3)
76if (firstArgument.Value.ConstantValue.HasValue && firstArgument.Value.ConstantValue.Value is string unitString && unitString.Length == 1) 78context.ReportDiagnostic(firstArgument.Value.CreateDiagnostic(Rule));
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOf.Fixer.cs (2)
100if (indexOfMethodArguments[0].Value.Type?.SpecialType is SpecialType.System_String or SpecialType.System_Char) 111var ordinalArgumentValue = indexOfMethodArguments[ordinalArgumentIndex].Value;
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.cs (4)
118if (argument.Value is IInvocationOperation toStringInvoke && 138argument.Value is IObjectCreationOperation objectCreation && 141objectCreation.Arguments[0].Value?.Type?.SpecialType == SpecialType.System_Char && 142objectCreation.Arguments[1].Value?.Type?.SpecialType == SpecialType.System_Int32 &&
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.Fixer.cs (4)
38arg.Value is IInvocationOperation invoke && 55argOp.Value is IObjectCreationOperation objectCreation && 68var charArgSyntax = objectCreation.Arguments[0].Value.Syntax; 69var intArgSyntax = objectCreation.Arguments[1].Value.Syntax;
Microsoft.NetCore.Analyzers\Runtime\ProvideCorrectArgumentsToFormattingMethods.cs (3)
72if (!Equals(formatStringArgument.Value.Type, formatInfo.String) || 73!(formatStringArgument.Value.ConstantValue.Value is string stringFormat)) 119if (paramsArgument.Value is not IArrayCreationOperation arrayCreation ||
Microsoft.NetCore.Analyzers\Runtime\SpecifyIFormatProvider.cs (3)
282if (argument.Value.WalkDownConversion() is IPropertyReferenceOperation { Property: { } symbol } && 343!invocationOperation.Arguments[0].Value.ConstantValue.HasValue || 344invocationOperation.Arguments[0].Value.ConstantValue.Value is not string format)
Microsoft.NetCore.Analyzers\Runtime\TestForEmptyStringsUsingStringLength.cs (1)
169return invocation.Arguments.Any(arg => IsEmptyString(arg.Value));
Microsoft.NetCore.Analyzers\Runtime\UseAsyncMethodInAsyncContext.cs (1)
179IOperation argumentValue = invocation.Arguments[0].Value;
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpers.cs (4)
293arg.Value is IPropertyReferenceOperation nameReference && 325args.GetArgumentForParameterAtIndex(argumentIndex).Value.ConstantValue.HasValue; 359arg.Value.WalkDownConversion() is ILiteralOperation { ConstantValue.HasValue: true } literal && 401arg.Value is IParameterReferenceOperation parameterReferenceOperation)
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.cs (2)
66if (lastArgument.Value.Kind == OperationKind.FieldReference) 68IFieldSymbol fieldSymbol = ((IFieldReferenceOperation)lastArgument.Value).Field;
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.Fixer.cs (1)
131var renamedArgumentSyntax = generator.Argument(AsSpanStartParameterName, RefKind.None, namedStartIndexArgument.Value.Syntax);
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.cs (2)
208if (invocation!.Arguments.FirstOrDefault()?.Value is ILiteralOperation { ConstantValue.Value: 0 }) 272invocation.Arguments.GetArgumentForParameterAtIndex(2).Value is ILiteralOperation literal &&
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.Fixer.cs (6)
163compareInvocation.Arguments.GetArgumentsInParameterOrder().Select(x => x.Value.Syntax)); 188var ignoreCaseLiteral = (ILiteralOperation)compareInvocation.Arguments.GetArgumentForParameterAtIndex(2).Value; 203compareInvocation.Arguments.GetArgumentForParameterAtIndex(0).Value.Syntax, 204compareInvocation.Arguments.GetArgumentForParameterAtIndex(1).Value.Syntax, 229invocation.Arguments.GetArgumentsInParameterOrder().Select(x => x.Value.Syntax)); 253compareInvocation.Arguments.GetArgumentsInParameterOrder().Select(x => x.Value.Syntax));
Microsoft.NetCore.Analyzers\Security\DoNotSetSwitch.cs (1)
110var values = invocationOperation.Arguments.Select(s => s.Value.ConstantValue).ToArray();
Microsoft.NetCore.Analyzers\Security\DoNotUseDSA.cs (4)
132arguments[0].Value.ConstantValue.HasValue && 133arguments[0].Value.ConstantValue.Value is { } argValue) 148arguments[0].Value.ConstantValue.HasValue && 149arguments[0].Value.ConstantValue.Value is { } argValueForFirstParameter)
Microsoft.NetCore.Analyzers\Security\DoNotUseWeakKDFAlgorithm.cs (1)
80if (hashAlgorithmNameArgumentOperation.Value is IPropertyReferenceOperation propertyReferenceOperation &&
Microsoft.NetCore.Analyzers\Security\SetHttpOnlyForHttpCookie.cs (1)
133if (httpCookieSymbol.Equals(argumentOperation.Value.Type))
Microsoft.NetCore.Analyzers\Security\SslProtocolsAnalyzer.cs (1)
122valueOperation = argumentOperation.Value;
Microsoft.NetCore.Analyzers\Security\UseAutoValidateAntiforgeryToken.cs (1)
186.Select(s => s.Value)
Microsoft.NetCore.Analyzers\Security\UseRSAWithSufficientKeySize.cs (7)
91arguments[0].Value.ConstantValue.HasValue && 92Convert.ToInt32(arguments[0].Value.ConstantValue.Value, CultureInfo.InvariantCulture) < 2048) 130arguments[0].Value.ConstantValue.HasValue) 132if (arguments[0].Value.ConstantValue.Value is { } argValue && 146arguments[0].Value.ConstantValue.HasValue) 149if (arguments[0].Value.ConstantValue.Value is { } argValue && 154arguments[1].Value is IArrayCreationOperation arrayCreationOperation /* Use CryptoConfig.CreateFromName(string, object[]) to create RSA */&&
Microsoft.NetCore.Analyzers\Tasks\DoNotConfigureAwaitWithSuppressThrowing.cs (1)
63invocation.Arguments[0].Value is IOperation { ConstantValue.HasValue: true } arg &&
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.cs (1)
77arguments[0].Value is IConversionOperation conversionOperation &&
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.Fixer.cs (1)
69arg.Value is IConversionOperation convert &&
Microsoft.NetCore.Analyzers\Tasks\DoNotUseNonCancelableTaskDelayWithWhenAny.cs (1)
71var argument = invocation.Arguments[i].Value.WalkDownConversion();
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgument.cs (1)
108if (argument.Value is not IArrayCreationOperation
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (1)
100=> ((IArrayCreationOperation)operation.Arguments[0].Value).Initializer?.ElementValues[0].Syntax!;
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (1)
477OperationImpliesCompletion(valueTaskSymbol, assert.Arguments[0].Value) == true)
Microsoft.NetCore.Analyzers\Usage\DoNotPassNonNullableValueToArgumentNullExceptionThrowIfNull.cs (3)
66if (invocation.Arguments[0].Value.WalkDownConversion().Type.IsNonNullableValueType() 67|| invocation.Arguments[0].Value.WalkDownConversion().Kind is OperationKind.NameOf or OperationKind.ObjectCreation or OperationKind.ObjectOrCollectionInitializer) 72if (invocation.Arguments[0].Value.WalkDownConversion().Type.IsNullableValueType())
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.cs (3)
158var typeOfArguments = argumentsInParameterOrder.WhereAsArray(a => a.Value is ITypeOfOperation); 168.Select(a => a.Value) 225if (!OtherArguments[i].Value.WalkDownConversion().Type.IsAssignableTo(method.Parameters[i].Type, compilation))
Microsoft.NetCore.Analyzers\Usage\ProvideCorrectArgumentToEnumHasFlag.cs (1)
52invocation.Arguments[0].Value is IConversionOperation conversion &&
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (4)
135var resolverArgumentOperation = arguments[xmlResolverIndex].Value; 144var settingsOperation = arguments[xsltSettingsIndex].Value; 242env.IsDocumentFunctionDisabled = arguments[0].Value.TryGetBoolConstantValue(out var value) 244env.IsScriptDisabled = arguments[1].Value.TryGetBoolConstantValue(out value) && !value;
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
177valueContentBuilder.Add(this.GetValueContentAbstractValue(argumentOperation.Value)); 462if (visitedArgument.Value?.Type != null && this.TrackedTypeSymbols.Any(s => visitedArgument.Value.Type.GetBaseTypesAndThis().Contains(s))) 465visitedArgument.Value.Syntax, 467visitedArgument.Value, 529IOperation value = argumentOperation.Value; 543instance = argumentOperation.Value;
src\9382845807600969\AbstractLocationDataFlowOperationVisitor.cs (2)
70if (operation.Value.Type != null) 73var value = HandleInstanceCreation(operation.Value, instanceLocation, defaultValue);
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (1)
333var pointsToValue = GetPointsToAbstractValue(operation.Value);
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (3)
321HandleEscapingOperation(operation, operation.Value); 325HandlePossibleEscapingForAssignment(target: operation.Value, value: operation, operation: operation); 953HandleEscapingOperation(argument, argument.Value);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (4)
43GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 44firstArg.Value.Type; 636=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance; 788if (argumentOperation.Parameter?.Ordinal < minOrdinal && argumentOperation.Value is TOperation to)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (2)
197return TryCreate(argument.Value, out analysisEntity); 301CreateAbstractIndices(propertyReference.Arguments.Select(a => a.Value).ToImmutableArray()) :
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
1668PerformPredicateAnalysisCore(argument.Value, targetAnalysisData); 1706_ = SetValueForIsNullComparisonOperator(invocation.Arguments[0].Value, equals: false, targetAnalysisData: targetAnalysisData); 1720leftOperand = invocation.Arguments[0].Value; 1721rightOperand = invocation.Arguments[1].Value; 1723(AnalysisEntityFactory.TryCreate(invocation.Arguments[0].Value, out var analysisEntity) && 1738rightOperand = invocation.Arguments[0].Value; 3071var value = Visit(operation.Value, argument); 3110operation.Value.Type != null && 3111!operation.Value.Type.HasValueCopySemantics()) 3113ResetReferenceTypeInstanceAnalysisData(operation.Value); 3122value = ValueDomain.Merge(value, GetCachedAbstractValue(operation.Value)); 3126SetAbstractValueForAssignment(operation.Value, operation, value); 3200var wrappedOperationValue = GetCachedAbstractValue(operation.Arguments[0].Value); 3240HandleEnterLockOperation(arguments[0].Value); 3260target: arguments[0].Value, 3261assignedValueOperation: arguments[1].Value, 3262assignedValue: GetCachedAbstractValue(arguments[1].Value),
Microsoft.CodeAnalysis.ResxSourceGenerator (4)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 43firstArg.Value.Type; 449=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
Microsoft.CodeAnalysis.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
Microsoft.Extensions.Configuration.Binder.SourceGeneration (1)
Parser\ConfigurationBinder.cs (1)
87ITypeSymbol? type = ResolveType(instanceArg.Value)?.WithNullableAnnotation(NullableAnnotation.None);
Microsoft.Extensions.Validation.ValidationsGenerator (1)
src\768f3af0174e68df\InvocationOperationExtensions.cs (1)
92IArgumentOperation argument => ResolveMethodFromOperation(argument.Value, semanticModel),
Microsoft.Interop.ComInterfaceGenerator (3)
Analyzers\ComHostingDoesNotSupportGeneratedComInterfaceAnalyzer.cs (1)
46|| ctor.Arguments[0].Value.ConstantValue.Value is not true)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (2)
200static Func<IInvocationOperation, (ITypeSymbol Type, Location location)?> CreateArgumentTypeLookup(int ordinal) => invocation => invocation.GetArgumentByOrdinal(ordinal).Value switch 235static Func<IInvocationOperation, (ITypeSymbol Type, Location location)?> CreateTypeOfArgumentTypeLookup(int ordinal) => invocation => invocation.GetArgumentByOrdinal(ordinal).Value switch
Microsoft.Interop.LibraryImportGenerator (10)
Analyzers\CustomMarshallerAttributeAnalyzer.cs (7)
650if (managedTypeArgument.Value.IsNullLiteralOperation()) 652DiagnosticReporter managedTypeReporter = DiagnosticReporter.CreateForLocation(managedTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 655else if (managedTypeArgument.Value is ITypeOfOperation managedTypeOfOp) 671if (marshallerTypeArgument.Value.IsNullLiteralOperation()) 673DiagnosticReporter marshallerTypeReporter = DiagnosticReporter.CreateForLocation(marshallerTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 676else if (marshallerTypeArgument.Value is ITypeOfOperation marshallerTypeOfOp) 689if (marshalModeArgument.Value is not IFieldReferenceOperation { ConstantValue.Value: var marshalMode }
Analyzers\NativeMarshallingAttributeAnalyzer.cs (3)
91if (marshallerEntryPointTypeArgument.Value.IsNullLiteralOperation()) 93DiagnosticReporter diagnosticFactory = DiagnosticReporter.CreateForLocation(marshallerEntryPointTypeArgument.Value.Syntax.GetLocation(), context.ReportDiagnostic); 98if (marshallerEntryPointTypeArgument.Value is ITypeOfOperation typeOfOp)
Roslyn.Diagnostics.Analyzers (9)
AbstractDoNotCopyValue.cs (2)
398var value = operation.Value; 400var sourceRefKind = Acquire(operation.Value);
ImmutableArrayBoxingAnalyzer.cs (1)
78var instance = invocation.Instance ?? invocation.Arguments.FirstOrDefault()?.Value;
PooledArrayBuilderAsRefAnalyzer.cs (1)
64var instance = invocation.Instance ?? invocation.Arguments.FirstOrDefault()?.Value;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (3)
42GetReceiverType(firstArg.Value.Syntax, compilation, cancellationToken) : 43firstArg.Value.Type; 449=> invocationOperation.IsExtensionMethodAndHasNoInstance() ? invocationOperation.Arguments[0].Value : invocationOperation.Instance;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
363operation.Value.Type.IsDelegateType())
TemporaryArrayAsRefAnalyzer.cs (1)
62var instance = invocation.Instance ?? invocation.Arguments.FirstOrDefault()?.Value;
Roslyn.Diagnostics.CSharp.Analyzers (2)
CSharpDoNotUseDebugAssertForInterpolatedStrings.cs (1)
68invocation.Arguments is [_, IArgumentOperation { Value: IInterpolatedStringOperation { ConstantValue.HasValue: false } }])
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
System.Text.RegularExpressions.Generator (12)
UpgradeToGeneratedRegexAnalyzer.cs (4)
121if (!argument.Value.ConstantValue.HasValue) 128_ = RegexParser.ParseOptionsInPattern((string)argument.Value.ConstantValue.Value!, RegexOptions.None); 144if (!argument.Value.ConstantValue.HasValue) 149RegexOptions value = (RegexOptions)(int)argument.Value.ConstantValue.Value!;
UpgradeToGeneratedRegexCodeFixer.cs (8)
382?.Value.ConstantValue.Value as string; 388return optionsArgument is null || !optionsArgument.Value.ConstantValue.HasValue ? 390(RegexOptions)(int)optionsArgument.Value.ConstantValue.Value!; 401if (argument.Value is ILiteralOperation or IFieldReferenceOperation { Member: IFieldSymbol { IsConst: true } }) 403return argument.Value.Syntax; 409string optionsLiteral = Literal(((RegexOptions)(int)argument.Value.ConstantValue.Value!).ToString()); 413if (argument.Value.ConstantValue.Value is string str && ShouldUseVerbatimString(str)) 421return generator.LiteralExpression(argument.Value.ConstantValue.Value);