本文整理汇总了Java中com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil类的典型用法代码示例。如果您正苦于以下问题:Java ExtractSuperClassUtil类的具体用法?Java ExtractSuperClassUtil怎么用?Java ExtractSuperClassUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExtractSuperClassUtil类属于com.intellij.refactoring.extractSuperclass包,在下文中一共展示了ExtractSuperClassUtil类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: invoke
import com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil; //导入依赖的package包/类
public void invoke(@NotNull final Project project, @NotNull PsiElement[] elements, DataContext dataContext) {
if (elements.length != 1) return;
myProject = project;
myClass = (PsiClass)elements[0];
if (!CommonRefactoringUtil.checkReadOnlyStatus(project, myClass)) return;
final ExtractInterfaceDialog dialog = new ExtractInterfaceDialog(myProject, myClass);
if (!dialog.showAndGet() || !dialog.isExtractSuperclass()) {
return;
}
final MultiMap<PsiElement, String> conflicts = new MultiMap<PsiElement, String>();
ExtractSuperClassUtil.checkSuperAccessible(dialog.getTargetDirectory(), conflicts, myClass);
if (!ExtractSuperClassUtil.showConflicts(dialog, conflicts, myProject)) return;
CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
public void run() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
myInterfaceName = dialog.getExtractedSuperName();
mySelectedMembers = ArrayUtil.toObjectArray(dialog.getSelectedMemberInfos(), MemberInfo.class);
myTargetDir = dialog.getTargetDirectory();
myJavaDocPolicy = new DocCommentPolicy(dialog.getDocCommentPolicy());
try {
doRefactoring();
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
});
}
}, REFACTORING_NAME, null);
}
示例2: testAnonymClass
import com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil; //导入依赖的package包/类
public void testAnonymClass() throws Exception {
String rootBefore = getRoot() + "/before";
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk14());
final VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
PsiClass psiClass = myJavaFacade.findClass("Test", ProjectScope.getAllScope(myProject));
assertNotNull(psiClass);
final PsiField[] fields = psiClass.getFields();
assertTrue(fields.length == 1);
final PsiExpression initializer = fields[0].getInitializer();
assertNotNull(initializer);
assertInstanceOf(initializer, PsiNewExpression.class);
final PsiAnonymousClass anonymousClass = ((PsiNewExpression)initializer).getAnonymousClass();
assertNotNull(anonymousClass);
final ArrayList<MemberInfo> infos = new ArrayList<>();
MemberInfo.extractClassMembers(anonymousClass, infos, member -> true, false);
for (MemberInfo info : infos) {
info.setChecked(true);
}
new WriteCommandAction.Simple(myProject) {
@Override
protected void run() throws Throwable {
ExtractSuperClassUtil
.extractSuperClass(myProject, psiClass.getContainingFile().getContainingDirectory(), "TestSubclass", anonymousClass,
infos.toArray(new MemberInfo[infos.size()]), new DocCommentPolicy(DocCommentPolicy.ASIS));
}
}.execute();
String rootAfter = getRoot() + "/after";
VirtualFile rootDir2 = LocalFileSystem.getInstance().findFileByPath(rootAfter.replace(File.separatorChar, '/'));
myProject.getComponent(PostprocessReformattingAspect.class).doPostponedFormatting();
IdeaTestUtil.assertDirectoriesEqual(rootDir2, rootDir);
}
示例3: invoke
import com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil; //导入依赖的package包/类
public void invoke(@NotNull final Project project, @NotNull PsiElement[] elements, DataContext dataContext) {
if (elements.length != 1) return;
myProject = project;
myClass = (PsiClass)elements[0];
if (!CommonRefactoringUtil.checkReadOnlyStatus(project, myClass)) return;
final ExtractInterfaceDialog dialog = new ExtractInterfaceDialog(myProject, myClass);
dialog.show();
if (!dialog.isOK() || !dialog.isExtractSuperclass()) return;
final MultiMap<PsiElement, String> conflicts = new MultiMap<PsiElement, String>();
ExtractSuperClassUtil.checkSuperAccessible(dialog.getTargetDirectory(), conflicts, myClass);
if (!ExtractSuperClassUtil.showConflicts(dialog, conflicts, myProject)) return;
CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
public void run() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
myInterfaceName = dialog.getExtractedSuperName();
mySelectedMembers = ArrayUtil.toObjectArray(dialog.getSelectedMemberInfos(), MemberInfo.class);
myTargetDir = dialog.getTargetDirectory();
myJavaDocPolicy = new DocCommentPolicy(dialog.getDocCommentPolicy());
try {
doRefactoring();
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
});
}
}, REFACTORING_NAME, null);
}