[java] Basic support for external type annotations

Only in XML directly; no editing UI for now; no inlays for now; only for libraries (Cls), currently no intent to extend to sources (Psi)
Part of IDEA-231901 Support TYPE_USE in external annotations

GitOrigin-RevId: 672ed09f57ffc40b61e8fe4dd33d0f9acdac92dc
This commit is contained in:
Tagir Valeev
2024-09-18 20:06:30 +00:00
committed by intellij-monorepo-bot
parent 1c8240ecd6
commit b50767f679
20 changed files with 824 additions and 506 deletions
@@ -3703,6 +3703,7 @@
</item>
<item name='java.util.Optional java.util.Optional&lt;T&gt; filter(java.util.function.Predicate&lt;? super T&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.NotNull' typePath="0;*"/>
</item>
<item name='java.util.Optional java.util.Optional&lt;T&gt; of(T) 0'>
<annotation name='org.intellij.lang.annotations.Flow'>
@@ -3717,15 +3718,19 @@
<item
name='java.util.Optional java.util.Optional&lt;U&gt; flatMap(java.util.function.Function&lt;? super T,? extends java.util.Optional&lt;? extends U&gt;&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.NotNull' typePath="0;*"/>
</item>
<item name='java.util.Optional java.util.Optional&lt;U&gt; map(java.util.function.Function&lt;? super T,? extends U&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.NotNull' typePath="0;*"/>
</item>
<item name='java.util.Optional void ifPresent(java.util.function.Consumer&lt;? super T&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.NotNull' typePath="0;*"/>
</item>
<item name='java.util.Optional void ifPresentOrElse(java.util.function.Consumer&lt;? super T&gt;, java.lang.Runnable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.NotNull' typePath="0;*"/>
</item>
<item name='java.util.Properties java.lang.String getProperty(java.lang.String) 0'>
<annotation name='org.jetbrains.annotations.NonNls'/>
@@ -241,6 +241,8 @@
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;T&gt; whenComplete(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;)'>
@@ -249,6 +251,8 @@
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;, java.util.concurrent.Executor)'>
@@ -257,6 +261,8 @@
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;, java.util.concurrent.Executor) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture&lt;U&gt; applyToEither(java.util.concurrent.CompletionStage&lt;? extends T&gt;, java.util.function.Function&lt;? super T,U&gt;)'>
@@ -707,6 +713,8 @@
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;T&gt; whenComplete(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;)'>
@@ -715,6 +723,8 @@
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;, java.util.concurrent.Executor)'>
@@ -723,6 +733,8 @@
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;T&gt; whenCompleteAsync(java.util.function.BiConsumer&lt;? super T,? super java.lang.Throwable&gt;, java.util.concurrent.Executor) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="0;*"/>
<annotation name='org.jetbrains.annotations.UnknownNullability' typePath="1;*"/>
</item>
<item
name='java.util.concurrent.CompletionStage java.util.concurrent.CompletionStage&lt;U&gt; applyToEither(java.util.concurrent.CompletionStage&lt;? extends T&gt;, java.util.function.Function&lt;? super T,U&gt;)'>