@@ -51,28 +51,6 @@ protected Analyzer(TSelectionResult selectionResult, bool localFunction, Cancell
5151
5252 var syntaxKinds = this . SyntaxFacts . SyntaxKinds ;
5353 _nonNoisySyntaxKindSet = [ syntaxKinds . WhitespaceTrivia , syntaxKinds . EndOfLineTrivia ] ;
54-
55- }
56-
57- /// <summary>f
58- /// convert text span to node range for the flow analysis API
59- /// </summary>
60- private ( TExecutableStatementSyntax firstStatement , TExecutableStatementSyntax lastStatement ) GetFlowAnalysisNodeRange ( )
61- {
62- var first = this . SelectionResult . GetFirstStatement ( ) ;
63- var last = this . SelectionResult . GetLastStatement ( ) ;
64-
65- // single statement case
66- if ( first == last ||
67- first . Span . Contains ( last . Span ) )
68- {
69- return ( first , first ) ;
70- }
71-
72- // multiple statement case
73- var firstUnderContainer = this . SelectionResult . GetFirstStatementUnderContainer ( ) ;
74- var lastUnderContainer = this . SelectionResult . GetLastStatementUnderContainer ( ) ;
75- return ( firstUnderContainer , lastUnderContainer ) ;
7654 }
7755
7856 protected abstract bool IsInPrimaryConstructorBaseType ( ) ;
@@ -369,7 +347,7 @@ private DataFlowAnalysis GetDataFlowAnalysisData()
369347 if ( SelectionResult . IsExtractMethodOnExpression )
370348 return this . SemanticModel . AnalyzeDataFlow ( SelectionResult . GetNodeForDataFlowAnalysis ( ) ) ;
371349
372- var ( firstStatement , lastStatement ) = GetFlowAnalysisNodeRange ( ) ;
350+ var ( firstStatement , lastStatement ) = this . SelectionResult . GetFlowAnalysisNodeRange ( ) ;
373351 return this . SemanticModel . AnalyzeDataFlow ( firstStatement , lastStatement ) ;
374352 }
375353
@@ -380,7 +358,7 @@ private bool IsEndOfSelectionReachable()
380358 return true ;
381359 }
382360
383- var ( firstStatement , lastStatement ) = GetFlowAnalysisNodeRange ( ) ;
361+ var ( firstStatement , lastStatement ) = this . SelectionResult . GetFlowAnalysisNodeRange ( ) ;
384362 var analysis = this . SemanticModel . AnalyzeControlFlow ( firstStatement , lastStatement ) ;
385363 return analysis . EndPointIsReachable ;
386364 }
@@ -772,7 +750,7 @@ private bool ContainsReturnStatementInSelectedCode()
772750 {
773751 Contract . ThrowIfTrue ( SelectionResult . IsExtractMethodOnExpression ) ;
774752
775- var ( firstStatement , lastStatement ) = GetFlowAnalysisNodeRange ( ) ;
753+ var ( firstStatement , lastStatement ) = this . SelectionResult . GetFlowAnalysisNodeRange ( ) ;
776754 var controlFlowAnalysisData = this . SemanticDocument . SemanticModel . AnalyzeControlFlow ( firstStatement , lastStatement ) ;
777755
778756 return ContainsReturnStatementInSelectedCode ( controlFlowAnalysisData . ExitPoints ) ;
0 commit comments