diff --git a/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html
index dc93f949083b..f6223c1964fa 100644
--- a/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html
+++ b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html
@@ -1 +1 @@
-[< java 1.7 >] java.util
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable
\ No newline at end of file
+[< java 21 >] java.util
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/javadocIG/externalTypeAnnotations.html b/java/java-tests/testData/codeInsight/javadocIG/externalTypeAnnotations.html
new file mode 100644
index 000000000000..4de451bd7d60
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/javadocIG/externalTypeAnnotations.html
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithLambda.html b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithLambda.html
index d20b4f9303f6..eb8ce40dfee2 100644
--- a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithLambda.html
+++ b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithLambda.html
@@ -1 +1 @@
-public static java.util.function.Consumer<Integer> F = i -> System.out.println(i)
\ No newline at end of file
+
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/javadocIG/ideadev2326.html b/java/java-tests/testData/codeInsight/javadocIG/ideadev2326.html
index fdef683562fb..d0ddd58a152b 100644
--- a/java/java-tests/testData/codeInsight/javadocIG/ideadev2326.html
+++ b/java/java-tests/testData/codeInsight/javadocIG/ideadev2326.html
@@ -1,2 +1,2 @@
Throws: | IOException – if an I/O error occurs while reading.
EOFException – if this source is already closed when the read() is called, or is closed during the read().
InterruptedIOException – if the reading thread is interrupted. |
\ No newline at end of file
+throws IOExceptionThrows: | IOException – if an I/O error occurs while reading.
EOFException – if this source is already closed when the read() is called, or is closed during the read().
InterruptedIOException – if the reading thread is interrupted.
|
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/javadocIG/recordParameters.html b/java/java-tests/testData/codeInsight/javadocIG/recordParameters.html
index 6da873392961..7fd7b546d293 100644
--- a/java/java-tests/testData/codeInsight/javadocIG/recordParameters.html
+++ b/java/java-tests/testData/codeInsight/javadocIG/recordParameters.html
@@ -1,4 +1,4 @@
record Test
-extends java.lang.Record
main comment
Params: | test – simple description |
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/javadocIG/reflectConstructor.html b/java/java-tests/testData/codeInsight/javadocIG/reflectConstructor.html
index d445e3dc528d..144e95aed2d9 100644
--- a/java/java-tests/testData/codeInsight/javadocIG/reflectConstructor.html
+++ b/java/java-tests/testData/codeInsight/javadocIG/reflectConstructor.html
@@ -1,4 +1,4 @@
< java 10 >
\ No newline at end of file
+throws SecurityException < java 21 >
\ 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 9fc83f868905..760704ee8b36 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
@@ -42,7 +42,7 @@ import java.util.List;
public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
private static final String TEST_DATA_FOLDER = "/codeInsight/javadocIG/";
- private int myJdkVersion = 7;
+ private int myJdkVersion = 21;
@NotNull
@Override
@@ -119,8 +119,8 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
public void testHtmlLinkWithRef() { verifyJavaDoc(getTestClass()); }
public void testMultipleSpacesInLiteral() { useJava8(); verifyJavaDoc(getTestClass()); }
public void testLegacySpacesInLiteral() { useJava7(); verifyJavaDoc(getTestClass()); }
- public void testDocumentationForJdkClassWithReferencesToClassesFromJavaLang() { doTestAtCaret(); }
- public void testDocumentationForUncheckedExceptionsInSupers() { doTestAtCaret(); }
+ public void testDocumentationForJdkClassWithReferencesToClassesFromJavaLang() { useJava7(); doTestAtCaret(); }
+ public void testDocumentationForUncheckedExceptionsInSupers() { useJava7(); doTestAtCaret(); }
public void testDocumentationForGetterByField() { doTestAtCaret(); }
public void testParamInJavadoc() { doTestAtCaret(); }
public void testParamInMethod() { doTestAtCaret(); }
@@ -137,7 +137,7 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
public void testTypeAnnotationArray() { useJava8(); doTestAtCaret(); }
public void testTypeAnnotationClass() { useJava8(); doTestClass(); }
public void testInlineTagIndex() { useJava9(); doTestClass(); }
- public void testInlineTagSummary() { useJava10(); doTestClass(); }
+ public void testInlineTagSummary() { doTestClass(); }
public void testLeadingSpacesInPre() { doTestClass(); }
public void testBlockquotePre() { doTestAtCaret(); }
public void testPreInDeprecated() { doTestClass(); }
@@ -183,7 +183,7 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
public void testUnknownInlineMultilineTag() { doTestClass(); }
public void testUnknownTag() { doTestMethod(); }
public void testUnknownClassTag() { doTestClass(); }
- public void testReflectConstructor() { useJava10(); doTestAtCaret(); }
+ public void testReflectConstructor() { doTestAtCaret(); }
public void testMarkdownGeneralFeatures() { doTestClass(); }
public void testMarkdownCodeBlock(){ doTestClass(); }
public void testMarkdownReferenceLink(){ doTestClass(); }
@@ -318,6 +318,7 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
}
public void testDocumentationForJdkClassWhenExternalDocIsNotAvailable() {
+ useJava7();
PsiClass aClass = myJavaFacade.findClass("java.lang.String");
assertNotNull(aClass);
verifyJavaDoc(aClass, Collections.singletonList("dummyUrl"));
@@ -328,6 +329,14 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
doTestAtCaret();
});
}
+
+ public void testExternalTypeAnnotations() {
+ PsiClass aClass = myJavaFacade.findClass("java.util.concurrent.CompletableFuture");
+ assertNotNull(aClass);
+ PsiMethod[] whenComplete = aClass.findMethodsByName("whenComplete", false);
+ assertEquals(1, whenComplete.length);
+ verifyJavaDoc(whenComplete[0]);
+ }
public void testLibraryPackageDocumentation() {
VirtualFile libClasses = JavaExternalDocumentationTest.getJarFile("library.jar");
@@ -489,11 +498,6 @@ public class JavaDocInfoGeneratorTest extends JavaCodeInsightTestCase {
setUpJdk();
}
- private void useJava10() {
- myJdkVersion = 10;
- setUpJdk();
- }
-
private static String loadFile(File file) {
try {
return StringUtil.convertLineSeparators(FileUtil.loadFile(file).trim());