mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
guava type migration: method parameter migration involves local variables migration if need
This commit is contained in:
+4
-1
@@ -29,7 +29,6 @@ import com.intellij.refactoring.typeMigration.TypeConversionDescriptor;
|
||||
import com.intellij.refactoring.typeMigration.TypeConversionDescriptorBase;
|
||||
import com.intellij.refactoring.typeMigration.TypeMigrationLabeler;
|
||||
import com.intellij.refactoring.typeMigration.rules.TypeConversionRule;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
@@ -306,6 +305,10 @@ public class GuavaFluentIterableConversionRule extends BaseGuavaTypeConversionRu
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (qualifier instanceof PsiReferenceExpression && ((PsiReferenceExpression)qualifier).resolve() instanceof PsiVariable) {
|
||||
labeler.migrateExpressionType(qualifier, to, qualifier.getParent(), false, false);
|
||||
break;
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -182,6 +182,10 @@ public class GuavaInspectionTest extends JavaCodeInsightFixtureTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testTypeMigrationRootBackTraverse() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTestNoQuickFixes(final Class<? extends IntentionAction>... quickFixesClasses) {
|
||||
myFixture.configureByFile(getTestName(true) + ".java");
|
||||
myFixture.enableInspections(new GuavaInspection());
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import com.google.common.collect.FluentIterable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class MainFluentIterable {
|
||||
|
||||
FluentIter<caret>able<String> m2() {
|
||||
|
||||
FluentIterable<String> it = FluentIterable.from(new ArrayList<String>());
|
||||
|
||||
return it.transform(s -> s + s);
|
||||
}
|
||||
|
||||
void m3() {
|
||||
System.out.println((int) m2().size());
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class MainFluentIterable {
|
||||
|
||||
Stream<String> m2() {
|
||||
|
||||
Stream<String> it = new ArrayList<String>().stream();
|
||||
|
||||
return it.map(s -> s + s);
|
||||
}
|
||||
|
||||
void m3() {
|
||||
System.out.println((int) (int) m2().count());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user