1 implementation of ISwitchExpressionOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
9315internal sealed partial class SwitchExpressionOperation : Operation, ISwitchExpressionOperation
53 references to ISwitchExpressionOperation
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
ActualApiResponseMetadataFactory.cs (1)
102if (returnedValue is ISwitchExpressionOperation switchExpression)
Microsoft.CodeAnalysis (5)
Generated\OperationKind.Generated.cs (1)
240/// <summary>Indicates an <see cref="ISwitchExpressionOperation"/>.</summary>
Generated\Operations.Generated.cs (3)
11271public override IOperation VisitSwitchExpression(ISwitchExpressionOperation operation, object? argument) 11521public virtual void VisitSwitchExpression(ISwitchExpressionOperation operation) => DefaultVisit(operation); 11660public virtual TResult? VisitSwitchExpression(ISwitchExpressionOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (1)
7717public override IOperation VisitSwitchExpression(ISwitchExpressionOperation operation, int? captureIdForResult)
Microsoft.CodeAnalysis.CodeStyle (13)
src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs (8)
12: AbstractPopulateSwitchDiagnosticAnalyzer<ISwitchExpressionOperation, TSwitchSyntax>( 19protected override bool IsKnownToBeExhaustive(ISwitchExpressionOperation switchOperation) 22protected override IOperation GetValueOfSwitchOperation(ISwitchExpressionOperation operation) 25protected override bool IsSwitchTypeUnknown(ISwitchExpressionOperation operation) 28protected sealed override ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation operation) 31protected sealed override bool HasDefaultCase(ISwitchExpressionOperation operation) 34protected override bool HasExhaustiveNullAndTypeCheckCases(ISwitchExpressionOperation operation) 37protected override bool HasConstantCase(ISwitchExpressionOperation operation, object? value)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (5)
16public static ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation operation) 40public static bool HasNullSwitchArm(ISwitchExpressionOperation operation) 52ISwitchExpressionOperation operation, Dictionary<long, ISymbol> enumMembers) 82public static bool HasDefaultCase(ISwitchExpressionOperation operation) 106public static bool HasExhaustiveNullAndTypeCheckCases(ISwitchExpressionOperation operation)
Microsoft.CodeAnalysis.CodeStyle.Fixes (6)
src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchExpressionCodeFixProvider.cs (6)
17ISwitchExpressionOperation, TSwitchSyntax, TSwitchArmSyntax, TMemberAccessExpressionSyntax> 32TSwitchSyntax switchNode, ISwitchExpressionOperation switchExpression) 42protected sealed override ITypeSymbol GetSwitchType(ISwitchExpressionOperation switchExpression) 45protected sealed override ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation switchOperation) 48protected override bool HasNullSwitchArm(ISwitchExpressionOperation switchOperation) 54protected sealed override int InsertPosition(ISwitchExpressionOperation switchExpression)
Microsoft.CodeAnalysis.CSharp (1)
Operations\CSharpOperationFactory.cs (1)
2704private ISwitchExpressionOperation CreateBoundSwitchExpressionOperation(BoundConvertedSwitchExpression boundSwitchExpression)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
959if (rewrittenOperation is not IConditionalOperation and not ISwitchExpressionOperation)
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CompilationTestUtils.cs (1)
427case ISwitchExpressionOperation _:
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
959if (rewrittenOperation is not IConditionalOperation and not ISwitchExpressionOperation)
Microsoft.CodeAnalysis.Features (19)
src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs (8)
12: AbstractPopulateSwitchDiagnosticAnalyzer<ISwitchExpressionOperation, TSwitchSyntax>( 19protected override bool IsKnownToBeExhaustive(ISwitchExpressionOperation switchOperation) 22protected override IOperation GetValueOfSwitchOperation(ISwitchExpressionOperation operation) 25protected override bool IsSwitchTypeUnknown(ISwitchExpressionOperation operation) 28protected sealed override ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation operation) 31protected sealed override bool HasDefaultCase(ISwitchExpressionOperation operation) 34protected override bool HasExhaustiveNullAndTypeCheckCases(ISwitchExpressionOperation operation) 37protected override bool HasConstantCase(ISwitchExpressionOperation operation, object? value)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (5)
16public static ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation operation) 40public static bool HasNullSwitchArm(ISwitchExpressionOperation operation) 52ISwitchExpressionOperation operation, Dictionary<long, ISymbol> enumMembers) 82public static bool HasDefaultCase(ISwitchExpressionOperation operation) 106public static bool HasExhaustiveNullAndTypeCheckCases(ISwitchExpressionOperation operation)
src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchExpressionCodeFixProvider.cs (6)
17ISwitchExpressionOperation, TSwitchSyntax, TSwitchArmSyntax, TMemberAccessExpressionSyntax> 32TSwitchSyntax switchNode, ISwitchExpressionOperation switchExpression) 42protected sealed override ITypeSymbol GetSwitchType(ISwitchExpressionOperation switchExpression) 45protected sealed override ICollection<ISymbol> GetMissingEnumMembers(ISwitchExpressionOperation switchOperation) 48protected override bool HasNullSwitchArm(ISwitchExpressionOperation switchOperation) 54protected sealed override int InsertPosition(ISwitchExpressionOperation switchExpression)
Microsoft.CodeAnalysis.Test.Utilities (3)
Compilation\OperationTreeVerifier.cs (2)
2106public override void VisitSwitchExpression(ISwitchExpressionOperation operation) 2108LogString($"{nameof(ISwitchExpressionOperation)} ({operation.Arms.Length} arms, IsExhaustive: {operation.IsExhaustive})");
Compilation\TestOperationVisitor.cs (1)
1546public override void VisitSwitchExpression(ISwitchExpressionOperation operation)
Roslyn.Diagnostics.Analyzers (1)
AbstractDoNotCopyValue.cs (1)
1188public override void VisitSwitchExpression(ISwitchExpressionOperation operation)
Roslyn.Diagnostics.CSharp.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
959if (rewrittenOperation is not IConditionalOperation and not ISwitchExpressionOperation)