[codeInsight] IDEA-238740 Support the jdk.internal.PreviewFeature annotation

This patch fixes the problems according to the code review, it includes:

- moving extractHighlightingFeature to HighlightingFeature and renaming it to fromPreviewFeatureAnnotation
- assuring the PreviewFeature annotation name by calling PsiAnnotation#hasQualifiedName instead of comparing the name by equals
- moving JDK_INTERNAL_PREVIEW_FEATURE to HighlightingFeature
- extracting repeating part of checking the language level to HighlightUtil#checkPreviewFeatureElement
- adding a new case "SEALED_CLASSES" to HighlightFeature#fromPreviewAnnotationName

In addition to that there is also more robust solution to detect invalid contexts in references and static imports. The test data updated accordingly.

Signed-off-by: Nikita Eshkeev <nikita.eshkeev@jetbrains.com>

GitOrigin-RevId: 999d43ec5d9315d0881d08ce9341433707de96a0
This commit is contained in:
Nikita Eshkeev
2020-06-18 23:18:40 +03:00
committed by intellij-monorepo-bot
parent e1e85554b4
commit ef90c9f857
22 changed files with 216 additions and 121 deletions
@@ -21,6 +21,7 @@ public @interface PreviewFeature {
PATTERN_MATCHING_IN_INSTANCEOF,
TEXT_BLOCKS,
RECORDS,
SEALED_CLASSES
;
}
}