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)); } }
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); }