type migration: unused field in TypeMigrationRules removed

This commit is contained in:
Dmitry Batkovich
2015-12-09 18:02:45 +03:00
parent b0c1359b7f
commit 9cc862c3d9
13 changed files with 18 additions and 24 deletions
@@ -349,7 +349,7 @@ public class MethodReturnTypeFix extends LocalQuickFixAndIntentionActionOnPsiEle
new PsiType[]{returnType},
PsiUtil.getLanguageLevel(superClass));
final TypeMigrationRules rules = new TypeMigrationRules(TypeMigrationLabeler.getElementType(derivedClass));
final TypeMigrationRules rules = new TypeMigrationRules();
final PsiSubstitutor compoundSubstitutor =
TypeConversionUtil.getSuperClassSubstitutor(superClass, derivedClass, PsiSubstitutor.EMPTY).putAll(psiSubstitutor);
rules.setMigrationRootType(JavaPsiFacade.getElementFactory(project).createType(baseClass, compoundSubstitutor));
@@ -71,7 +71,7 @@ public class VariableTypeFromCallFix implements IntentionAction {
@Override
public void invoke(@NotNull final Project project, final Editor editor, PsiFile file) throws IncorrectOperationException {
final TypeMigrationRules rules = new TypeMigrationRules(TypeMigrationLabeler.getElementType(myVar));
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(myExpressionType);
rules.setBoundScope(PsiSearchHelper.SERVICE.getInstance(project).getUseScope(myVar));
@@ -144,7 +144,7 @@ public class ExtractEnumProcessor {
}
}
final TypeMigrationRules rules = new TypeMigrationRules(myEnumConstants.get(0).getType());
final TypeMigrationRules rules = new TypeMigrationRules();
rules.addConversionDescriptor(new EnumTypeConversionRule(myEnumConstants));
rules.setMigrationRootType(
JavaPsiFacade.getElementFactory(myProject).createType(myClass));
@@ -36,12 +36,10 @@ import java.util.LinkedList;
public class TypeMigrationRules {
private final LinkedList<TypeConversionRule> myConversionRules = new LinkedList<TypeConversionRule>();
private final PsiType myRootType;
private PsiType myMigrationRootType;
private SearchScope mySearchScope;
public TypeMigrationRules(final PsiType root) {
myRootType = root;
public TypeMigrationRules() {
myConversionRules.add(new RootTypeConversionRule());
myConversionRules.add(new DisjunctionTypeConversionRule());
ContainerUtil.addAll(myConversionRules, Extensions.getExtensions(TypeConversionRule.EP_NAME));
@@ -51,10 +49,6 @@ public class TypeMigrationRules {
myMigrationRootType = migrationRootType;
}
public PsiType getRootType() {
return myRootType;
}
public PsiType getMigrationRootType() {
return myMigrationRootType;
}
@@ -208,7 +208,7 @@ public class TypeMigrationDialog extends RefactoringDialog {
}
if (myRules == null) {
myRules = new TypeMigrationRules(rootType);
myRules = new TypeMigrationRules();
myRules.setMigrationRootType(migrationType);
myRules.setBoundScope(myScopeChooserCombo.getSelectedScope());
}
@@ -71,7 +71,7 @@ public class TypeMigrationVariableTypeFixProvider implements ChangeVariableTypeQ
if (!FileModificationService.getInstance().prepareFileForWrite(variable.getContainingFile())) return;
try {
variable.normalizeDeclaration();
final TypeMigrationRules rules = new TypeMigrationRules(TypeMigrationLabeler.getElementType(variable));
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(targetType);
rules.setBoundScope(GlobalSearchScope.projectScope(project));
TypeMigrationProcessor.runHighlightingTypeMigration(project, editor, rules, variable, optimizeImports);
@@ -272,7 +272,7 @@ public class GuavaInspection extends BaseJavaLocalInspectionTool {
try {
final PsiMethodCallExpression expr = (PsiMethodCallExpression)startElement;
final boolean isIterableAssignment = isIterable(expr);
final TypeMigrationRules rules = new TypeMigrationRules(myInitialType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(myTargetType);
rules.setBoundScope(GlobalSearchScope.fileScope(file));
final TypeConversionDescriptorBase conversion =
@@ -364,7 +364,7 @@ public class GuavaInspection extends BaseJavaLocalInspectionTool {
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
try {
PsiMethod method = (PsiMethod)getStartElement();
final TypeMigrationRules rules = new TypeMigrationRules(TypeMigrationLabeler.getElementType(method));
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(myTargetType);
rules.setBoundScope(method.getUseScope());
TypeMigrationProcessor.runHighlightingTypeMigration(project, editor, rules, method, true);
@@ -115,7 +115,7 @@ public class ChangeClassParametersIntention extends PsiElementBaseIntentionActio
classType.getPresentableText()));
return;
}
final TypeMigrationRules myRules = new TypeMigrationRules(((PsiAnonymousClass)aClass).getBaseClassType());
final TypeMigrationRules myRules = new TypeMigrationRules();
final PsiSubstitutor substitutor = result.getSubstitutor().put(typeParameter, targetParam);
final PsiType targetClassType = elementFactory.createType(baseClass, substitutor);
myRules.setMigrationRootType(targetClassType);
@@ -98,7 +98,7 @@ public class ConvertFieldToThreadLocalIntention extends PsiElementBaseIntentionA
final PsiClassType toType = factory.createType(threadLocalClass, factory.createSubstitutor(substitutor));
try {
final TypeMigrationRules rules = new TypeMigrationRules(fromType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(toType);
rules.setBoundScope(GlobalSearchScope.fileScope(element.getContainingFile()));
final TypeMigrationLabeler labeler = new TypeMigrationLabeler(rules);
@@ -35,7 +35,7 @@ public class ChangeTypeSignatureTest extends LightCodeInsightTestCase {
PsiType migrationType = getJavaFacade().getElementFactory().createTypeFromText(migrationTypeText, null);
try {
final TypeMigrationRules rules = new TypeMigrationRules(TypeMigrationLabeler.getElementType(parameterList));
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(PsiSubstitutor.EMPTY.put(superClass.getTypeParameters()[0], migrationType).substitute(new PsiImmediateClassType(superClass, PsiSubstitutor.EMPTY)));
rules.setBoundScope(GlobalSearchScope.projectScope(getProject()));
new TypeMigrationProcessor(getProject(), parameterList, rules).run();
@@ -580,7 +580,7 @@ public class MigrateTypeSignatureTest extends TypeMigrationTestBase {
final RulesProvider provider = new RulesProvider() {
@Override
public TypeMigrationRules provide() throws Exception {
final TypeMigrationRules rules = new TypeMigrationRules(fromType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(toType);
return rules;
}
@@ -805,7 +805,7 @@ public class TypeMigrationTest extends TypeMigrationTestBase {
start(new RulesProvider() {
@Override
public TypeMigrationRules provide() {
final TypeMigrationRules rules = new TypeMigrationRules(rootType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(migrationType);
return rules;
}
@@ -918,7 +918,7 @@ public class TypeMigrationTest extends TypeMigrationTestBase {
start(new RulesProvider() {
@Override
public TypeMigrationRules provide() {
final TypeMigrationRules rules = new TypeMigrationRules(rootType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(migrationType);
return rules;
}
@@ -59,7 +59,7 @@ public abstract class TypeMigrationTestBase extends MultiFileTestCase {
final RulesProvider provider = new RulesProvider() {
@Override
public TypeMigrationRules provide() throws Exception {
final TypeMigrationRules rules = new TypeMigrationRules(fromType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(toType);
return rules;
}
@@ -88,7 +88,7 @@ public abstract class TypeMigrationTestBase extends MultiFileTestCase {
final RulesProvider provider = new RulesProvider() {
@Override
public TypeMigrationRules provide() throws Exception {
final TypeMigrationRules rules = new TypeMigrationRules(rootType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(migrationType);
return rules;
}
@@ -112,7 +112,7 @@ public abstract class TypeMigrationTestBase extends MultiFileTestCase {
final RulesProvider provider = new RulesProvider() {
@Override
public TypeMigrationRules provide() throws Exception {
final TypeMigrationRules rules = new TypeMigrationRules(rootType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(migrationType);
return rules;
}
@@ -134,7 +134,7 @@ public abstract class TypeMigrationTestBase extends MultiFileTestCase {
final RulesProvider provider = new RulesProvider() {
@Override
public TypeMigrationRules provide() throws Exception {
final TypeMigrationRules rules = new TypeMigrationRules(rootType);
final TypeMigrationRules rules = new TypeMigrationRules();
rules.setMigrationRootType(migrationType);
return rules;
}