1 implementation of IConversionOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
5130internal sealed partial class ConversionOperation : Operation, IConversionOperation
292 references to IConversionOperation
Aspire.Hosting.Integration.Analyzers (1)
AspireExportAnalyzer.cs (1)
1154while (operation is IConversionOperation conversion)
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (1)
106IConversionOperation c => ResolveType(c.Operand),
GenerateDocumentationAndConfigFiles (6)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
ILLink.RoslynAnalyzer (4)
DataFlow\LocalDataFlowVisitor.cs (3)
1023case IConversionOperation conversion: 1037while (source is IConversionOperation { OperatorMethod: null } conversion) 1357public override TValue VisitConversion(IConversionOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
127public override MultiValue VisitConversion(IConversionOperation operation, StateValue state)
Microsoft.Analyzers.Local (4)
CallAnalysis\CallAnalyzer.Handlers.cs (1)
116if (op.Exception is IConversionOperation convOp)
CallAnalysis\Throws.cs (2)
30var convOp = (IConversionOperation?)op.Exception;
CallAnalysis\ToInvariantString.cs (1)
42if (a.Value is IConversionOperation conv)
Microsoft.AspNetCore.App.Analyzers (4)
Http\RequestDelegateReturnTypeAnalyzer.cs (1)
117while (operation is IConversionOperation conversionOperation)
RouteHandlers\DetectAmbiguousRoutes.cs (1)
287while (operation is IConversionOperation conversionOperation)
RouteHandlers\DisallowReturningActionResultFromMapMethods.cs (1)
62if (returnedValue is IConversionOperation conversionOperation)
RouteHandlers\RouteHandlerAnalyzer.cs (1)
238while (operation is IConversionOperation conversionOperation)
Microsoft.AspNetCore.Components.Analyzers (4)
ForLoopIteratorInClosureAnalyzer.cs (2)
197else if (valueArgument is IConversionOperation conversionOperation 248|| currentOperation is IConversionOperation
StateHasChangedAnalyzer.cs (1)
274case IConversionOperation conversion:
VirtualizeSpacerElementAnalyzer.cs (1)
405while (operation is IConversionOperation conversion)
Microsoft.AspNetCore.Http.RequestDelegateGenerator (1)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (1)
93IConversionOperation conv => ResolveMethodFromOperation(conv.Operand, semanticModel, needsAccurateSignature),
Microsoft.Build.TaskAuthoring.Analyzer (8)
PreferTypedParameterAnalyzer.cs (6)
904while (operation is IConversionOperation conversion) 960while (operation is IConversionOperation conversion) 986while (operation is IConversionOperation conversion) 1041while (operation is IConversionOperation conversion) 1092while (operation is IConversionOperation conversion) 1172while (operation is IConversionOperation conversion)
SharedAnalyzerHelpers.cs (2)
286while (argument is IConversionOperation { Conversion.IsIdentity: true } conversion) 319while (operation is IConversionOperation conversion)
Microsoft.CodeAnalysis (13)
Generated\OperationKind.Generated.cs (1)
60/// <summary>Indicates an <see cref="IConversionOperation"/>.</summary>
Generated\Operations.Generated.cs (3)
10966public override IOperation VisitConversion(IConversionOperation operation, object? argument) 11511public virtual void VisitConversion(IConversionOperation operation) => DefaultVisit(operation); 11651public virtual TResult? VisitConversion(IConversionOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (9)
1628if (operation.WhenTrue is IConversionOperation whenTrueConversion && whenTrueConversion.Operand.Kind == OperationKind.Throw) 1640else if (operation.WhenFalse is IConversionOperation whenFalseConversion && whenFalseConversion.Operand.Kind == OperationKind.Throw) 2933var conversion = (IConversionOperation)condition; 3054var conversion = operation.WhenNull as IConversionOperation; 7092Debug.Assert(interpolation.FormatString is ILiteralOperation or IConversionOperation { Operand: ILiteralOperation }); 7105Debug.Assert(interpolatedStringText.Text is ILiteralOperation or IConversionOperation { Operand: ILiteralOperation }); 7464public override IOperation VisitConversion(IConversionOperation operation, int? captureIdForResult)
Microsoft.CodeAnalysis.Analyzers (10)
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (3)
281if (operation is IConversionOperation conversion) 303if (operation is IConversionOperation conversion) 313if (operation is not IConversionOperation conversion)
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
114case IConversionOperation conversion:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.CodeAnalysis.AnalyzerUtilities (14)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
213public override TaintedDataAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1141public override PointsToAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (1)
533ITypeSymbol? argumentTypeSymbol = value is IConversionOperation conversionOperation ? conversionOperation.Operand.Type : value.Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
600public override CopyAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (2)
192case IConversionOperation conversion: 215if (flowCapture.Value is IConversionOperation conversion)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ConversionInference.cs (1)
17public static ConversionInference Create(IConversionOperation operation)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
1221internal bool TryInferConversion(IConversionOperation operation, out ConversionInference inference) 1674case IConversionOperation conversion: 3148public override TAbstractAnalysisValue VisitConversion(IConversionOperation operation, object? argument)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.CodeStyle (11)
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
706var conversion = (IConversionOperation)assignmentValue;
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.cs (1)
230if (value is IConversionOperation conversion)
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (1)
120if (pattern is IConstantPatternOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } })
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
197case ISingleValueCaseClauseOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } }:
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
63if (interpolation.Parent is IInterpolatedStringOperation { Parent: IConversionOperation { Type: { } convertedType } conversion } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
109case IConversionOperation { IsImplicit: true } conversion:
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
243if (operation is IConversionOperation conversion && conversion.IsImplicit)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (1)
192if (value is IConversionOperation conversion &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.CodeAnalysis.CSharp (6)
CSharpExtensions.cs (5)
778/// Gets the underlying <see cref="Conversion"/> information from this <see cref="IConversionOperation"/>. This 779/// <see cref="IConversionOperation"/> must have been created from CSharp code. 783/// <exception cref="InvalidCastException">If the <see cref="IConversionOperation"/> was not created from CSharp code.</exception> 784public static Conversion GetConversion(this IConversionOperation conversionExpression) 798nameof(IConversionOperation)),
Operations\CSharpOperationFactory.cs (1)
1198private IConversionOperation CreateBoundAsOperatorOperation(BoundAsOperator boundAsOperator)
Microsoft.CodeAnalysis.CSharp.CodeStyle (24)
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (5)
32private static IConversionOperation? GetInitialOperation( 59IConversionOperation? highestExplicitConversion = null; 61current is IConversionOperation conversionOperation; 84var outerConversionOperation = GetInitialOperation(semanticModel, castExpression, cancellationToken); 95if (outerConversionOperation.Operand is not IConversionOperation innerConversionOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
362if (operation is IConversionOperation conversionOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
129var leftConv = (leftTarget as IConversionOperation)?.Conversion; 130var rightConv = (rightTarget as IConversionOperation)?.Conversion;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
161return operation is IConversionOperation { Conversion.IsUserDefined: false } op
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (15)
97while (current is IConversionOperation { Type.SpecialType: SpecialType.System_Delegate or SpecialType.System_MulticastDelegate }) 100if (current is IConversionOperation { Type.SpecialType: SpecialType.System_Object }) 107if (current.Parent is IConversionOperation { Type: { } parentConversionType, IsImplicit: false } && 205if (originalOperation is IConversionOperation originalConversionOperation) 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 278if (originalDelegateCreationOperation.Parent is IConversionOperation conversionOperation && 290SemanticModel originalSemanticModel, IConversionOperation originalConversionOperation, 420if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 777private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 789if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 800ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 842if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 942if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 997if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1107if (operation is not IConversionOperation conversionOperation)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
581Value: IConversionOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
63var isConvertedToReadOnlySpan = arrayOp.Parent is IConversionOperation conversion &&
Microsoft.CodeAnalysis.CSharp.Features (14)
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (1)
909if (operation is IConversionOperation conversion && conversion.IsImplicit)
Copilot\CSharpImplementNotImplementedExceptionDiagnosticAnalyzer.cs (2)
51Exception: IConversionOperation 98ReturnedValue: IConversionOperation
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (5)
32private static IConversionOperation? GetInitialOperation( 59IConversionOperation? highestExplicitConversion = null; 61current is IConversionOperation conversionOperation; 84var outerConversionOperation = GetInitialOperation(semanticModel, castExpression, cancellationToken); 95if (outerConversionOperation.Operand is not IConversionOperation innerConversionOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
362if (operation is IConversionOperation conversionOperation)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
129var leftConv = (leftTarget as IConversionOperation)?.Conversion; 130var rightConv = (rightTarget as IConversionOperation)?.Conversion;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
161return operation is IConversionOperation { Conversion.IsUserDefined: false } op
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
581Value: IConversionOperation
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
63var isConvertedToReadOnlySpan = arrayOp.Parent is IConversionOperation conversion &&
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (4)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (1)
70if (operation is IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferDictionaryContainsMethods.cs (1)
31receiver = receiver is IConversionOperation conversion ? conversion.Operand : receiver;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferReadOnlySpanPropertiesOverReadOnlyArrayFields.Fixer.cs (1)
449invocation.Parent is not IConversionOperation { Type: { } conversionType } ||
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.Fixer.cs (1)
45if (invocationContext.Parent is IConversionOperation conversionOperation
Microsoft.CodeAnalysis.CSharp.Workspaces (15)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (15)
97while (current is IConversionOperation { Type.SpecialType: SpecialType.System_Delegate or SpecialType.System_MulticastDelegate }) 100if (current is IConversionOperation { Type.SpecialType: SpecialType.System_Object }) 107if (current.Parent is IConversionOperation { Type: { } parentConversionType, IsImplicit: false } && 205if (originalOperation is IConversionOperation originalConversionOperation) 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 278if (originalDelegateCreationOperation.Parent is IConversionOperation conversionOperation && 290SemanticModel originalSemanticModel, IConversionOperation originalConversionOperation, 420if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 777private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 789if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 800ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 842if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 942if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 997if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1107if (operation is not IConversionOperation conversionOperation)
Microsoft.CodeAnalysis.Features (11)
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
389return (collection is IConversionOperation conversion && conversion.IsImplicit)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
446return operation is IConversionOperation { Conversion.IsUserDefined: false } op
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
706var conversion = (IConversionOperation)assignmentValue;
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.cs (1)
230if (value is IConversionOperation conversion)
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (1)
120if (pattern is IConstantPatternOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } })
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
197case ISingleValueCaseClauseOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } }:
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
63if (interpolation.Parent is IInterpolatedStringOperation { Parent: IConversionOperation { Type: { } convertedType } conversion } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
109case IConversionOperation { IsImplicit: true } conversion:
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
243if (operation is IConversionOperation conversion && conversion.IsImplicit)
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (1)
192if (value is IConversionOperation conversion &&
Microsoft.CodeAnalysis.NetAnalyzers (78)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\EnumShouldNotHaveDuplicatedValues.cs (1)
106if (initializer.Value is not IConversionOperation { Operand: IFieldReferenceOperation { Field: IFieldSymbol referencedField } }
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementIDisposableCorrectly.cs (2)
614var conversion = (IConversionOperation)argumentValue;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (2)
262if (currentOperation is IConversionOperation conversionOperation) 299IConversionOperation conversionOperation,
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerationsHelpers.cs (1)
87return operation is IConversionOperation { IsImplicit: true } conversionOperation
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotInitializeUnnecessarily.cs (1)
95while (value is IConversionOperation conversion && !conversion.Conversion.IsUserDefined)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotPassDisposablesIntoUnawaitedTasks.cs (1)
175if (disposableArg.Value is IConversionOperation conversion
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DelegateInteropUsageAnalyzer.cs (2)
73if (operation.HasArgument<IConversionOperation>(out var conversion))
Microsoft.NetCore.Analyzers\Performance\AvoidPotentiallyExpensiveCallWhenLogging.cs (2)
151if (operation is IConversionOperation conversionOperation) 247static bool IsBoxing(IConversionOperation conversionOperation) =>
Microsoft.NetCore.Analyzers\Performance\DoNotUseAsParallelInForEachLoop.cs (1)
80while (collection is IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.cs (1)
247case IConversionOperation { Parent: IVariableInitializerOperation variableInitializerOperationAlt }:
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (3)
219case IConversionOperation { Parent: IConversionOperation or IForEachLoopOperation }: 236case IConversionOperation:
Microsoft.NetCore.Analyzers\Performance\UseAsSpanInsteadOfRangeIndexer.cs (1)
165if (operationContext.Operation.Parent is not IConversionOperation conversionOperation)
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (2)
463var convOp = (IConversionOperation)op;
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (2)
169if (argument is IConversionOperation conversion) 337if (operation is IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.Fixer.cs (2)
231if (argument is IConversionOperation conversion) 323if (argument is IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Performance\UseSpanClearInsteadOfFill.cs (1)
129if (value is IConversionOperation { Operand: IDefaultValueOperation defaultValue })
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.cs (1)
86if (argumentOperation.Value is not IConversionOperation conversionOperation
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (1)
90if (targetArgument.Value is IConversionOperation targetArgumentValue)
Microsoft.NetCore.Analyzers\Runtime\DoNotCallEnumerableCastOrOfTypeWithIncompatibleTypesAnalyzer.cs (1)
153if (operation is IConversionOperation conversionOperation
Microsoft.NetCore.Analyzers\Runtime\DoNotLockOnObjectsWithWeakIdentity.cs (1)
69invocationOperation.Arguments[0].Value is IConversionOperation conversionOperation)
Microsoft.NetCore.Analyzers\Runtime\DoNotUseReferenceEqualsWithValueTypes.cs (1)
116if (val is IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Runtime\PreferReadOnlySpanPropertiesOverReadOnlyArrayFieldsAnalyzer.cs (2)
347invocation.Parent is IConversionOperation conversion && 365public override Unit VisitConversion(IConversionOperation operation, VisitContext argument)
Microsoft.NetCore.Analyzers\Runtime\PreventNumericIntPtrUIntPtrBehavioralChanges.cs (3)
91else if (context.Operation is IConversionOperation conversionOperation) 94if (operation is IConversionOperation explicitConversion && 164operation is IConversionOperation conversion &&
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.cs (2)
151if (operand is not IConversionOperation conversion) 163if (operand is not IConversionOperation conversion)
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInIFormatterSerializableObjectGraphAnalyzer.cs (1)
102&& invocationOperation.Parent is IConversionOperation conversionOperation))
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInSerializableObjectGraphAnalyzer.cs (2)
159&& invocationOperation.Parent is IConversionOperation javaScriptConversionOperation) 231&& invocationOperation.Parent is IConversionOperation conversionOperation)
Microsoft.NetCore.Analyzers\Security\SourceTriggeredTaintedDataAnalyzerBase.cs (2)
381case IConversionOperation { OperatorMethod: not null }: 565case IConversionOperation { OperatorMethod: not null }:
Microsoft.NetCore.Analyzers\Security\UseRSAWithSufficientKeySize.cs (1)
159s => s is IConversionOperation conversionOperation &&
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.cs (3)
49IConversionOperation? conversionOperation = null; 71IConversionOperation? MatchInvalidContinuationOptions(IMethodSymbol? targetMethod, ImmutableArray<IArgumentOperation> arguments) => 77arguments[0].Value is IConversionOperation conversionOperation &&
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.Fixer.cs (1)
72arg.Value is IConversionOperation convert &&
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (2)
187var conversion = (IConversionOperation)operation.Parent;
Microsoft.NetCore.Analyzers\Usage\ProvideCorrectArgumentToEnumHasFlag.cs (2)
52invocation.Arguments[0].Value is IConversionOperation conversion && 64private static string GetArgumentTypeName(IConversionOperation conversion)
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (8)
374if (propValue is not IConversionOperation operation) 449if (propValue is IConversionOperation operation 524if (propValue is not IConversionOperation operation) 555IConversionOperation conv = expression.Value as IConversionOperation; 592IConversionOperation conv = expression.Value as IConversionOperation; 657if (assignment.Value is IConversionOperation conv && SecurityDiagnosticHelpers.IsXmlReaderSettingsXmlResolverProperty(propRef.Property, _xmlTypes))
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (2)
136if (resolverArgumentOperation is IConversionOperation conversion) 207if (rhs is IConversionOperation { IsImplicit: true })
src\0437c1690f5501bd\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
602public override CopyAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (1)
534ITypeSymbol? argumentTypeSymbol = value is IConversionOperation conversionOperation ? conversionOperation.Operand.Type : value.Type;
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
211public override TaintedDataAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1140public override PointsToAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
652IConversionOperation conversion => conversion.Operand.GetReferencedMemberOrLocalOrParameter(), 694while (operation is IConversionOperation conversionOperation) 709public static IOperation WalkDownConversion(this IOperation operation, Func<IConversionOperation, bool> predicate) 711while (operation is IConversionOperation conversionOperation && predicate(conversionOperation)) 725while (operation.Parent is IConversionOperation conversionOperation) 739if (thrownObject is IConversionOperation conversion &&
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (1)
273case IConversionOperation { OperatorMethod: not null }:
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (2)
190case IConversionOperation conversion: 213if (flowCapture.Value is IConversionOperation conversion)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ConversionInference.cs (1)
16public static ConversionInference Create(IConversionOperation operation)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
1218internal bool TryInferConversion(IConversionOperation operation, out ConversionInference inference) 1671case IConversionOperation conversion: 3150public override TAbstractAnalysisValue VisitConversion(IConversionOperation operation, object? argument)
Microsoft.CodeAnalysis.ResxSourceGenerator (4)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (4)
Microsoft.NetCore.Analyzers\Runtime\BasicPreferDictionaryContainsMethods.vb (1)
21Dim receiverAsConversion = TryCast(receiver, IConversionOperation)
Microsoft.NetCore.Analyzers\Runtime\BasicUseSpanBasedStringConcat.vb (1)
35Dim conversion = TryCast(operation, IConversionOperation)
Microsoft.NetCore.Analyzers\Usage\BasicPreferGenericOverloads.Fixer.vb (2)
45If TypeOf invocationContext.Parent Is IConversionOperation And 48Dim conversionOperation = CType(invocationContext.Parent, IConversionOperation)
Microsoft.CodeAnalysis.Workspaces (5)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.Extensions.Configuration.Binder.SourceGeneration (1)
Parser\ConfigurationBinder.cs (1)
106IConversionOperation c => ResolveType(c.Operand),
Microsoft.Extensions.Validation.ValidationsGenerator (2)
Analyzers\ValidationsDiagnosticAnalyzer.cs (1)
312if (receiver is IConversionOperation conversion)
src\768f3af0174e68df\InvocationOperationExtensions.cs (1)
93IConversionOperation conv => ResolveMethodFromOperation(conv.Operand, semanticModel, needsAccurateSignature),
Microsoft.Interop.ComInterfaceGenerator (5)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (5)
141var operation = (IConversionOperation)context.Operation; 146if (operand is IConversionOperation { Type.SpecialType: SpecialType.System_Object } objConversion) 174if (operand is IConversionOperation { Type.SpecialType: SpecialType.System_Object } objConversion) 202IConversionOperation conversion => (conversion.Operand.Type, conversion.Operand.Syntax.GetLocation()),
Roslyn.Diagnostics.Analyzers (14)
AbstractDoNotCopyValue.cs (7)
371protected abstract bool CheckForEachGetEnumerator(IForEachLoopOperation operation, [DisallowNull] ref IConversionOperation? conversion, [DisallowNull] ref IOperation? instance); 546public override void VisitConversion(IConversionOperation operation) 760var instance = operation.Collection as IConversionOperation; 761var instance2 = (operation.Collection as IConversionOperation)?.Operand; 1385var conversion = (IConversionOperation)operation;
ImmutableArrayBoxingAnalyzer.cs (1)
80if (instance is not IConversionOperation conversionOperation)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Roslyn.Diagnostics.CSharp.Analyzers (16)
CSharpDoNotCopyValue.cs (1)
33protected override bool CheckForEachGetEnumerator(IForEachLoopOperation operation, [DisallowNull] ref IConversionOperation? conversion, [DisallowNull] ref IOperation? instance)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (15)
97while (current is IConversionOperation { Type.SpecialType: SpecialType.System_Delegate or SpecialType.System_MulticastDelegate }) 100if (current is IConversionOperation { Type.SpecialType: SpecialType.System_Object }) 107if (current.Parent is IConversionOperation { Type: { } parentConversionType, IsImplicit: false } && 205if (originalOperation is IConversionOperation originalConversionOperation) 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 278if (originalDelegateCreationOperation.Parent is IConversionOperation conversionOperation && 290SemanticModel originalSemanticModel, IConversionOperation originalConversionOperation, 420if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 777private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 789if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 800ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 842if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 942if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 997if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1107if (operation is not IConversionOperation conversionOperation)
System.Windows.Forms.Analyzers (3)
System\Windows\Forms\Analyzers\Designer\DesignerTypeFacts.cs (2)
107while (value is IConversionOperation { OperatorMethod: null } or IParenthesizedOperation) 109value = value is IConversionOperation conversion
System\Windows\Forms\Analyzers\PropertyAllocatesNewInstanceAnalyzer.cs (1)
54while (value.Parent is IConversionOperation { OperatorMethod: null } or IParenthesizedOperation)