extract method: no need to declare variables after call when expression was extracted

This commit is contained in:
Anna Kozlova
2012-05-31 21:30:10 +04:00
parent d1cf24b6e7
commit b950ee8562
4 changed files with 76 additions and 0 deletions
@@ -0,0 +1,34 @@
class BasicLazyResolveTest {
public void test() {
Object session = <selection>new Object() {
/*
public ClassMemberDeclarationProvider getClassMemberDeclarationProvider(JetClass jetClassOrObject) {
final JetClass jetClass = (JetClass) jetClassOrObject;
return new ClassMemberDeclarationProvider() {*/
/* private <D, T extends JetNamed> List<T> filter(List<D> list, final Class<T> t, final Name name) {
//noinspection unchecked
return (List) Lists.newArrayList(Collections2.filter(list, new Predicate<D>() {
@Override
public boolean apply(D d) {
return t.isInstance(d) && ((JetNamed) d).getNameAsName().equals(name);
}
}));
}*/
/* };
}*/
}</selection>;
String packageDescriptor = session.toString();
}
}
@@ -0,0 +1,38 @@
class BasicLazyResolveTest {
public void test() {
Object session = newMethod();
String packageDescriptor = session.toString();
}
private Object newMethod() {
return new Object() {
/*
public ClassMemberDeclarationProvider getClassMemberDeclarationProvider(JetClass jetClassOrObject) {
final JetClass jetClass = (JetClass) jetClassOrObject;
return new ClassMemberDeclarationProvider() {*/
/* private <D, T extends JetNamed> List<T> filter(List<D> list, final Class<T> t, final Name name) {
//noinspection unchecked
return (List) Lists.newArrayList(Collections2.filter(list, new Predicate<D>() {
@Override
public boolean apply(D d) {
return t.isInstance(d) && ((JetNamed) d).getNameAsName().equals(name);
}
}));
}*/
/* };
}*/
};
}
}
@@ -194,6 +194,9 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
doTest();
}
public void testVarDeclAfterExpressionExtraction() throws Exception {
doTest();
}
public void testFinalParamUsedInsideAnon() throws Exception {
CodeStyleSettingsManager.getSettings(getProject()).GENERATE_FINAL_PARAMETERS = false;