mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[java-inspections] JavaDocReferenceInspection: highlight non-existing regions
GitOrigin-RevId: 9c7a2f9e1ac551f72d594f4bc9dc689969f6c795
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5ab495db61
commit
4084f2a0c5
@@ -14,6 +14,8 @@ import com.intellij.codeInspection.util.InspectionMessage;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.ide.util.FQNameCellRenderer;
|
||||
import com.intellij.java.JavaBundle;
|
||||
import com.intellij.model.Symbol;
|
||||
import com.intellij.model.psi.PsiSymbolReference;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -27,6 +29,7 @@ import com.intellij.psi.javadoc.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.psi.util.proximity.PsiProximityComparator;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.io.URLUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -119,6 +122,13 @@ public class JavaDocReferenceInspection extends LocalInspectionTool {
|
||||
holder.registerProblem(attributeValue, JavaBundle.message("inspection.message.snippet.file.not.found"));
|
||||
}
|
||||
}
|
||||
PsiSymbolReference symRef = ContainerUtil.getOnlyItem(attributeValue.getOwnReferences());
|
||||
if (symRef != null) {
|
||||
Collection<? extends Symbol> target = symRef.resolveReference();
|
||||
if (target.isEmpty()) {
|
||||
holder.registerProblem(attributeValue, JavaBundle.message("inspection.message.snippet.region.not.found"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -9,6 +9,7 @@ package pkg;
|
||||
* {@snippet class='sub.Test' region="reg"}
|
||||
* {@snippet class=<error descr="Snippet file is not found">'sub.Test2'</error>}
|
||||
* {@snippet file="sub/test.txt"}
|
||||
* {@snippet file="sub/test.txt" region=<error descr="Region is not found">"notfound"</error>}
|
||||
*/
|
||||
public class SnippetRefs {
|
||||
}
|
||||
@@ -1818,6 +1818,7 @@ intention.family.name.ignore.project=Do not show again in this project
|
||||
fix.move.to.source.root=Move to source root
|
||||
warning.java.file.outside.source.root=Java file is located outside of the module source root, so it won't be compiled
|
||||
inspection.message.snippet.file.not.found=Snippet file is not found
|
||||
inspection.message.snippet.region.not.found=Region is not found
|
||||
javadoc.snippet.not.found=Snippet not found: {0}
|
||||
javadoc.snippet.region.not.found=Region not found: {0}
|
||||
javadoc.snippet.error.unknown.enum.value=@{0}: unknown {1} ''{2}''; only {3} are supported
|
||||
|
||||
Reference in New Issue
Block a user