2 types derived from ControlFlowAnalysis
Microsoft.CodeAnalysis.CSharp (1)
FlowAnalysis\ControlFlowAnalysis.cs (1)
20internal class CSharpControlFlowAnalysis : ControlFlowAnalysis
Microsoft.CodeAnalysis.VisualBasic (1)
Analysis\FlowAnalysis\ControlFlowAnalysis.vb (1)
22Inherits ControlFlowAnalysis
158 references to ControlFlowAnalysis
Microsoft.CodeAnalysis (6)
Compilation\Extensions.cs (2)
148public static ControlFlowAnalysis AnalyzeControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 156public static ControlFlowAnalysis AnalyzeControlFlow(this SemanticModel semanticModel, SyntaxNode statement)
Compilation\SemanticModel.cs (4)
639internal ControlFlowAnalysis AnalyzeControlFlow(SyntaxNode firstStatement, SyntaxNode lastStatement) 655protected abstract ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement); 667internal ControlFlowAnalysis AnalyzeControlFlow(SyntaxNode statement) 682protected abstract ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode statement);
Microsoft.CodeAnalysis.CodeStyle (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
41public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 44public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (2)
94var controlFlow = GetControlFlowAnalysis(generator, semanticModel, node); 166private static ControlFlowAnalysis? GetControlFlowAnalysis(SyntaxGenerator generator, SemanticModel semanticModel, SyntaxNode node)
Microsoft.CodeAnalysis.CSharp (7)
Compilation\CSharpSemanticModel.cs (4)
2419public virtual ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax firstStatement, StatementSyntax lastStatement) 2430public virtual ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax statement) 5297protected sealed override ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement) 5322protected sealed override ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode statement)
Compilation\SyntaxTreeSemanticModel.cs (1)
2190public override ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax firstStatement, StatementSyntax lastStatement)
CSharpExtensions.cs (2)
1047public static ControlFlowAnalysis? AnalyzeControlFlow(this SemanticModel? semanticModel, StatementSyntax firstStatement, StatementSyntax lastStatement) 1056public static ControlFlowAnalysis? AnalyzeControlFlow(this SemanticModel? semanticModel, StatementSyntax statement)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenAwaitForeachTests.cs (1)
4241var ctrlFlowAnalysis = model.AnalyzeControlFlow(loop);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (117)
FlowAnalysis\FlowTestBase.cs (4)
82protected ControlFlowAnalysis CompileAndAnalyzeControlFlowStatements(string program) 112protected (ControlFlowAnalysis controlFlowAnalysis, DataFlowAnalysis dataFlowAnalysis) CompileAndAnalyzeControlAndDataFlowStatements(string program) 244protected IEnumerable<ControlFlowAnalysis> CompileAndAnalyzeMultipleControlFlowStatements(string program, int treeindex = 0, int which = -1) 259protected (IEnumerable<ControlFlowAnalysis>, IEnumerable<DataFlowAnalysis>) CompileAndAnalyzeControlAndDataFlowMultipleStatements(string program, int treeindex = 0, int which = -1)
FlowAnalysis\IterationJumpYieldStatementTests.cs (37)
40var controlFlowAnalysisResults = analysisResults.Item1; 74var controlFlowAnalysisResults = analysisResults.Item1; 104var controlFlowAnalysisResults = analysisResults.Item1; 134var controlFlowAnalysisResults = analysisResults.Item1; 164var controlFlowAnalysisResults = analysisResults.Item1; 193var controlFlowAnalysisResults = analysisResults.Item1; 223var controlFlowAnalysisResults = analysisResults.Item1; 252var controlFlowAnalysisResults = analysisResults.Item1; 270var analysisResults = CompileAndAnalyzeControlFlowStatements(@" 298var controlFlowAnalysisResults = analysisResults.Item1; 327var controlFlowAnalysisResults = analysisResults.Item1; 356var controlFlowAnalysisResults = analysisResults.Item1; 385var controlFlowAnalysisResults = analysisResults.Item1; 414var controlFlowAnalysisResults = analysisResults.Item1; 443var controlFlowAnalysisResults = analysisResults.Item1; 461var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 480var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 499var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 518var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 537var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 567var controlFlowAnalysisResults = analysisResults.Item1; 595var controlFlowAnalysisResults = analysisResults.Item1; 612var controlFlowAnalysisResults = analysisResults.Item1; 686var controlFlowAnalysisResults = analysisResults.Item1; 720var controlFlowAnalysisResults = analysisResults.Item1; 882var controlFlowAnalysisResults = analysisResults.Item1; 928var analysis = CompileAndAnalyzeControlFlowStatements(@" 944var analysis = CompileAndAnalyzeControlFlowStatements(@" 973var controlFlowAnalysisResults = analysisResults.Item1; 1001var controlFlowAnalysisResults = analysisResults.Item1; 1029var controlFlowAnalysisResults = analysisResults.Item1; 1057var controlFlowAnalysisResults = analysisResults.Item1; 1100var controlFlowAnalysisResults = analysisResults.Item1; 1161foreach (var ctrlFlow in ctrlFlowAnalysis) 1231var ctrlFlow = ctrlFlowAnalysis[0]; 1321var ctrlFlow = ctrlFlowAnalysis[0]; 1350var ctrlFlowAnalysis = CompileAndAnalyzeControlFlowStatements(source);
FlowAnalysis\RegionAnalysisTests.cs (45)
2872var controlFlowAnalysisResults = analysisResults.Item1; 2905var controlFlowAnalysisResults = analysisResults.Item1; 3005var controlFlowAnalysisResults = analysisResults.Item1; 3034var controlFlowAnalysisResults = analysisResults.Item1; 3067var controlFlowAnalysisResults = analysisResults.Item1; 3152var analysis = CompileAndAnalyzeControlFlowStatements(@" 3169var analysis = CompileAndAnalyzeControlFlowStatements(@" 3189var analysis = CompileAndAnalyzeControlFlowStatements(@" 3206var analysis = CompileAndAnalyzeControlFlowStatements(@" 3221var analysis = CompileAndAnalyzeControlFlowStatements(@" 3819var controlFlowAnalysisResults = analysisResults.Item1; 3851var controlFlowAnalysisResults = analysisResults.Item1; 3883var controlFlowAnalysisResults = analysisResults.Item1; 3915var controlFlowAnalysisResults = analysisResults.Item1; 3980var controlFlowAnalysisResults = analysisResults.Item1; 4013var controlFlowAnalysisResults = analysisResults.Item1; 4066var controlFlowAnalysisResults = analysisResults.Item1; 4093var controlFlowAnalysisResults = analysisResults.Item1; 4201var controlFlowAnalysisResults = analysisResults.Item1; 4271var controlFlowAnalysisResults = analysisResults.Item1; 4294var controlFlowAnalysisResults = analysisResults.Item1; 4356var ctrlFlows = results.Item1; 4382var ctrlFlows = results.Item1; 4405var ctrlFlows = results.Item1; 4712var controlFlow = results.controlFlowAnalysis; 4721var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4748var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4774var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4800var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4826var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4852var controlFlow = CompileAndAnalyzeControlFlowStatements(@" 4876var analysis = CompileAndAnalyzeControlFlowStatements(@" 4895var analysis = CompileAndAnalyzeControlFlowStatements(@" 4918var analysis = CompileAndAnalyzeControlFlowStatements(@" 4942var analysis = CompileAndAnalyzeControlFlowStatements(@" 4968var analysis = CompileAndAnalyzeControlFlowStatements(@" 5077var controlFlowAnalysisResults = analysisResults.Item1; 5247var controlFlowAnalysisResults = analysisResults.Item1; 5403var ctrlFlows = results.Item1; 6269var controlFlowAnalysisResults = CompileAndAnalyzeControlFlowStatements(@" 7405var analysis = CompileAndAnalyzeControlFlowStatements(@" 7427var analysis = CompileAndAnalyzeControlFlowStatements(@" 8943var controlFlowAnalysisResults = analysisResults.Item1; 8969var controlFlowAnalysisResults = analysisResults.Item1; 8994var controlFlowAnalysisResults = analysisResults.Item1;
FlowAnalysis\TryLockUsingStatementTests.cs (31)
46var controlFlowAnalysisResults = analysisResults.Item1; 84var controlFlowAnalysisResults = analysisResults.Item1; 140var controlFlowAnalysisResults = analysisResults.Item1; 198var controlFlowAnalysisResults = analysisResults.Item1; 256var controlFlowAnalysisResults = analysisResults.Item1; 294var controlFlowAnalysisResults = analysisResults.Item1; 339var controlFlowAnalysisResults = analysisResults.Item1; 400var controlFlowAnalysisResults = analysisResults.Item1; 445var controlFlowAnalysisResults = analysisResults.Item1; 487var controlFlowAnalysisResults = analysisResults.Item1; 531var controlFlowAnalysisResults = analysisResults.Item1; 574var controlFlowAnalysisResults = analysisResults.Item1; 614var controlFlowAnalysisResults = analysisResults.Item1; 659var controlFlowAnalysisResults = analysisResults.Item1; 706var controlFlowAnalysisResults = analysisResults.Item1; 815var controlFlowAnalysisResults = analysisResults.Item1; 861var controlFlowAnalysisResults = analysisResults.Item1; 900var controlFlowAnalysisResults = analysisResults.Item1; 944var controlFlowAnalysisResults = analysisResults.Item1; 992var controlFlowAnalysisResults = analysisResults.Item1; 1091var controlFlowAnalysisResults = analysisResults.Item1; 1134var controlFlowAnalysisResults = analysisResults.Item1; 1181var controlFlowAnalysisResults = analysisResults.Item1; 1228var controlFlowAnalysisResults = analysisResults.Item1; 1272var controlFlowAnalysisResults = analysisResults.Item1; 1312var controlFlowAnalysisResults = analysisResults.Item1; 1352var controlFlowAnalysisResults = analysisResults.Item1; 1392var controlFlowAnalysisResults = analysisResults.Item1; 1417var controlFlowAnalysisResults = analysisResults.Item1; 1690var analysisControlFlow = analysis.Item1; 1729var analysisControlFlow = analysis.Item1;
Microsoft.CodeAnalysis.Features (9)
ExtractMethod\MethodExtractor.Analyzer.cs (2)
426var analysis = model.AnalyzeControlFlow(pair.Item1, pair.Item2); 713var controlFlowAnalysisData = model.AnalyzeControlFlow(pair.Item1, pair.Item2);
ExtractMethod\SelectionValidator.cs (1)
41var controlFlowAnalysisData = semanticModel.AnalyzeControlFlow(range.Item1, range.Item2);
InvertIf\AbstractInvertIfCodeRefactoringProvider.cs (1)
345var flow = semanticModel.AnalyzeControlFlow(
SplitOrMergeIfStatements\Consecutive\AbstractMergeConsecutiveIfStatementsCodeRefactoringProvider.cs (1)
220var controlFlow = semanticModel.AnalyzeControlFlow(insideStatements[0], insideStatements[insideStatements.Count - 1]);
SplitOrMergeIfStatements\Consecutive\AbstractSplitIntoConsecutiveIfStatementsCodeRefactoringProvider.cs (1)
152var controlFlow = semanticModel.AnalyzeControlFlow(insideStatements[0], insideStatements[insideStatements.Count - 1]);
SplitOrMergeIfStatements\Nested\AbstractMergeNestedIfStatementsCodeRefactoringProvider.cs (1)
222var controlFlow = semanticModel.AnalyzeControlFlow(statements[0], statements[statements.Count - 1]);
src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (2)
94var controlFlow = GetControlFlowAnalysis(generator, semanticModel, node); 166private static ControlFlowAnalysis? GetControlFlowAnalysis(SyntaxGenerator generator, SemanticModel semanticModel, SyntaxNode node)
Microsoft.CodeAnalysis.VisualBasic (7)
Compilation\SemanticModel.vb (4)
2094Public Overridable Shadows Function AnalyzeControlFlow(firstStatement As StatementSyntax, lastStatement As StatementSyntax) As ControlFlowAnalysis 2103Public Overridable Shadows Function AnalyzeControlFlow(statement As StatementSyntax) As ControlFlowAnalysis 3402Protected NotOverridable Overrides Function AnalyzeControlFlowCore(firstStatement As SyntaxNode, lastStatement As SyntaxNode) As ControlFlowAnalysis 3407Protected NotOverridable Overrides Function AnalyzeControlFlowCore(statement As SyntaxNode) As ControlFlowAnalysis
Compilation\SyntaxTreeSemanticModel.vb (1)
1488Public Overrides Function AnalyzeControlFlow(firstStatement As StatementSyntax, lastStatement As StatementSyntax) As ControlFlowAnalysis
VisualBasicExtensions.vb (2)
1758Public Function AnalyzeControlFlow(semanticModel As SemanticModel, firstStatement As StatementSyntax, lastStatement As StatementSyntax) As ControlFlowAnalysis 1771Public Function AnalyzeControlFlow(semanticModel As SemanticModel, statement As StatementSyntax) As ControlFlowAnalysis
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (5)
FlowAnalysis\FlowTestBase.vb (3)
61Protected Function CompileAndAnalyzeControlFlow(program As XElement, Optional ilSource As XCData = Nothing, Optional errors As XElement = Nothing) As ControlFlowAnalysis 69Protected Function CompileAndAnalyzeControlAndDataFlow(program As XElement, Optional ilSource As XCData = Nothing, Optional errors As XElement = Nothing) As Tuple(Of ControlFlowAnalysis, DataFlowAnalysis) 110startNodes As List(Of VisualBasicSyntaxNode), endNodes As List(Of VisualBasicSyntaxNode)) As ControlFlowAnalysis
Semantics\ForeachTest.vb (1)
1344Optional index As Integer = 1) As ControlFlowAnalysis
Semantics\ForLoopTest.vb (1)
610Optional index As Integer = 1) As ControlFlowAnalysis
Microsoft.CodeAnalysis.Workspaces (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
41public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 44public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement)