Finish converting most of the undeprecated api to jspecify
This commit is contained in:
parent
29a25df60e
commit
0adf5876db
45 changed files with 782 additions and 718 deletions
|
@ -14,9 +14,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+
|
||||
+import java.util.Set;
|
||||
+import org.bukkit.FeatureFlag;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jetbrains.annotations.Unmodifiable;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+/**
|
||||
+ * Implemented by types in built-in registries that are controlled by {@link FeatureFlag FeatureFlags}.
|
||||
|
@ -24,6 +24,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ * @apiNote When a type that currently implements this interface transitions to being data-drive, this
|
||||
+ * interface will be removed from that type in the following major version.
|
||||
+ */
|
||||
+@NullMarked
|
||||
+@ApiStatus.NonExtendable
|
||||
+public interface FeatureDependant {
|
||||
+
|
||||
|
@ -33,7 +34,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ *
|
||||
+ * @return the immutable set of feature flags
|
||||
+ */
|
||||
+ default @Unmodifiable @NonNull Set<FeatureFlag> requiredFeatures() {
|
||||
+ default @Unmodifiable Set<FeatureFlag> requiredFeatures() {
|
||||
+ return FeatureFlagProvider.provider().requiredFeatures(this);
|
||||
+ }
|
||||
+}
|
||||
|
@ -50,7 +51,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+import java.util.Set;
|
||||
+import org.bukkit.FeatureFlag;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+@NullMarked
|
||||
+@ApiStatus.Internal
|
||||
+interface FeatureFlagProvider {
|
||||
+
|
||||
|
@ -72,14 +75,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+
|
||||
+import java.util.Set;
|
||||
+import org.bukkit.FeatureFlag;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jetbrains.annotations.Unmodifiable;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+/**
|
||||
+ * Implemented by types that hold {@link FeatureFlag FeatureFlags} like
|
||||
+ * {@link org.bukkit.generator.WorldInfo} and {@link org.bukkit.RegionAccessor}.
|
||||
+ */
|
||||
+@NullMarked
|
||||
+@ApiStatus.NonExtendable
|
||||
+public interface FeatureFlagSetHolder {
|
||||
+
|
||||
|
@ -88,7 +92,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ *
|
||||
+ * @return true if enabled
|
||||
+ */
|
||||
+ default boolean isEnabled(final @NonNull FeatureDependant featureDependant) {
|
||||
+ default boolean isEnabled(final FeatureDependant featureDependant) {
|
||||
+ return this.getFeatureFlags().containsAll(featureDependant.requiredFeatures());
|
||||
+ }
|
||||
+
|
||||
|
@ -97,7 +101,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ *
|
||||
+ * @return all enabled {@link FeatureFlag FeatureFlags}
|
||||
+ */
|
||||
+ @Unmodifiable @NonNull Set<FeatureFlag> getFeatureFlags();
|
||||
+ @Unmodifiable Set<FeatureFlag> getFeatureFlags();
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
|
@ -189,12 +193,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+
|
||||
+import java.util.HashSet;
|
||||
+import java.util.Set;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+@ApiStatus.Internal
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+@NullMarked
|
||||
+record FeatureFlagImpl(NamespacedKey key) implements FeatureFlag {
|
||||
+
|
||||
+ static final Set<FeatureFlag> ALL_FLAGS = new HashSet<>();
|
||||
|
@ -205,7 +208,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+
|
||||
+ @ApiStatus.Internal
|
||||
+ @DefaultQualifier(NonNull.class)
|
||||
+ record Deprecated(NamespacedKey key) implements FeatureFlag {
|
||||
+
|
||||
+ @Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue