KT-4018 When moving members move comments too
This commit is contained in:
+35
-18
@@ -21,20 +21,30 @@ public abstract class AbstractJetUpDownMover extends LineMover {
|
||||
}
|
||||
|
||||
protected abstract boolean checkSourceElement(@NotNull PsiElement element);
|
||||
protected abstract LineRange getElementSourceLineRange(@NotNull PsiElement element, @NotNull Editor editor, @NotNull LineRange oldRange);
|
||||
|
||||
protected abstract LineRange getElementSourceLineRange(
|
||||
@NotNull PsiElement element,
|
||||
@NotNull Editor editor,
|
||||
@NotNull LineRange oldRange
|
||||
);
|
||||
|
||||
protected PsiElement adjustElement(PsiElement element, Editor editor, boolean first) {
|
||||
return element;
|
||||
}
|
||||
|
||||
protected final Pair<PsiElement, PsiElement> adjustElementRange(Pair<PsiElement, PsiElement> elementRange, Editor editor) {
|
||||
PsiElement first = adjustElement(elementRange.first, editor, true);
|
||||
PsiElement second = adjustElement(elementRange.second, editor, false);
|
||||
return new Pair<PsiElement, PsiElement>(first, second);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected LineRange getSourceRange(@NotNull PsiElement firstElement, @NotNull PsiElement lastElement, @NotNull Editor editor, LineRange oldRange) {
|
||||
if (firstElement == lastElement) {
|
||||
LineRange sourceRange = getElementSourceLineRange(firstElement, editor, oldRange);
|
||||
|
||||
if (sourceRange != null) {
|
||||
sourceRange.firstElement = sourceRange.lastElement = firstElement;
|
||||
}
|
||||
|
||||
return sourceRange;
|
||||
}
|
||||
|
||||
protected LineRange getSourceRange(
|
||||
@NotNull PsiElement firstElement,
|
||||
@NotNull PsiElement lastElement,
|
||||
@NotNull Editor editor,
|
||||
LineRange oldRange
|
||||
) {
|
||||
PsiElement parent = PsiTreeUtil.findCommonParent(firstElement, lastElement);
|
||||
|
||||
int topExtension = 0;
|
||||
@@ -50,7 +60,8 @@ public abstract class AbstractJetUpDownMover extends LineMover {
|
||||
comment = lastElement;
|
||||
extendDown = true;
|
||||
lastElement = block.getLastChild();
|
||||
} else if (checkCommentAtBlockBound(lastElement, firstElement, block)) {
|
||||
}
|
||||
else if (checkCommentAtBlockBound(lastElement, firstElement, block)) {
|
||||
comment = firstElement;
|
||||
firstElement = block.getFirstChild();
|
||||
}
|
||||
@@ -72,11 +83,12 @@ public abstract class AbstractJetUpDownMover extends LineMover {
|
||||
|
||||
if (parent == null) return null;
|
||||
|
||||
Pair<PsiElement, PsiElement> combinedRange = getElementRange(parent, firstElement, lastElement);
|
||||
Pair<PsiElement, PsiElement> originalRange = getElementRange(parent, firstElement, lastElement);
|
||||
Pair<PsiElement, PsiElement> combinedRange = adjustElementRange(originalRange, editor);
|
||||
|
||||
if (combinedRange == null
|
||||
|| !checkSourceElement(combinedRange.first)
|
||||
|| !checkSourceElement(combinedRange.second)) {
|
||||
|| !checkSourceElement(originalRange.first)
|
||||
|| !checkSourceElement(originalRange.second)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -89,9 +101,14 @@ public abstract class AbstractJetUpDownMover extends LineMover {
|
||||
LineRange parentLineRange = getElementSourceLineRange(parent, editor, oldRange);
|
||||
|
||||
LineRange sourceRange = new LineRange(lineRange1.startLine - topExtension, lineRange2.endLine + bottomExtension);
|
||||
if (parentLineRange != null && sourceRange.contains(parentLineRange)) {
|
||||
|
||||
if (parentLineRange != null
|
||||
&& sourceRange.startLine == parentLineRange.startLine
|
||||
&& sourceRange.endLine == parentLineRange.endLine
|
||||
) {
|
||||
sourceRange.firstElement = sourceRange.lastElement = parent;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
sourceRange.firstElement = combinedRange.first;
|
||||
sourceRange.lastElement = combinedRange.second;
|
||||
}
|
||||
|
||||
+79
-20
@@ -107,10 +107,12 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static PsiElement skipInsignificantElements(@NotNull PsiElement element, boolean down) {
|
||||
private static PsiElement skipInsignificantElements(@Nullable PsiElement element, boolean down) {
|
||||
if (element == null) return null;
|
||||
|
||||
PsiElement result = element;
|
||||
|
||||
while (result instanceof PsiWhiteSpace || result.getTextLength() == 0) {
|
||||
while (result instanceof PsiWhiteSpace || result instanceof PsiComment || result.getTextLength() == 0) {
|
||||
result = down ? result.getNextSibling() : result.getPrevSibling();
|
||||
if (result == null) break;
|
||||
}
|
||||
@@ -120,12 +122,19 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
|
||||
@Override
|
||||
protected LineRange getElementSourceLineRange(@NotNull PsiElement element, @NotNull Editor editor, @NotNull LineRange oldRange) {
|
||||
JetDeclaration declaration = (JetDeclaration) element;
|
||||
PsiElement first;
|
||||
PsiElement last;
|
||||
|
||||
PsiElement first = skipInsignificantElements(declaration.getFirstChild(), true);
|
||||
PsiElement last = skipInsignificantElements(declaration.getLastChild(), false);
|
||||
if (element instanceof JetDeclaration) {
|
||||
first = skipInsignificantElements(element.getFirstChild(), true);
|
||||
last = skipInsignificantElements(element.getLastChild(), false);
|
||||
|
||||
if (first == null || last == null) return null;
|
||||
}
|
||||
else {
|
||||
first = last = element;
|
||||
}
|
||||
|
||||
if (first == null || last == null) return null;
|
||||
|
||||
TextRange textRange1 = first.getTextRange();
|
||||
TextRange textRange2 = last.getTextRange();
|
||||
@@ -137,21 +146,29 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
int startLine = editor.offsetToLogicalPosition(textRange1.getStartOffset()).line;
|
||||
int endLine = editor.offsetToLogicalPosition(textRange2.getEndOffset()).line + 1;
|
||||
|
||||
if (startLine == oldRange.startLine || startLine == oldRange.endLine
|
||||
if (element instanceof PsiComment
|
||||
|| startLine == oldRange.startLine || startLine == oldRange.endLine
|
||||
|| endLine == oldRange.startLine || endLine == oldRange.endLine) {
|
||||
return new LineRange(startLine, endLine);
|
||||
}
|
||||
|
||||
TextRange lineTextRange = new TextRange(doc.getLineStartOffset(oldRange.startLine),
|
||||
doc.getLineEndOffset(oldRange.endLine));
|
||||
for (PsiElement anchor : getDeclarationAnchors(declaration)) {
|
||||
TextRange suspectTextRange = anchor.getTextRange();
|
||||
if (suspectTextRange != null && lineTextRange.intersects(suspectTextRange)) return new LineRange(startLine, endLine);
|
||||
if (element instanceof JetDeclaration) {
|
||||
for (PsiElement anchor : getDeclarationAnchors((JetDeclaration) element)) {
|
||||
TextRange suspectTextRange = anchor.getTextRange();
|
||||
if (suspectTextRange != null && lineTextRange.intersects(suspectTextRange)) return new LineRange(startLine, endLine);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PsiElement adjustElement(PsiElement element, Editor editor, boolean first) {
|
||||
return first ? getTopmostSiblingCommentOrOriginal(element, editor) : element;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static LineRange getTargetRange(
|
||||
@NotNull Editor editor,
|
||||
@@ -164,6 +181,10 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
|
||||
PsiElement nextParent = null;
|
||||
|
||||
if (target instanceof PsiComment) {
|
||||
target = PsiTreeUtil.getNextSiblingOfType(target, JetDeclaration.class);
|
||||
}
|
||||
|
||||
// moving out of code block
|
||||
if (sibling.getNode().getElementType() == (down ? JetTokens.RBRACE : JetTokens.LBRACE)) {
|
||||
// elements which aren't immediately placed in class body can't leave the block
|
||||
@@ -181,15 +202,24 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
}
|
||||
// moving into code block
|
||||
// element may move only into class body
|
||||
else if (sibling instanceof JetClassOrObject) {
|
||||
JetClassOrObject jetClassOrObject = (JetClassOrObject) sibling;
|
||||
JetClassBody classBody = jetClassOrObject.getBody();
|
||||
else {
|
||||
PsiElement adjustedSibling = sibling;
|
||||
if (adjustedSibling instanceof PsiComment || isEmptyNamespaceHeader(adjustedSibling)) {
|
||||
adjustedSibling = PsiTreeUtil.getNextSiblingOfType(adjustedSibling, JetDeclaration.class);
|
||||
}
|
||||
|
||||
// confined elements can't leave their block
|
||||
if (classBody != null) {
|
||||
nextParent = classBody;
|
||||
start = down ? jetClassOrObject : classBody.getRBrace();
|
||||
end = down ? classBody.getLBrace() : classBody.getRBrace();
|
||||
if (adjustedSibling instanceof JetClassOrObject) {
|
||||
JetClassOrObject jetClassOrObject = (JetClassOrObject) adjustedSibling;
|
||||
JetClassBody classBody = jetClassOrObject.getBody();
|
||||
|
||||
// confined elements can't leave their block
|
||||
if (classBody != null) {
|
||||
nextParent = classBody;
|
||||
if (!down) {
|
||||
start = classBody.getRBrace();
|
||||
}
|
||||
end = down ? classBody.getLBrace() : classBody.getRBrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,16 +238,30 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
|
||||
if (target instanceof JetPropertyAccessor && !(sibling instanceof JetPropertyAccessor)) return null;
|
||||
|
||||
if (start != null && start.getFirstChild() != null) {
|
||||
if (!down && start instanceof JetDeclaration) {
|
||||
start = getTopmostSiblingCommentOrOriginal(start, editor);
|
||||
}
|
||||
else if (start != null && start.getFirstChild() != null) {
|
||||
start = skipInsignificantElements(start.getFirstChild(), true);
|
||||
}
|
||||
if (end != null && end.getFirstChild() != null) {
|
||||
|
||||
if (down && end instanceof PsiComment) {
|
||||
PsiElement nextDeclaration = PsiTreeUtil.getNextSiblingOfType(end, JetDeclaration.class);
|
||||
if (nextDeclaration != null) {
|
||||
end = nextDeclaration;
|
||||
}
|
||||
}
|
||||
else if (end != null && end.getFirstChild() != null) {
|
||||
end = skipInsignificantElements(end.getLastChild(), false);
|
||||
}
|
||||
|
||||
return start != null && end != null ? new LineRange(start, end, editor.getDocument()) : null;
|
||||
}
|
||||
|
||||
private static boolean isEmptyNamespaceHeader(PsiElement adjustedSibling) {
|
||||
return adjustedSibling instanceof JetNamespaceHeader && adjustedSibling.getTextLength() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkAvailable(@NotNull Editor editor, @NotNull PsiFile file, @NotNull MoveInfo info, boolean down) {
|
||||
if (!super.checkAvailable(editor, file, info, down)) return false;
|
||||
@@ -249,4 +293,19 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
|
||||
info.toMove2 = getTargetRange(editor, sibling, down, sourceRange.firstElement);
|
||||
return true;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static PsiElement getTopmostSiblingCommentOrOriginal(@NotNull PsiElement originalElement, @NotNull Editor editor) {
|
||||
PsiElement element = originalElement;
|
||||
PsiElement sibling = element.getPrevSibling();
|
||||
while (sibling instanceof PsiComment
|
||||
|| (sibling instanceof PsiWhiteSpace && getElementLineCount(sibling, editor) <= 1)
|
||||
|| (sibling != null && (sibling.getText() == null || sibling.getText().isEmpty()))) {
|
||||
if (sibling instanceof PsiComment) {
|
||||
element = sibling;
|
||||
}
|
||||
sibling = sibling.getPrevSibling();
|
||||
}
|
||||
return element;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class A
|
||||
class A {
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// class A
|
||||
class A {
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
class B {
|
||||
// class C
|
||||
class C {
|
||||
|
||||
}
|
||||
}
|
||||
+5
-2
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
class B {
|
||||
<caret>class B {
|
||||
// class C
|
||||
class C {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
<caret>class B {
|
||||
// class C
|
||||
<caret>class C {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,8 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
{
|
||||
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,8 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
{
|
||||
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
// val x
|
||||
val x = ""
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
<caret>class B {
|
||||
|
||||
}
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
<caret>class A
|
||||
|
||||
// class D
|
||||
class D {
|
||||
}
|
||||
|
||||
// class C
|
||||
class C {
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class D
|
||||
class D {
|
||||
|
||||
// MOVE: down
|
||||
// class A
|
||||
<caret>class A
|
||||
}
|
||||
|
||||
// class C
|
||||
class C {
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class D
|
||||
class D {
|
||||
}
|
||||
|
||||
// class A
|
||||
<caret>class A
|
||||
|
||||
// class C
|
||||
class C {
|
||||
}
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class D
|
||||
class D {
|
||||
// class A
|
||||
<caret>class A
|
||||
|
||||
}
|
||||
|
||||
// class C
|
||||
class C {
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
<caret>class A
|
||||
|
||||
// class D
|
||||
class D {
|
||||
}
|
||||
+3
-1
@@ -1,5 +1,7 @@
|
||||
// MOVE: down
|
||||
// class D
|
||||
class D {
|
||||
|
||||
// MOVE: down
|
||||
// class A
|
||||
<caret>class A
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
// MOVE: up
|
||||
// class D
|
||||
class D {
|
||||
}
|
||||
|
||||
// class A
|
||||
<caret>class A
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// MOVE: up
|
||||
// class D
|
||||
class D {
|
||||
// class A
|
||||
<caret>class A
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
<caret>X
|
||||
// Y
|
||||
Y
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// Y
|
||||
Y
|
||||
// X
|
||||
<caret>X
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
// MOVE: up
|
||||
// IS_APPLICABLE: false
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
<caret>X
|
||||
// Y
|
||||
Y
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
// MOVE: down
|
||||
// IS_APPLICABLE: false
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
X
|
||||
// Y
|
||||
<caret>Y
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
X
|
||||
// Y
|
||||
<caret>Y
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
enum class B {
|
||||
// Y
|
||||
<caret>Y
|
||||
// X
|
||||
X
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
enum class A {
|
||||
// U
|
||||
U
|
||||
// V
|
||||
V
|
||||
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
<caret>X
|
||||
// Y
|
||||
Y
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
enum class A {
|
||||
// U
|
||||
U
|
||||
// V
|
||||
V
|
||||
|
||||
<caret>X
|
||||
// X
|
||||
X
|
||||
// class B
|
||||
enum class B {
|
||||
// Y
|
||||
Y
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
enum class A {
|
||||
// U
|
||||
U
|
||||
// V
|
||||
V
|
||||
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
X
|
||||
// Y
|
||||
<caret>Y
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
enum class A {
|
||||
// U
|
||||
U
|
||||
// V
|
||||
V
|
||||
|
||||
// class B
|
||||
enum class B {
|
||||
// X
|
||||
X
|
||||
}
|
||||
// Y
|
||||
<caret>Y
|
||||
}
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
}
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
<caret>fun foo() {
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,8 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
{
|
||||
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,8 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
{
|
||||
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
// val x
|
||||
val x = ""
|
||||
}
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
fun foo() {
|
||||
// fun bar
|
||||
fun bar() {
|
||||
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
fun foo() {
|
||||
// fun bar
|
||||
fun bar() {
|
||||
|
||||
}
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
<caret>fun foo() {
|
||||
// fun bar
|
||||
<caret>fun bar() {
|
||||
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -1,8 +1,11 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
<caret>fun foo() {
|
||||
// fun bar
|
||||
<caret>fun bar() {
|
||||
|
||||
}
|
||||
// fun foo
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
val y = ""
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// fun foo
|
||||
<caret>fun foo() {
|
||||
|
||||
}
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
val x = ""
|
||||
|
||||
}
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+4
-1
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
|
||||
// val y
|
||||
val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// class B
|
||||
class B {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: up
|
||||
// fun foo
|
||||
fun foo() {
|
||||
// val y
|
||||
<caret>val y = ""
|
||||
// class B
|
||||
class B {
|
||||
}
|
||||
}
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,9 @@
|
||||
// MOVE: down
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
}
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
}
|
||||
+3
@@ -1,7 +1,10 @@
|
||||
// MOVE: up
|
||||
// class A
|
||||
class A {
|
||||
// class B
|
||||
class B {
|
||||
|
||||
// val x
|
||||
<caret>val x = ""
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user