inplace introduce: append semicolon if needed (to avoid parsing assignment as local variable)

This commit is contained in:
anna
2011-08-01 11:30:36 +04:00
parent df1e55e537
commit 0cb64bd6ae
10 changed files with 113 additions and 6 deletions
@@ -0,0 +1,8 @@
class Test {
private String myTimer;
Test() {
"<caret>"
myTimer = "abc";
}
}
@@ -0,0 +1,8 @@
class Test {
private String myTimer;
Test() {
"<caret>"
myTimer = "";
}
}
@@ -0,0 +1,10 @@
class Test {
private Foo myFoo;
Test() {
new Fo<caret>o()
myFoo = new Foo();
}
}
class Foo{}
@@ -0,0 +1,11 @@
class Test {
private Foo myFoo;
private final Foo foo;
Test() {
foo = new Foo();
myFoo = foo;
}
}
class Foo{}
@@ -0,0 +1,9 @@
class Test {
private String myTimer;
private final String string;
Test() {
string =<caret> "";
myTimer = string;
}
}
@@ -0,0 +1,9 @@
class Test {
private String myTimer;
private final String string;
Test() {
string = "";
myTimer = "abc";
}
}
@@ -41,6 +41,35 @@ public class InplaceIntroduceFieldTest extends AbstractInplaceIntroduceTest {
});
}
public void testBeforeAssignment() throws Exception {
doTest(new Pass<AbstractInplaceIntroducer>() {
@Override
public void pass(AbstractInplaceIntroducer inplaceIntroduceFieldPopup) {
}
});
}
public void testBeforeAssignmentReplaceAll() throws Exception {
doTest(new Pass<AbstractInplaceIntroducer>() {
@Override
public void pass(AbstractInplaceIntroducer inplaceIntroduceFieldPopup) {
inplaceIntroduceFieldPopup.setReplaceAllOccurrences(true);
}
});
}
public void testBeforeAssignmentReplaceAllCall() throws Exception {
doTest(new Pass<AbstractInplaceIntroducer>() {
@Override
public void pass(AbstractInplaceIntroducer inplaceIntroduceFieldPopup) {
inplaceIntroduceFieldPopup.setReplaceAllOccurrences(true);
}
});
}
public void testReplaceAll() throws Exception {
doTest(new Pass<AbstractInplaceIntroducer>() {