fixed PY-5195 Move Statement: loses code on moving nested function

This commit is contained in:
Ekaterina Tuzova
2011-12-02 11:33:55 +01:00
parent e33715592e
commit 0c455eb332
5 changed files with 23 additions and 4 deletions
@@ -162,15 +162,15 @@ public class StatementMover extends LineMover {
element2 = tmp;
}
}
PyElement parent2 = PsiTreeUtil.getParentOfType(element2, PyFunction.class, false);
PyElement parent1 = PsiTreeUtil.getParentOfType(myStatementToMove, PyFunction.class, false);
PyElement parent2 = PsiTreeUtil.getParentOfType(element2, PyFunction.class);
PyElement parent1 = PsiTreeUtil.getParentOfType(myStatementToMove, PyFunction.class);
if (parent2 != null && parent2 != parent1) {
TextRange textRange2 = parent2.getTextRange();
info.toMove2 = new LineRange(doc.getLineNumber(textRange2.getStartOffset()),
doc.getLineNumber(textRange2.getEndOffset())+1);
}
parent2 = PsiTreeUtil.getParentOfType(element2, PyClass.class, false);
parent1 = PsiTreeUtil.getParentOfType(myStatementToMove, PyClass.class, false);
parent2 = PsiTreeUtil.getParentOfType(element2, PyClass.class);
parent1 = PsiTreeUtil.getParentOfType(myStatementToMove, PyClass.class);
if (parent2 != null && parent2 != parent1) {
TextRange textRange2 = parent2.getTextRange();
info.toMove2 = new LineRange(doc.getLineNumber(textRange2.getStartOffset()),
+5
View File
@@ -0,0 +1,5 @@
def a():
d<caret>ef b():
pass
zoo(1)
@@ -0,0 +1,5 @@
def a():
zoo(1)
def b():
pass
@@ -0,0 +1,5 @@
def a():
def b():
pass
zoo(1)
@@ -91,4 +91,8 @@ public class PyStatementMoverTest extends PyTestCase {
public void testNestedBlock() { // PY-1343
doTest();
}
public void testFunctionDown() {
doTest();
}
}