Beispiel #1
0
                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());
                }
Beispiel #3
0
                protected override SyntaxNode GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken)
                {
                    var callSiteContainer = GetCallSiteContainerFromOutermostMoveInVariable(cancellationToken);

                    if (callSiteContainer != null)
                    {
                        return(callSiteContainer);
                    }
                    else
                    {
                        var firstStatement = CSharpSelectionResult.GetFirstStatementUnderContainer();
                        return(firstStatement.Parent);
                    }
                }
Beispiel #4
0
 protected override SyntaxNode GetFirstStatementOrInitializerSelectedAtCallSite()
 {
     return(CSharpSelectionResult.GetFirstStatementUnderContainer());
 }