mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Recreate inspection for each test in AccessCanBeTightenedInspectionTest, move isConstantField() from PsiUtil to AccessCanBeTightenedInspection
This commit is contained in:
+8
-1
@@ -87,7 +87,7 @@ class AccessCanBeTightenedInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
|
||||
private void checkMember(@NotNull final PsiMember member) {
|
||||
if (!myVisibilityInspection.SUGGEST_FOR_CONSTANTS && PsiUtil.isConstantField(member)) {
|
||||
if (!myVisibilityInspection.SUGGEST_FOR_CONSTANTS && isConstantField(member)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -291,6 +291,13 @@ class AccessCanBeTightenedInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
return memberClass.getContainingClass() != null || memberClass instanceof PsiAnonymousClass;
|
||||
}
|
||||
|
||||
private static boolean isConstantField(PsiMember member) {
|
||||
return member instanceof PsiField &&
|
||||
member.hasModifierProperty(PsiModifier.STATIC) &&
|
||||
member.hasModifierProperty(PsiModifier.FINAL) &&
|
||||
((PsiField)member).hasInitializer();
|
||||
}
|
||||
|
||||
private static boolean isInReferenceList(@Nullable PsiElement list, @NotNull final PsiMember member) {
|
||||
if (list == null) return false;
|
||||
final PsiManager psiManager = member.getManager();
|
||||
|
||||
+2
-1
@@ -614,9 +614,10 @@ public class VisibilityInspection extends GlobalJavaBatchInspectionTool {
|
||||
node.addContent(new Element("disabledExtension").setAttribute("id", entry.getKey()));
|
||||
}
|
||||
}
|
||||
for (Element child : new ArrayList<>(node.getChildren())) {
|
||||
for (Element child : node.getChildren()) {
|
||||
if ("SUGGEST_FOR_CONSTANTS".equals(child.getAttributeValue("name")) && "true".equals(child.getAttributeValue("value"))) {
|
||||
node.removeContent(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.presentation.java.SymbolPresentationUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.refactoring.HelpID;
|
||||
import com.intellij.refactoring.PackageWrapper;
|
||||
import com.intellij.refactoring.RefactorJBundle;
|
||||
@@ -272,7 +271,7 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
|
||||
protected Object getAbstractColumnValue(MemberInfo memberInfo) {
|
||||
if (isExtractAsEnum()) {
|
||||
final PsiMember member = memberInfo.getMember();
|
||||
if (PsiUtil.isConstantField(member)) {
|
||||
if (isConstantField(member)) {
|
||||
return Boolean.valueOf(enumConstants.contains(memberInfo));
|
||||
}
|
||||
}
|
||||
@@ -284,7 +283,7 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
|
||||
final MemberInfo info = memberInfo.get(rowIndex);
|
||||
if (info.isChecked()) {
|
||||
final PsiMember member = info.getMember();
|
||||
if (PsiUtil.isConstantField(member)) {
|
||||
if (isConstantField(member)) {
|
||||
if (enumConstants.isEmpty()) return true;
|
||||
final MemberInfo currentEnumConstant = enumConstants.get(0);
|
||||
if (((PsiField)currentEnumConstant.getMember()).getType().equals(((PsiField)member).getType())) return true;
|
||||
@@ -381,14 +380,14 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (selected != null && PsiUtil.isConstantField(selected.getMember())) {
|
||||
if (selected != null && isConstantField(selected.getMember())) {
|
||||
enumConstants.add(selected);
|
||||
selected.setToAbstract(true);
|
||||
}
|
||||
}
|
||||
for (MemberInfo info : memberInfo) {
|
||||
final PsiMember member = info.getMember();
|
||||
if (PsiUtil.isConstantField(member)) {
|
||||
if (isConstantField(member)) {
|
||||
if (enumConstants.isEmpty() || ((PsiField)enumConstants.get(0).getMember()).getType().equals(((PsiField)member).getType())) {
|
||||
if (!enumConstants.contains(info)) enumConstants.add(info);
|
||||
info.setToAbstract(true);
|
||||
@@ -397,6 +396,13 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isConstantField(PsiMember member) {
|
||||
return member instanceof PsiField &&
|
||||
member.hasModifierProperty(PsiModifier.STATIC) &&
|
||||
// member.hasModifierProperty(PsiModifier.FINAL) &&
|
||||
((PsiField)member).hasInitializer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getPreferredFocusedComponent() {
|
||||
return classNameField;
|
||||
|
||||
@@ -677,19 +677,6 @@ public final class PsiUtil extends PsiUtilCore {
|
||||
&& isConstantExpression(field.getInitializer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the passed {@link PsiElement} is a constant field (static final field with initializer).
|
||||
*/
|
||||
public static boolean isConstantField(PsiElement element) {
|
||||
if (!(element instanceof PsiField)) {
|
||||
return false;
|
||||
}
|
||||
PsiField field = (PsiField)element;
|
||||
return field.hasModifierProperty(PsiModifier.STATIC) &&
|
||||
field.hasModifierProperty(PsiModifier.FINAL) &&
|
||||
field.hasInitializer();
|
||||
}
|
||||
|
||||
public static boolean allMethodsHaveSameSignature(@NotNull PsiMethod[] methods) {
|
||||
if (methods.length == 0) return true;
|
||||
final MethodSignature methodSignature = methods[0].getSignature(PsiSubstitutor.EMPTY);
|
||||
|
||||
+7
-1
@@ -34,13 +34,19 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
public class AccessCanBeTightenedInspectionTest extends LightInspectionTestCase {
|
||||
private VisibilityInspection myVisibilityInspection = createTool();
|
||||
private VisibilityInspection myVisibilityInspection;
|
||||
|
||||
@Override
|
||||
protected LocalInspectionTool getInspection() {
|
||||
return myVisibilityInspection.getSharedLocalInspectionTool();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
myVisibilityInspection = createTool();
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myVisibilityInspection = null;
|
||||
|
||||
Reference in New Issue
Block a user