extract method object: conditional exit; nullable check should be processed separately ( IDEA-52452 )

This commit is contained in:
anna
2010-05-11 14:12:05 +04:00
parent 5e7036a74d
commit 8be6b22b0a
13 changed files with 203 additions and 7 deletions

View File

@@ -0,0 +1,9 @@
public class XXX {
void f<caret>oo() {
int i = 0 ;
bar(i);
System.out.println(i);
}
private void bar(int i){}
}

View File

@@ -0,0 +1,15 @@
public class XXX {
void foo() {
new InnerClass().invoke();
}
private class InnerClass {
public void invoke() {
int i = 0 ;
bar(i);
System.out.println(i);
}
private void bar(int i){}
}
}

View File

@@ -0,0 +1,13 @@
public class XXX {
void f<caret>oo() {
int i = 0 ;
bar(i);
System.out.println(i);
}
void bazz() {
bar(0);
}
private void bar(int i){}
}

View File

@@ -0,0 +1,19 @@
public class XXX {
void foo() {
new InnerClass().invoke();
}
void bazz() {
bar(0);
}
private void bar(int i){}
private class InnerClass {
public void invoke() {
int i = 0 ;
bar(i);
System.out.println(i);
}
}
}

View File

@@ -0,0 +1,9 @@
class Foo {
String foo() {
<selection>String var = null;
if (var == null) {
return "";
}</selection>
System.out.println(var);
}
}

View File

@@ -0,0 +1,31 @@
class Foo {
String foo() {
Inner inner = new Inner().invoke();
if (inner.is()) return "";
String var = inner.getVar();
System.out.println(var);
}
private class Inner {
private boolean myResult;
private String var;
boolean is() {
return myResult;
}
public String getVar() {
return var;
}
public Inner invoke() {
var = null;
if (var == null) {
myResult = true;
return this;
}
myResult = false;
return this;
}
}
}

View File

@@ -0,0 +1,9 @@
class Foo {
String foo() {
<selection>String var = "";
if (var == null) {
return null;
}</selection>
System.out.println(var);
}
}

View File

@@ -0,0 +1,31 @@
class Foo {
String foo() {
Inner inner = new Inner().invoke();
String var = inner.getVar();
if (var == null) return null;
System.out.println(var);
}
private class Inner {
private boolean myResult;
private String var;
boolean is() {
return myResult;
}
public String getVar() {
return var;
}
public Inner invoke() {
var = "";
if (var == null) {
myResult = true;
return this;
}
myResult = false;
return this;
}
}
}