Skip to content

Commit c360c74

Browse files
UCT-707: Refactored using deprecated constant inspection
1 parent 94e1852 commit c360c74

File tree

2 files changed

+45
-52
lines changed

2 files changed

+45
-52
lines changed

src/com/magento/idea/magento2uct/inspections/php/UsedFieldInspection.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ protected abstract void execute(
9090
*
9191
* @param project Project
9292
* @param problemsHolder ProblemsHolder
93-
* @param field Field
94-
* @param fieldReference FieldReference
93+
* @param constant Field
94+
* @param constantReference FieldReference
9595
*/
9696
protected abstract void execute(
9797
final Project project,
9898
final @NotNull ProblemsHolder problemsHolder,
99-
final ClassConstImpl field,
100-
final ClassConstantReference fieldReference
99+
final ClassConstImpl constant,
100+
final ClassConstantReference constantReference
101101
);
102102

103103
/**

src/com/magento/idea/magento2uct/inspections/php/deprecation/UsingDeprecatedConstant.java

Lines changed: 41 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,63 @@
88
import com.intellij.codeInspection.ProblemHighlightType;
99
import com.intellij.codeInspection.ProblemsHolder;
1010
import com.intellij.openapi.project.Project;
11-
import com.intellij.psi.PsiElement;
12-
import com.intellij.psi.PsiElementVisitor;
13-
import com.jetbrains.php.lang.inspections.PhpInspection;
1411
import com.jetbrains.php.lang.psi.elements.ClassConstantReference;
12+
import com.jetbrains.php.lang.psi.elements.Field;
13+
import com.jetbrains.php.lang.psi.elements.FieldReference;
1514
import com.jetbrains.php.lang.psi.elements.PhpClass;
1615
import com.jetbrains.php.lang.psi.elements.impl.ClassConstImpl;
17-
import com.jetbrains.php.lang.psi.visitors.PhpElementVisitor;
1816
import com.magento.idea.magento2uct.inspections.UctProblemsHolder;
17+
import com.magento.idea.magento2uct.inspections.php.UsedFieldInspection;
18+
import com.magento.idea.magento2uct.packages.IssueSeverityLevel;
1919
import com.magento.idea.magento2uct.packages.SupportedIssue;
20-
import com.magento.idea.magento2uct.settings.UctSettingsService;
2120
import com.magento.idea.magento2uct.versioning.VersionStateManager;
2221
import org.jetbrains.annotations.NotNull;
2322

24-
public class UsingDeprecatedConstant extends PhpInspection {
23+
public class UsingDeprecatedConstant extends UsedFieldInspection {
2524

2625
@Override
27-
public @NotNull PsiElementVisitor buildVisitor(
26+
protected void execute(
27+
final Project project,
2828
final @NotNull ProblemsHolder problemsHolder,
29-
final boolean isOnTheFly
29+
final Field field,
30+
final FieldReference fieldReference
3031
) {
31-
return new PhpElementVisitor() {
32+
}
3233

33-
@Override
34-
public void visitPhpClassConstantReference(
35-
final ClassConstantReference constantReference
36-
) {
37-
final Project project = constantReference.getProject();
38-
final UctSettingsService settings = UctSettingsService.getInstance(project);
34+
@Override
35+
protected void execute(
36+
final Project project,
37+
final @NotNull ProblemsHolder problemsHolder,
38+
final ClassConstImpl constant,
39+
final ClassConstantReference constantReference
40+
) {
41+
final String constantFqn = constant.getFQN();
3942

40-
if (!settings.isEnabled() || !settings.isIssueLevelSatisfiable(
41-
SupportedIssue.USING_DEPRECATED_CONSTANT.getLevel())
42-
) {
43-
return;
44-
}
45-
final PsiElement element = constantReference.resolve();
43+
if (!VersionStateManager.getInstance(project).isDeprecated(constantFqn)) {
44+
return;
45+
}
46+
final PhpClass containingClass = constant.getContainingClass();
4647

47-
if (!(element instanceof ClassConstImpl)) {
48-
return;
49-
}
50-
final String constantClass = ((ClassConstImpl) element).getFQN();
48+
if (containingClass == null) {
49+
return;
50+
}
5151

52-
if (!VersionStateManager.getInstance(project).isDeprecated(constantClass)) {
53-
return;
54-
}
55-
final PhpClass containingClass = ((ClassConstImpl) element).getContainingClass();
52+
if (problemsHolder instanceof UctProblemsHolder) {
53+
((UctProblemsHolder) problemsHolder).setReservedErrorCode(
54+
SupportedIssue.USING_DEPRECATED_CONSTANT.getCode()
55+
);
56+
}
57+
problemsHolder.registerProblem(
58+
constantReference,
59+
SupportedIssue.USING_DEPRECATED_CONSTANT.getMessage(
60+
containingClass.getFQN().concat("::").concat(constant.getName())
61+
),
62+
ProblemHighlightType.LIKE_DEPRECATED
63+
);
64+
}
5665

57-
if (containingClass == null) {
58-
return;
59-
}
60-
if (problemsHolder instanceof UctProblemsHolder) {
61-
((UctProblemsHolder) problemsHolder).setReservedErrorCode(
62-
SupportedIssue.USING_DEPRECATED_CONSTANT.getCode()
63-
);
64-
}
65-
problemsHolder.registerProblem(
66-
constantReference,
67-
SupportedIssue.USING_DEPRECATED_CONSTANT.getMessage(
68-
containingClass.getFQN()
69-
.concat("::")
70-
.concat(((ClassConstImpl) element).getName())
71-
),
72-
ProblemHighlightType.LIKE_DEPRECATED
73-
);
74-
}
75-
};
66+
@Override
67+
protected IssueSeverityLevel getSeverityLevel() {
68+
return SupportedIssue.USING_DEPRECATED_CONSTANT.getLevel();
7669
}
7770
}

0 commit comments

Comments
 (0)