java 1.8, stream api migration: shorten class names

This commit is contained in:
Anna Kozlova
2014-03-03 11:22:25 +01:00
parent 4e6b18e1d6
commit fb65345150
8 changed files with 9 additions and 10 deletions

View File

@@ -21,6 +21,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.controlFlow.*;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
@@ -276,7 +277,8 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo
} else if (qualifierExpression == null) {
variableName = "";
}
PsiElement result = null;
if (initializer != null) {
final PsiType initializerType = initializer.getType();
final PsiClassType rawType = initializerType instanceof PsiClassType ? ((PsiClassType)initializerType).rawType() : null;
@@ -288,11 +290,15 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo
iteration += "toCollection(() -> " + initializer.getText() +")";
}
iteration += ")";
initializer.replace(JavaPsiFacade.getElementFactory(project).createExpressionFromText(iteration, foreachStatement));
result = initializer.replace(JavaPsiFacade.getElementFactory(project).createExpressionFromText(iteration, foreachStatement));
foreachStatement.delete();
} else if (variableName != null){
iteration += "toList())";
foreachStatement.replace(JavaPsiFacade.getElementFactory(project).createStatementFromText(variableName + "addAll(" + iteration +");", foreachStatement));
result = foreachStatement.replace(JavaPsiFacade.getElementFactory(project).createStatementFromText(variableName + "addAll(" + iteration +");", foreachStatement));
}
if (result != null) {
result = JavaCodeStyleManager.getInstance(project).shortenClassReferences(result);
}
}
}

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public abstract class Collect implements Collection<String>{
class Person {

View File

@@ -1,6 +1,5 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Collect {
class Person {