[javadoc] Highlight unresolved fragment references

IJ-MR-174748
#IDEA-376337

GitOrigin-RevId: 4352c370375c968392ea81cdcfab262ebd7fa5ab
This commit is contained in:
Louis Vignier
2025-09-17 19:25:19 +00:00
committed by intellij-monorepo-bot
parent 3cf7c13a11
commit 115c73bc1e
7 changed files with 52 additions and 5 deletions
@@ -6,7 +6,9 @@ import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.impl.source.Constants;
import com.intellij.psi.impl.source.tree.CompositePsiElement;
import com.intellij.psi.javadoc.PsiDocFragmentName;
import com.intellij.psi.javadoc.PsiDocFragmentRef;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -29,4 +31,9 @@ public class PsiDocFragmentRefImpl extends CompositePsiElement implements PsiDoc
public @Nullable PsiClass getScope() {
return PsiDocMethodOrFieldRef.getScope(this);
}
@Override
public @Nullable PsiDocFragmentName getFragmentName() {
return PsiTreeUtil.getChildOfType(this, PsiDocFragmentName.class);
}
}
@@ -21,9 +21,9 @@ import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
public class PsiInlineDocTagImpl extends CompositePsiElement implements PsiInlineDocTag, Constants {
private static final TokenSet TAG_VALUE_BIT_SET = TokenSet.create(DOC_TAG_VALUE_ELEMENT, DOC_METHOD_OR_FIELD_REF);
private static final TokenSet TAG_VALUE_BIT_SET = TokenSet.create(DOC_TAG_VALUE_ELEMENT, DOC_METHOD_OR_FIELD_REF, DOC_FRAGMENT_REF);
static final TokenSet VALUE_BIT_SET = TokenSet.orSet(TAG_VALUE_BIT_SET, TokenSet.create(
JAVA_CODE_REFERENCE, DOC_TAG_VALUE_TOKEN, DOC_COMMENT_DATA, DOC_INLINE_TAG, DOC_REFERENCE_HOLDER, DOC_FRAGMENT_REF,
JAVA_CODE_REFERENCE, DOC_TAG_VALUE_TOKEN, DOC_COMMENT_DATA, DOC_INLINE_TAG, DOC_REFERENCE_HOLDER,
DOC_COMMENT_BAD_CHARACTER, DOC_SNIPPET_TAG_VALUE,
DOC_SHARP, DOC_LBRACKET, DOC_RBRACKET, DOC_LPAREN, DOC_RPAREN, DOC_CODE_FENCE, DOC_INLINE_CODE_FENCE, DOC_MARKDOWN_CODE_BLOCK, DOC_COMMA));