Пример #1
0
 public static SelectionResult ExtractFrom(BaseMethodDeclarationSyntax method)
 {
     if (SelectionResultConfiguration.Get() is null)
     {
         var statements = FindRandomExtractableCode(method);
         return(new SelectionResult(statements));
     }
     else
     {
         var statements = FindWithConfigExtractableCode(method);
         return(new SelectionResult(statements));
     }
 }
Пример #2
0
        private static IEnumerable <StatementSyntax> FindWithConfigExtractableCode(BaseMethodDeclarationSyntax extractFrom)
        {
            var startingPosition = SelectionResultConfiguration.Get().LineStart;
            var depth            = SelectionResultConfiguration.Get().Depth;

            var returnNodes = new List <StatementSyntax>();

            for (var i = startingPosition; i < startingPosition + depth; i++)
            {
                var node = extractFrom.Body.Statements[i];
                if (node != null)
                {
                    returnNodes.Add(node);
                }
            }

            return(returnNodes);
        }