diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocTagImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocTagImpl.java index 08209c7716bc..551294958845 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocTagImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocTagImpl.java @@ -1,4 +1,4 @@ -// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.psi.impl.source.javadoc; import com.intellij.lang.ASTNode; @@ -22,8 +22,8 @@ public class PsiDocTagImpl extends CompositePsiElement implements PsiDocTag, Con private static final TokenSet TAG_VALUE_BIT_SET = TokenSet.create( DOC_TAG_VALUE_ELEMENT, DOC_METHOD_OR_FIELD_REF, DOC_PARAMETER_REF); private static final TokenSet VALUE_BIT_SET = TokenSet.orSet(TAG_VALUE_BIT_SET, TokenSet.create( - DOC_TAG_VALUE_TOKEN, JAVA_CODE_REFERENCE, DOC_COMMENT_DATA, DOC_INLINE_TAG, DOC_REFERENCE_HOLDER, DOC_SHARP, DOC_LBRACKET, DOC_RBRACKET, - DOC_LPAREN, DOC_RPAREN, DOC_CODE_FENCE, DOC_INLINE_CODE_FENCE, DOC_MARKDOWN_CODE_BLOCK, DOC_COMMA)); + DOC_TAG_VALUE_TOKEN, JAVA_CODE_REFERENCE, DOC_COMMENT_DATA, DOC_INLINE_TAG, DOC_REFERENCE_HOLDER, DOC_MARKDOWN_REFERENCE_LINK, + DOC_SHARP, DOC_LBRACKET, DOC_RBRACKET, DOC_LPAREN, DOC_RPAREN, DOC_CODE_FENCE, DOC_INLINE_CODE_FENCE, DOC_MARKDOWN_CODE_BLOCK, DOC_COMMA)); public PsiDocTagImpl() { super(DOC_TAG); diff --git a/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.html b/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.html new file mode 100644 index 000000000000..c95f3407a425 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.html @@ -0,0 +1,2 @@ +
 Test
int foo(
int a, + int b
)

Params:

a – link to java.lang.String
b – link with a label

Returns:

return label with a link java.lang.String

\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.java b/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.java new file mode 100644 index 000000000000..913a32461c40 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/linkInParamDescriptionMarkdown.java @@ -0,0 +1,9 @@ +class Test { + + /// @param a link to [java.lang.String] + /// @param b link with a [label][java.lang.String] + /// @return return label with a link [java.lang.String] + int foo(int a, int b) { return 0; } + + void foo2() {} +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaDocInfoGeneratorTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaDocInfoGeneratorTest.java index 1406db1109bd..22842c1ddade 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaDocInfoGeneratorTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaDocInfoGeneratorTest.java @@ -211,6 +211,7 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase { public void testPreTagStrictBeforeCode(){ doTestClass(); } public void testSeeTagWithLabel() { doTestClass(); } public void testSeeTagWithLabelMarkdown() { doTestClass(); } + public void testLinkInParamDescriptionMarkdown() { doTestAtCaret(); } public void testRepeatableAnnotations() { useJava8();