mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
inline superclass: hide javadoc settings when no found anyway (IDEA-175025)
This commit is contained in:
+11
-1
@@ -18,6 +18,8 @@ package com.intellij.refactoring.inlineSuperClass;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiDocCommentOwner;
|
||||
import com.intellij.psi.PsiMember;
|
||||
import com.intellij.refactoring.JavaRefactoringSettings;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.inline.InlineOptionsDialog;
|
||||
@@ -70,8 +72,16 @@ public class InlineSuperClassRefactoringDialog extends InlineOptionsDialog {
|
||||
final GridBagConstraints gc =
|
||||
new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,
|
||||
JBUI.emptyInsets(), 0, 0);
|
||||
panel.add(myDocPanel, gc);
|
||||
panel.add(super.createCenterPanel(), gc);
|
||||
panel.add(myDocPanel, gc);
|
||||
if (mySuperClass.getDocComment() == null) {
|
||||
boolean hasJavadoc =
|
||||
InlineSuperClassRefactoringProcessor.getClassMembersToPush(mySuperClass).stream().anyMatch(memberInfo -> {
|
||||
PsiMember member = memberInfo.getMember();
|
||||
return member instanceof PsiDocCommentOwner && ((PsiDocCommentOwner)member).getDocComment() != null;
|
||||
});
|
||||
myDocPanel.setVisible(hasJavadoc);
|
||||
}
|
||||
gc.weighty = 1;
|
||||
gc.fill = GridBagConstraints.BOTH;
|
||||
panel.add(Box.createVerticalGlue(), gc);
|
||||
|
||||
+10
-7
@@ -40,7 +40,6 @@ import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewDescriptor;
|
||||
import com.intellij.util.ArrayUtilRt;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -63,18 +62,22 @@ public class InlineSuperClassRefactoringProcessor extends FixableUsagesRefactori
|
||||
myCurrentInheritor = currentInheritor;
|
||||
mySuperClass = superClass;
|
||||
myPolicy = policy;
|
||||
MemberInfoStorage memberInfoStorage = new MemberInfoStorage(mySuperClass, new MemberInfo.Filter<PsiMember>() {
|
||||
public boolean includeMember(PsiMember element) {
|
||||
return !(element instanceof PsiClass) || PsiTreeUtil.isAncestor(mySuperClass, element, true);
|
||||
}
|
||||
});
|
||||
List<MemberInfo> members = memberInfoStorage.getClassMemberInfos(mySuperClass);
|
||||
List<MemberInfo> members = getClassMembersToPush(mySuperClass);
|
||||
for (MemberInfo member : members) {
|
||||
member.setChecked(true);
|
||||
}
|
||||
myMemberInfos = members.toArray(new MemberInfo[members.size()]);
|
||||
}
|
||||
|
||||
public static List<MemberInfo> getClassMembersToPush(PsiClass superClass) {
|
||||
MemberInfoStorage memberInfoStorage = new MemberInfoStorage(superClass, new MemberInfo.Filter<PsiMember>() {
|
||||
public boolean includeMember(PsiMember element) {
|
||||
return !(element instanceof PsiClass) || PsiTreeUtil.isAncestor(superClass, element, true);
|
||||
}
|
||||
});
|
||||
return memberInfoStorage.getClassMemberInfos(superClass);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected UsageViewDescriptor createUsageViewDescriptor(@NotNull final UsageInfo[] usages) {
|
||||
return new InlineSuperClassUsageViewDescriptor(mySuperClass);
|
||||
|
||||
Reference in New Issue
Block a user