]> git.uio.no Git - ifi-stolz-refaktor.git/commitdiff
Delegating the calculation of the original target (the target found
authorErlend Kristiansen <erlenkr@ifi.uio.no>
Mon, 16 Dec 2013 12:21:34 +0000 (13:21 +0100)
committerErlend Kristiansen <erlenkr@ifi.uio.no>
Mon, 16 Dec 2013 12:21:34 +0000 (13:21 +0100)
before the extract method was perfromed) to the ExtractANdMoveMethodAnalyzer.

software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/analyze/ExtractAndMoveMethodAnalyzer.java
software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/changers/ExtractAndMoveMethodChanger.java

index a2f63ad39a32e4100178e9e3c6eb06c09dab6a32..db2770055de7ccbf0eb1c3fc447965396a952519 100644 (file)
@@ -4,6 +4,8 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.LinkedList;
 
+import org.eclipse.jdt.core.dom.IVariableBinding;
+
 import no.uio.ifi.refaktor.analyze.collectors.PrefixesCollector;
 import no.uio.ifi.refaktor.analyze.collectors.SelectionValidator;
 import no.uio.ifi.refaktor.analyze.collectors.UnfixesCollector;
@@ -50,7 +52,7 @@ public class ExtractAndMoveMethodAnalyzer implements Analyzer {
                return unfixesCollector.getUnfixes();
        }
 
-       public Prefix getMostFrequentPrefix() {
+       public Prefix calculateMostFrequentPrefix() {
                LinkedList<Prefix> listOfSafePrefixes = getListOfSafePrefixes();
                sortAscendingByCountAndLength(listOfSafePrefixes);
                return listOfSafePrefixes.getLast();
@@ -97,4 +99,8 @@ public class ExtractAndMoveMethodAnalyzer implements Analyzer {
        public void analyze() {
                CollectorManager.collectProperties(selection, prefixesCollector, unfixesCollector);
        }
+
+       public IVariableBinding calculateOriginalTarget() {
+               return calculateMostFrequentPrefix().getVariableBindingOfFirstExpression();
+       }
 }
index db7847b9fa0f399a63cfa142c49f2efb74cf5d43..fffe8198cac9559040d9a1299e6dc9cfbe62ca76 100644 (file)
@@ -64,7 +64,7 @@ public class ExtractAndMoveMethodChanger implements RefaktorChanger {
        @Override
        public void executeChange(IProgressMonitor monitor, UndoResources undoResources) throws CoreException {
                forceCheckPreconditions();
-               IVariableBinding originalTarget = analyzer.getMostFrequentPrefix().getVariableBindingOfFirstExpression();
+               IVariableBinding originalTarget = analyzer.calculateOriginalTarget();
                executorManager.setExecutor(new ExtractAndMoveMethodExecutor(textSelection, newMethodName, originalTarget));
                executorManager.executeChange(monitor, undoResources);
        }