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 GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken) { var callSiteContainer = GetCallSiteContainerFromOutermostMoveInVariable(cancellationToken); if (callSiteContainer != null) { return(callSiteContainer); } else { var firstStatement = CSharpSelectionResult.GetFirstStatementUnderContainer(); return(firstStatement.Parent); } }
protected override SyntaxNode GetFirstStatementOrInitializerSelectedAtCallSite() { return(CSharpSelectionResult.GetFirstStatementUnderContainer()); }