mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed PY-5195 Move Statement: loses code on moving nested function
This commit is contained in:
+4
-4
@@ -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()),
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user