mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 17:20:55 +07:00
platform API: introduce ApiStatus.Internal annotation (IDEA-211175)
Usages of elements annotated with it in external plugins will be highlighted as warnings.
This commit is contained in:
@@ -18,6 +18,7 @@ import static com.intellij.codeInspection.deprecation.DeprecationInspectionBase.
|
|||||||
public class UnstableApiUsageInspection extends AnnotatedElementInspectionBase {
|
public class UnstableApiUsageInspection extends AnnotatedElementInspectionBase {
|
||||||
public final List<String> unstableApiAnnotations = new ExternalizableStringSet(
|
public final List<String> unstableApiAnnotations = new ExternalizableStringSet(
|
||||||
"org.jetbrains.annotations.ApiStatus.Experimental",
|
"org.jetbrains.annotations.ApiStatus.Experimental",
|
||||||
|
"org.jetbrains.annotations.ApiStatus.Internal",
|
||||||
"com.google.common.annotations.Beta",
|
"com.google.common.annotations.Beta",
|
||||||
"io.reactivex.annotations.Beta",
|
"io.reactivex.annotations.Beta",
|
||||||
"io.reactivex.annotations.Experimental",
|
"io.reactivex.annotations.Experimental",
|
||||||
|
|||||||
@@ -22,6 +22,18 @@ public class ApiStatus {
|
|||||||
})
|
})
|
||||||
public @interface Experimental {}
|
public @interface Experimental {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates that the annotated element (class, method, field, etc) must not be considered as a public API. It's made visible to allow its
|
||||||
|
* usage from other parts of the sources codebase where it is declared, but it must not be used outside of that codebase. Such elements
|
||||||
|
* may be renamed, changed or removed in future versions.
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.CLASS)
|
||||||
|
@Target({
|
||||||
|
ElementType.TYPE, ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.PACKAGE
|
||||||
|
})
|
||||||
|
public @interface Internal {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates that a public API of the annotated element (class, method or field) is subject to removal in a future version. It's a stronger
|
* Indicates that a public API of the annotated element (class, method or field) is subject to removal in a future version. It's a stronger
|
||||||
* variant of {@link Deprecated} annotation.
|
* variant of {@link Deprecated} annotation.
|
||||||
|
|||||||
Reference in New Issue
Block a user