mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 15:27:45 +07:00
[java] highlights duplicate 'opens' statements (IDEA-169015)
In addition, provides a quickfix for duplicate exports/opens targets.
This commit is contained in:
+12
-3
@@ -149,7 +149,13 @@ public class ModuleHighlightUtil {
|
||||
checkDuplicateRefs(
|
||||
module.getExports(),
|
||||
st -> Optional.ofNullable(st.getPackageReference()).map(ModuleHighlightUtil::refText),
|
||||
"module.duplicate.export",
|
||||
"module.duplicate.exports",
|
||||
results);
|
||||
|
||||
checkDuplicateRefs(
|
||||
module.getOpens(),
|
||||
st -> Optional.ofNullable(st.getPackageReference()).map(ModuleHighlightUtil::refText),
|
||||
"module.duplicate.opens",
|
||||
results);
|
||||
|
||||
checkDuplicateRefs(
|
||||
@@ -303,8 +309,11 @@ public class ModuleHighlightUtil {
|
||||
PsiPolyVariantReference ref = refElement.getReference();
|
||||
assert ref != null : statement;
|
||||
if (!targets.add(refText)) {
|
||||
String message = JavaErrorMessages.message("module.duplicate.export", refText);
|
||||
results.add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(refElement).descriptionAndTooltip(message).create());
|
||||
boolean exports = statement.getRole() == Role.EXPORTS;
|
||||
String message = JavaErrorMessages.message(exports ? "module.duplicate.exports.target" : "module.duplicate.opens.target", refText);
|
||||
HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(refElement).descriptionAndTooltip(message).create();
|
||||
QuickFixAction.registerQuickFixAction(info, factory().createDeleteFix(refElement, QuickFixBundle.message("delete.reference.fix.text")));
|
||||
results.add(info);
|
||||
}
|
||||
else if (ref.multiResolve(true).length == 0) {
|
||||
String message = JavaErrorMessages.message("module.not.found", refElement.getReferenceText());
|
||||
|
||||
Reference in New Issue
Block a user