protected override IEnumerable <StatementSyntax> GetInitialStatementsForMethodDefinitions() { var firstSeen = false; var firstStatementUnderContainer = CSharpSelectionResult.GetFirstStatementUnderContainer(); var lastStatementUnderContainer = CSharpSelectionResult.GetLastStatementUnderContainer(); var list = new List <StatementSyntax>(); foreach (var statement in GetStatementsFromContainer(firstStatementUnderContainer.Parent)) { // reset first seen if (!firstSeen) { firstSeen = statement == firstStatementUnderContainer; } // continue until we see the first statement if (!firstSeen) { continue; } list.Add(statement); // exit if we see last statement if (statement == lastStatementUnderContainer) { break; } } return(list); }
protected override ImmutableArray <StatementSyntax> GetInitialStatementsForMethodDefinitions() { var firstSeen = false; var firstStatementUnderContainer = CSharpSelectionResult.GetFirstStatementUnderContainer(); var lastStatementUnderContainer = CSharpSelectionResult.GetLastStatementUnderContainer(); using var _ = ArrayBuilder <StatementSyntax> .GetInstance(out var list); foreach (var statement in GetStatementsFromContainer(firstStatementUnderContainer.Parent)) { // reset first seen if (!firstSeen) { firstSeen = statement == firstStatementUnderContainer; } // continue until we see the first statement if (!firstSeen) { continue; } list.Add(statement); // exit if we see last statement if (statement == lastStatementUnderContainer) { break; } } return(list.ToImmutable()); }
protected override SyntaxNode GetLastStatementOrInitializerSelectedAtCallSite() { return(CSharpSelectionResult.GetLastStatementUnderContainer()); }