From 36f87ac0b6896116b8bd2f2f381f02525dca8081 Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Mon, 24 Jun 2024 22:11:43 +0200 Subject: [PATCH] [java] IDEA-354964 Migrate standard descriptors like JAVA_21 to TYPE_USE annotations - fix tests - fixes to show external annotations GitOrigin-RevId: 79cde38663de10c2985b72e76e98372fef214b20 --- .../hint/api/impls/MethodParameterInfoHandler.java | 8 +++++--- java/java-tests/testData/psi/cls/stubBuilder/Nullable.txt | 4 ++-- ...keParametersFinalDueToUsagesInsideAnonymous_after.java | 2 +- .../extractMethod/ExtractedVariableReused_after.java | 2 +- .../NotNullArgumentTooComplexCode_after.java | 2 +- .../extractMethod/NullableCheckBreakDuplicate_after.java | 2 +- .../extractMethod/NullableCheckBreak_after.java | 2 +- .../NotNullArgumentTooComplexCode_after.java | 2 +- .../NullableCheckBreakDuplicate_after.java | 2 +- .../testFramework/LightJavaCodeInsightTestCase.java | 2 -- .../testData/inspections/i18n/ComputeIfAbsent.java | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java index 6dea6219ad49..ef4151fcb983 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java @@ -110,7 +110,7 @@ public final class MethodParameterInfoHandler PsiMethod method = argumentList.getParent() instanceof PsiCall call ? call.resolveMethod() : null; CandidateWithPresentation[] items = ContainerUtil.map2Array(candidates, CandidateWithPresentation.class, c -> new CandidateWithPresentation(c, - MethodPresentation.from((PsiMethod)c.getElement(), + MethodPresentation.from((PsiMethod)c.getElement(), getCandidateInfoSubstitutor(c, method != null && c.getElement() == method)))); context.setItemsToShow(items); return argumentList; @@ -794,7 +794,9 @@ public final class MethodParameterInfoHandler String qualifiedName = annotation.getQualifiedName(); if (NON_DOCUMENTED_JETBRAINS_ANNOTATIONS.contains(qualifiedName)) continue; } - if (resolved instanceof PsiClass cls && !AnnotationUtil.isInferredAnnotation(annotation) && + if (resolved instanceof PsiClass cls && + !AnnotationUtil.isInferredAnnotation(annotation) && + !AnnotationUtil.isExternalAnnotation(annotation) && (!JavaDocInfoGenerator.isDocumentedAnnotationType(cls) || AnnotationTargetUtil.findAnnotationTarget(cls, PsiAnnotation.TargetType.TYPE_USE) != null)) { continue; @@ -872,7 +874,7 @@ public final class MethodParameterInfoHandler public static @NotNull PsiMethod getMethodFromCandidate(@NotNull Object object) { return ((CandidateWithPresentation)object).getMethod(); } - + public static @Nullable PsiMethod tryGetMethodFromCandidate(@NotNull Object object) { return object instanceof CandidateWithPresentation cwp ? cwp.getMethod() : null; } diff --git a/java/java-tests/testData/psi/cls/stubBuilder/Nullable.txt b/java/java-tests/testData/psi/cls/stubBuilder/Nullable.txt index 867a42fb5626..2e14d9fae322 100644 --- a/java/java-tests/testData/psi/cls/stubBuilder/Nullable.txt +++ b/java/java-tests/testData/psi/cls/stubBuilder/Nullable.txt @@ -3,7 +3,7 @@ PsiJavaFileStub [org.jetbrains.annotations] PsiModifierListStub[mask=1025] PsiAnnotationStub[@java.lang.annotation.Documented] PsiAnnotationStub[@java.lang.annotation.Retention(value=java.lang.annotation.RetentionPolicy.CLASS)] - PsiAnnotationStub[@java.lang.annotation.Target(value={java.lang.annotation.ElementType.METHOD,java.lang.annotation.ElementType.FIELD,java.lang.annotation.ElementType.PARAMETER,java.lang.annotation.ElementType.LOCAL_VARIABLE})] + PsiAnnotationStub[@java.lang.annotation.Target(value={java.lang.annotation.ElementType.METHOD,java.lang.annotation.ElementType.FIELD,java.lang.annotation.ElementType.PARAMETER,java.lang.annotation.ElementType.LOCAL_VARIABLE,java.lang.annotation.ElementType.TYPE_USE})] PsiTypeParameterListStub PsiRefListStub[EXTENDS_LIST:] PsiRefListStub[IMPLEMENTS_LIST:] @@ -12,4 +12,4 @@ PsiJavaFileStub [org.jetbrains.annotations] PsiAnnotationStub[@org.jetbrains.annotations.NonNls] PsiTypeParameterListStub PsiParameterListStub - PsiRefListStub[THROWS_LIST:] + PsiRefListStub[THROWS_LIST:] \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethod/DontMakeParametersFinalDueToUsagesInsideAnonymous_after.java b/java/java-tests/testData/refactoring/extractMethod/DontMakeParametersFinalDueToUsagesInsideAnonymous_after.java index 86a55fec2408..b07402f79d07 100644 --- a/java/java-tests/testData/refactoring/extractMethod/DontMakeParametersFinalDueToUsagesInsideAnonymous_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/DontMakeParametersFinalDueToUsagesInsideAnonymous_after.java @@ -7,7 +7,7 @@ class Box { } @NotNull - private Data newMethod(String str1, String str2) { + private Box.Data newMethod(String str1, String str2) { return new Data() { @Override public String getA() { diff --git a/java/java-tests/testData/refactoring/extractMethod/ExtractedVariableReused_after.java b/java/java-tests/testData/refactoring/extractMethod/ExtractedVariableReused_after.java index c7a858b4de46..7529fb941e5a 100644 --- a/java/java-tests/testData/refactoring/extractMethod/ExtractedVariableReused_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/ExtractedVariableReused_after.java @@ -22,7 +22,7 @@ public class OutputVariableReused { } @Nullable - private X newMethod(String s, String left, String right) { + private OutputVariableReused.X newMethod(String s, String left, String right) { String res = convert(s, left, right); if (res != null) { return new X(res); diff --git a/java/java-tests/testData/refactoring/extractMethod/NotNullArgumentTooComplexCode_after.java b/java/java-tests/testData/refactoring/extractMethod/NotNullArgumentTooComplexCode_after.java index 593440394294..41ae5c8d1748 100644 --- a/java/java-tests/testData/refactoring/extractMethod/NotNullArgumentTooComplexCode_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/NotNullArgumentTooComplexCode_after.java @@ -28,7 +28,7 @@ class TooComplexCode { } @NotNull - private X newMethod(@NotNull X x) { + private TooComplexCode.X newMethod(@NotNull X x) { return x.get(); } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreakDuplicate_after.java b/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreakDuplicate_after.java index e23d2eb3c3f8..f3e3bcf77920 100644 --- a/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreakDuplicate_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreakDuplicate_after.java @@ -15,7 +15,7 @@ public class NullableCheckBreakDuplicate { } @Nullable - private Pojo newMethod() { + private NullableCheckBreakDuplicate.Pojo newMethod() { Pojo x = things.get(0); if (x.it > 0) return null; diff --git a/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreak_after.java b/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreak_after.java index 7e3350cae579..5300f09cc4a5 100644 --- a/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreak_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/NullableCheckBreak_after.java @@ -14,7 +14,7 @@ class Test { } @Nullable - private Pojo newMethod() { + private Test.Pojo newMethod() { Pojo x = things.get(0); if(x.it > 0) { diff --git a/java/java-tests/testData/refactoring/extractMethodNew/NotNullArgumentTooComplexCode_after.java b/java/java-tests/testData/refactoring/extractMethodNew/NotNullArgumentTooComplexCode_after.java index 593440394294..41ae5c8d1748 100644 --- a/java/java-tests/testData/refactoring/extractMethodNew/NotNullArgumentTooComplexCode_after.java +++ b/java/java-tests/testData/refactoring/extractMethodNew/NotNullArgumentTooComplexCode_after.java @@ -28,7 +28,7 @@ class TooComplexCode { } @NotNull - private X newMethod(@NotNull X x) { + private TooComplexCode.X newMethod(@NotNull X x) { return x.get(); } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethodNew/NullableCheckBreakDuplicate_after.java b/java/java-tests/testData/refactoring/extractMethodNew/NullableCheckBreakDuplicate_after.java index e23d2eb3c3f8..f3e3bcf77920 100644 --- a/java/java-tests/testData/refactoring/extractMethodNew/NullableCheckBreakDuplicate_after.java +++ b/java/java-tests/testData/refactoring/extractMethodNew/NullableCheckBreakDuplicate_after.java @@ -15,7 +15,7 @@ public class NullableCheckBreakDuplicate { } @Nullable - private Pojo newMethod() { + private NullableCheckBreakDuplicate.Pojo newMethod() { Pojo x = things.get(0); if (x.it > 0) return null; diff --git a/java/testFramework/src/com/intellij/testFramework/LightJavaCodeInsightTestCase.java b/java/testFramework/src/com/intellij/testFramework/LightJavaCodeInsightTestCase.java index 6fb5403498be..9eb8ea33dae2 100644 --- a/java/testFramework/src/com/intellij/testFramework/LightJavaCodeInsightTestCase.java +++ b/java/testFramework/src/com/intellij/testFramework/LightJavaCodeInsightTestCase.java @@ -98,8 +98,6 @@ public abstract class LightJavaCodeInsightTestCase extends LightPlatformCodeInsi @Override protected void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ContentEntry contentEntry) { if (languageLevel.isAtLeast(LanguageLevel.JDK_1_8)) { - //DefaultLightProjectDescriptor.addJetBrainsAnnotations(model); - DefaultLightProjectDescriptor.addJetBrainsAnnotationsJava8AndHigher(model); } else { diff --git a/plugins/java-i18n/testData/inspections/i18n/ComputeIfAbsent.java b/plugins/java-i18n/testData/inspections/i18n/ComputeIfAbsent.java index fbb3f0740e8c..d5bfc201278a 100644 --- a/plugins/java-i18n/testData/inspections/i18n/ComputeIfAbsent.java +++ b/plugins/java-i18n/testData/inspections/i18n/ComputeIfAbsent.java @@ -3,7 +3,7 @@ import java.util.*; class MyTest { - Map@Nls String> map = new HashMap<>(); + Map map = new HashMap<>(); @Nls String test(String s) { return map.computeIfAbsent(s, x -> "value"); }