/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.refactor;
import com.intellij.psi.PsiElement;
import com.intellij.refactoring.move.moveClassesOrPackages.MoveJavaClassHandler;
import com.intellij.refactoring.util.NonCodeUsageInfo;
import com.intellij.usageView.UsageInfo;
import gw.plugin.ij.lang.psi.impl.statements.typedef.GosuClassDefinitionImpl;
import java.util.Collection;
import java.util.Iterator;
public class MoveGosuClassHandler extends MoveJavaClassHandler {
@Override
public void preprocessUsages(Collection<UsageInfo> results) {
Iterator<UsageInfo> it = results.iterator();
while(it.hasNext()) {
UsageInfo u = it.next();
if(u instanceof NonCodeUsageInfo) {
NonCodeUsageInfo info = (NonCodeUsageInfo) u;
PsiElement referencedElement = info.getReferencedElement();
if(referencedElement instanceof GosuClassDefinitionImpl &&
info.newText.endsWith(((GosuClassDefinitionImpl) referencedElement).getName())) {
it.remove();
}
}
}
super.preprocessUsages(results);
}
}