mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
[java] accepts quoted strings and HTML refs after @see tag (IDEA-156403)
This commit is contained in:
@@ -192,7 +192,7 @@ public class JavadocHighlightUtil {
|
||||
if (dataElements.length == 0 || dataElements.length == 1 && empty(dataElements[0])) {
|
||||
holder.problem(tag.getNameElement(), InspectionsBundle.message("inspection.javadoc.problem.see.tag.expecting.ref"), null);
|
||||
}
|
||||
else if (!SEE_TAG_REFS.contains(dataElements[0].getNode().getElementType())) {
|
||||
else if (!isValidSeeRef(dataElements[0])) {
|
||||
holder.problem(dataElements[0], InspectionsBundle.message("inspection.javadoc.problem.see.tag.expecting.ref"), null);
|
||||
}
|
||||
}
|
||||
@@ -201,6 +201,17 @@ public class JavadocHighlightUtil {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isValidSeeRef(PsiElement e) {
|
||||
if (SEE_TAG_REFS.contains(e.getNode().getElementType())) return true;
|
||||
|
||||
String text = e.getText();
|
||||
if (StringUtil.isQuotedString(text) && text.charAt(0) == '"') return true;
|
||||
|
||||
if (text.toLowerCase(Locale.US).startsWith("<a href=")) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static void checkInlineTags(@NotNull PsiElement[] elements, @NotNull ProblemHolder holder) {
|
||||
JavadocManager docManager = JavadocManager.SERVICE.getInstance(holder.project());
|
||||
for (PsiElement element : elements) {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/**
|
||||
* <warning descr="Class or method reference is expected after @see tag">@see</warning>
|
||||
* @see <warning descr="Class or method reference is expected after @see tag">{@link C}</warning> clarification
|
||||
* <warning descr="Class/method reference, quoted text, or HTML link are expected after @see tag">@see</warning>
|
||||
* @see <warning descr="Class/method reference, quoted text, or HTML link are expected after @see tag">{@link C}</warning> clarification
|
||||
*
|
||||
* @see C a correct one
|
||||
* @see C#f
|
||||
* @see "The Java Language Specification, Java SE 8 Edition"
|
||||
* @see <a href="https://docs.oracle.com/javase/specs/jls/se8/html/index.html">The Java Language Specification, Java SE 8 Edition</a>
|
||||
*/
|
||||
class C {
|
||||
int f;
|
||||
|
||||
@@ -272,7 +272,7 @@ inspection.javadoc.problem.descriptor=Required Javadoc is absent
|
||||
inspection.javadoc.problem.descriptor1=Period in the documentation is missing. The period is used by the Javadoc tool to generate the comment for the overview page
|
||||
inspection.javadoc.problem.missing.tag=Required tag {0} is missing
|
||||
inspection.javadoc.problem.missing.tag.description={0} is missing after @{1} tag
|
||||
inspection.javadoc.problem.see.tag.expecting.ref=Class or method reference is expected after @see tag
|
||||
inspection.javadoc.problem.see.tag.expecting.ref=Class/method reference, quoted text, or HTML link are expected after @see tag
|
||||
inspection.javadoc.problem.cannot.resolve=Cannot resolve symbol {0}
|
||||
inspection.javadoc.problem.name.expected=Name expected
|
||||
inspection.javadoc.problem.wrong.tag=Wrong tag {0}
|
||||
|
||||
Reference in New Issue
Block a user