1 implementation of IConversionOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
5132internal sealed partial class ConversionOperation : Operation, IConversionOperation
260 references to IConversionOperation
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (1)
106IConversionOperation c => ResolveType(c.Operand),
GenerateDocumentationAndConfigFiles (6)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
ILLink.RoslynAnalyzer (2)
DataFlow\LocalDataFlowVisitor.cs (1)
810public override TValue VisitConversion(IConversionOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
127public override MultiValue VisitConversion(IConversionOperation operation, StateValue state)
Metrics (4)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Metrics.Legacy (4)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
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)
86while (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.Http.RequestDelegateGenerator (1)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (1)
86IConversionOperation conv => ResolveMethodFromOperation(conv.Operand, semanticModel),
Microsoft.AspNetCore.Mvc.Api.Analyzers (3)
ActualApiResponseMetadataFactory.cs (3)
74while (returnedValue is IConversionOperation conversion) 211while (operation is IConversionOperation conversionOperation) 228while (operation is IConversionOperation conversion)
Microsoft.Build.TaskAuthoring.Analyzer (1)
SharedAnalyzerHelpers.cs (1)
126while (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)
10968public override IOperation VisitConversion(IConversionOperation operation, object? argument) 11513public virtual void VisitConversion(IConversionOperation operation) => DefaultVisit(operation); 11654public virtual TResult? VisitConversion(IConversionOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (9)
1620if (operation.WhenTrue is IConversionOperation whenTrueConversion && whenTrueConversion.Operand.Kind == OperationKind.Throw) 1632else if (operation.WhenFalse is IConversionOperation whenFalseConversion && whenFalseConversion.Operand.Kind == OperationKind.Throw) 2925var conversion = (IConversionOperation)condition; 3046var conversion = operation.WhenNull as IConversionOperation; 7083Debug.Assert(interpolation.FormatString is ILiteralOperation or IConversionOperation { Operand: ILiteralOperation }); 7096Debug.Assert(interpolatedStringText.Text is ILiteralOperation or IConversionOperation { Operand: ILiteralOperation }); 7455public 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\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
114case IConversionOperation conversion:
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.CodeAnalysis.AnalyzerUtilities (14)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
600public override CopyAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1141public override PointsToAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (1)
533ITypeSymbol? argumentTypeSymbol = value is IConversionOperation conversionOperation ? conversionOperation.Operand.Type : value.Type;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
213public override TaintedDataAbstractValue VisitConversion(IConversionOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (2)
192case IConversionOperation conversion: 215if (flowCapture.Value is IConversionOperation conversion)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ConversionInference.cs (1)
17public static ConversionInference Create(IConversionOperation operation)
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.BannedApiAnalyzers (8)
RestrictedInternalsVisibleToAnalyzer.cs (1)
94IConversionOperation conversion => conversion.OperatorMethod,
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
SymbolIsBannedAnalyzerBase.cs (1)
114case IConversionOperation conversion:
Microsoft.CodeAnalysis.CodeStyle (11)
src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.cs (1)
230if (value is IConversionOperation conversion)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (1)
120if (pattern is IConstantPatternOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } })
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
197case ISingleValueCaseClauseOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } }:
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
690var conversion = (IConversionOperation)assignmentValue;
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
63if (interpolation.Parent is IInterpolatedStringOperation { Parent: IConversionOperation { Type: { } convertedType } conversion } &&
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
109case IConversionOperation { IsImplicit: true } conversion:
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
243if (operation is IConversionOperation conversion && conversion.IsImplicit)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (1)
192if (value is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
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)
1179private IConversionOperation CreateBoundAsOperatorOperation(BoundAsOperator boundAsOperator)
Microsoft.CodeAnalysis.CSharp.CodeStyle (24)
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\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
362if (operation is IConversionOperation conversionOperation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
129var leftConv = (leftTarget as IConversionOperation)?.Conversion; 130var rightConv = (rightTarget as IConversionOperation)?.Conversion;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
161return operation is IConversionOperation { Conversion.IsUserDefined: false } op
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, 405if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 745private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 757if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 810if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 910if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 965if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1075if (operation is not IConversionOperation conversionOperation)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
581Value: IConversionOperation
src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
63var isConvertedToReadOnlySpan = arrayOp.Parent is IConversionOperation conversion &&
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (8)
FirstClassSpanTests.cs (4)
2864var op = (IConversionOperation)model.GetOperation(cast)!; 2880var op = (IConversionOperation)model.GetOperation(cast)!;
Semantics\CollectionExpressionTests.cs (4)
29139var conversionOperation = (IConversionOperation)((IReturnOperation)operation).ReturnedValue; 29199var conversionOperation = (IConversionOperation)((IReturnOperation)operation).ReturnedValue;
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\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\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
362if (operation is IConversionOperation conversionOperation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
129var leftConv = (leftTarget as IConversionOperation)?.Conversion; 130var rightConv = (rightTarget as IConversionOperation)?.Conversion;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
161return operation is IConversionOperation { Conversion.IsUserDefined: false } op
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
581Value: IConversionOperation
src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (1)
63var isConvertedToReadOnlySpan = arrayOp.Parent is IConversionOperation conversion &&
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (6)
IOperation\IOperationTests_IArgument.cs (2)
4096var conversion = operation.Descendants().OfType<IConversionOperation>().Single();
IOperation\IOperationTests_IConversionExpression.cs (4)
381return (IConversionOperation)((ICoalesceOperation)initializer).WhenNull; 5353return ((IConversionOperation)operation).Operand; 5361public Func<IOperation, IConversionOperation> OperationSelector { get; set; } 5429case IConversionOperation conv:
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\DelegateTypeTests.cs (1)
14828var value = ((IConversionOperation)operation.Initializer!.Value).Operand;
Semantics\Utf8StringsLiteralsTests.cs (1)
3310Assert.True(((IConversionOperation)model.GetOperation(node)).GetConversion().IsSpan);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CompilationTestUtils.cs (1)
376if (iop is { Parent: IConversionOperation parentConversion })
Microsoft.CodeAnalysis.CSharp.Workspaces (15)
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, 405if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 745private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 757if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 810if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 910if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 965if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1075if (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\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.cs (1)
230if (value is IConversionOperation conversion)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (1)
120if (pattern is IConstantPatternOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } })
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
197case ISingleValueCaseClauseOperation { Value: IConversionOperation { ConstantValue: { HasValue: true, Value: null } } }:
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
690var conversion = (IConversionOperation)assignmentValue;
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (1)
63if (interpolation.Parent is IInterpolatedStringOperation { Parent: IConversionOperation { Type: { } convertedType } conversion } &&
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
109case IConversionOperation { IsImplicit: true } conversion:
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
243if (operation is IConversionOperation conversion && conversion.IsImplicit)
src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (1)
192if (value is IConversionOperation conversion &&
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (7)
ExplicitAllocationAnalyzer.cs (1)
105if (context.Operation.Parent is IConversionOperation conversion)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.CodeAnalysis.PublicApiAnalyzers (4)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.ResxSourceGenerator (4)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Microsoft.CodeAnalysis.Test.Utilities (13)
Compilation\OperationTreeVerifier.cs (4)
1240public override void VisitConversion(IConversionOperation operation) 1242LogString(nameof(IConversionOperation)); 1910Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.Text).Operand.Kind); 1926Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.FormatString).Operand.Kind);
Compilation\TestOperationVisitor.cs (3)
845public override void VisitConversion(IConversionOperation operation) 1299Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.Text).Operand.Kind); 1317Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.FormatString).Operand.Kind);
Diagnostics\BoxingOperationAnalyzer.cs (2)
47IConversionOperation conversion = (IConversionOperation)operation;
Diagnostics\CouldHaveMoreSpecificTypeAnalyzer.cs (2)
283IConversionOperation conversion = (IConversionOperation)value;
Diagnostics\OperationTestAnalyzer.cs (2)
1894var conversion = (IConversionOperation)operationContext.Operation;
Microsoft.CodeAnalysis.VisualBasic (4)
VisualBasicExtensions.vb (4)
1381''' Gets the underlying <see cref="Conversion"/> information from an <see cref="IConversionOperation"/> that was created from Visual Basic code. 1385''' <exception cref="InvalidCastException">If the <see cref="IConversionOperation"/> was not created from Visual Basic code.</exception> 1387Public Function GetConversion(conversionExpression As IConversionOperation) As Conversion 1392NameOf(IConversionOperation)),
Microsoft.CodeAnalysis.Workspaces (5)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },
Microsoft.Extensions.Validation.ValidationsGenerator (1)
src\Http\Http.Extensions\gen\Microsoft.AspNetCore.Http.RequestDelegateGenerator\StaticRouteHandlerModel\InvocationOperationExtensions.cs (1)
86IConversionOperation conv => ResolveMethodFromOperation(conv.Operand, semanticModel),
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 (13)
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;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
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\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, 405if (originalConversionOperation.Parent is IConversionOperation { Conversion.IsUserDefined: true } originalParentConversionOperation) 745private static bool IsMultipleImplicitNullableConversion(IConversionOperation originalConversionOperation) 757if (originalConversionOperation.Parent is not IConversionOperation outerOriginalConversionOperation) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 810if (rewrittenOperation.Parent is not IConversionOperation rewrittenBitwiseNotConversionOperation) 910if (originalSemanticModel.GetOperation(castExpression, cancellationToken) is not IConversionOperation conversionOperation) 965if (rewrittenOperation.Parent is IConversionOperation conditionalParentConversion && 1075if (operation is not IConversionOperation conversionOperation)
Test.Utilities (4)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
Text.Analyzers (6)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
457if (thrownObject is IConversionOperation conversion &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (2)
391while (operation is IConversionOperation conversionOperation) 462=> value is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
439currentOperation = ((IConversionOperation)currentOperation).Operand;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (1)
428return operation is IConversionOperation conversion && conversion.IsImplicit
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
126Value: IConversionOperation { Operand: ITupleOperation valueTupleTemp },