diff --git a/src/java.base/share/classes/org/checkerframework/checker/fenum/qual/FenumUnqualified.java b/src/java.base/share/classes/org/checkerframework/checker/fenum/qual/FenumUnqualified.java index d516e69de09..247342a0707 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/fenum/qual/FenumUnqualified.java +++ b/src/java.base/share/classes/org/checkerframework/checker/fenum/qual/FenumUnqualified.java @@ -6,6 +6,7 @@ import org.checkerframework.framework.qual.TypeUseLocation; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -21,7 +22,7 @@ */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({}) // empty target prevents programmers from writing this in a program +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @SubtypeOf({FenumTop.class}) @DefaultQualifierInHierarchy @DefaultFor(TypeUseLocation.EXCEPTION_PARAMETER) diff --git a/src/java.base/share/classes/org/checkerframework/checker/formatter/qual/Format.java b/src/java.base/share/classes/org/checkerframework/checker/formatter/qual/Format.java index d8f1d9a2b8a..fb422e10427 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/formatter/qual/Format.java +++ b/src/java.base/share/classes/org/checkerframework/checker/formatter/qual/Format.java @@ -20,7 +20,7 @@ *
  * {@literal @}Format({GENERAL, INT}) String f = "String '%s' has length %d";
  *
- *  String.format(f, "Example", 7);
+ * String.format(f, "Example", 7);
  * 
* * diff --git a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexFor.java b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexFor.java index 3a0a4a7d1ed..13320e03a64 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexFor.java +++ b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexFor.java @@ -14,7 +14,7 @@ * different lengths. * *

The + * href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html#charAt(int)"> * {@code String.charAt(int)} method is declared as * *

{@code
diff --git a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrHigh.java b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrHigh.java
index c91497e94aa..31c222dc3aa 100644
--- a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrHigh.java
+++ b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrHigh.java
@@ -11,7 +11,7 @@
  * sequence's length.
  *
  * 

The + * href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Arrays.html#binarySearch(java.lang.Object%5B%5D,int,int,java.lang.Object)"> * {@code Arrays.binarySearch} method is declared as * *

{@code
@@ -34,7 +34,10 @@
 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
 public @interface IndexOrHigh {
     /**
-     * Sequences that the annotated expression is a valid index for or is equal to the lengeth of.
+     * Sequences that the annotated expression is a valid index for or is equal to the length of.
+     *
+     * @return sequences that the annotated expression is a valid index for or is equal to the
+     *     length of
      */
     String[] value();
 }
diff --git a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrLow.java b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrLow.java
index e4cd74d2b6d..c4b1033413c 100644
--- a/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrLow.java
+++ b/src/java.base/share/classes/org/checkerframework/checker/index/qual/IndexOrLow.java
@@ -10,13 +10,13 @@
  * An integer that is either -1 or is a valid index for each of the given sequences.
  *
  * 

The + * href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html#indexOf(java.lang.String)"> * {@code String.indexOf(String)} method is declared as * *


- *   class String {
+ *  class String {
  *    {@literal @}IndexOrLow("this") int indexOf(String str) { ... }
- *   }
+ *  }
  * 
* *

Writing {@code @IndexOrLow("arr")} is equivalent to writing {@link diff --git a/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockHeld.java b/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockHeld.java index 4d8af9898f8..eb402825340 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockHeld.java +++ b/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockHeld.java @@ -4,6 +4,7 @@ import org.checkerframework.framework.qual.SubtypeOf; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -20,7 +21,7 @@ */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({}) +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @SubtypeOf(LockPossiblyHeld.class) // This is the bottom type in this hierarchy @InvisibleQualifier public @interface LockHeld {} diff --git a/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockPossiblyHeld.java b/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockPossiblyHeld.java index 0cc89dae203..bf7b1095c40 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockPossiblyHeld.java +++ b/src/java.base/share/classes/org/checkerframework/checker/lock/qual/LockPossiblyHeld.java @@ -10,6 +10,7 @@ import org.checkerframework.framework.qual.TypeUseLocation; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -25,7 +26,7 @@ */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({}) +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @InvisibleQualifier @SubtypeOf({}) @DefaultQualifierInHierarchy diff --git a/src/java.base/share/classes/org/checkerframework/checker/nonempty/qual/EnsuresNonEmpty.java b/src/java.base/share/classes/org/checkerframework/checker/nonempty/qual/EnsuresNonEmpty.java index 17993d6c3e6..cf7603dcd0f 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/nonempty/qual/EnsuresNonEmpty.java +++ b/src/java.base/share/classes/org/checkerframework/checker/nonempty/qual/EnsuresNonEmpty.java @@ -19,19 +19,19 @@ * effect: * *


- *   {@literal @}EnsuresNonEmpty("ids")
- *   void addId(String id) {
- *     ids.add(id);
- *   }
+ *  {@literal @}EnsuresNonEmpty("ids")
+ *  void addId(String id) {
+ *    ids.add(id);
+ *  }
  * 
* * It can also be used for a method that fails if a given value is empty, indicating that the * argument is non-empty if the method returns normally: * *

- *   /** Throws an exception if the argument is empty. */
- *   {@literal @}EnsuresNonEmpty("#1")
- *   void useTheMap(Map<T, U> arg) { ... }
+ *  /** Throws an exception if the argument is empty. */
+ *  {@literal @}EnsuresNonEmpty("#1")
+ *  void useTheMap(Map<T, U> arg) { ... }
  * 
* * @see NonEmpty diff --git a/src/java.base/share/classes/org/checkerframework/checker/nullness/qual/AssertNonNullIfNonNull.java b/src/java.base/share/classes/org/checkerframework/checker/nullness/qual/AssertNonNullIfNonNull.java index 93150087869..02fb53c554b 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/nullness/qual/AssertNonNullIfNonNull.java +++ b/src/java.base/share/classes/org/checkerframework/checker/nullness/qual/AssertNonNullIfNonNull.java @@ -15,11 +15,11 @@ *

Here is an example use: * *


- *    {@literal @}AssertNonNullIfNonNull("id")
- *    {@literal @}Pure
- *     public @Nullable Long getId() {
- *         return id;
- *     }
+ *  {@literal @}AssertNonNullIfNonNull("id")
+ *  {@literal @}Pure
+ *  public @Nullable Long getId() {
+ *    return id;
+ *  }
  * 
* * Note the direction of the implication. This annotation says that if the result is non-null, then diff --git a/src/java.base/share/classes/org/checkerframework/checker/optional/qual/EnsuresPresent.java b/src/java.base/share/classes/org/checkerframework/checker/optional/qual/EnsuresPresent.java index e96a1552312..6898b259bcb 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/optional/qual/EnsuresPresent.java +++ b/src/java.base/share/classes/org/checkerframework/checker/optional/qual/EnsuresPresent.java @@ -16,19 +16,19 @@ *

This postcondition annotation is useful for methods that construct a present Optional: * *


- *   {@literal @}EnsuresPresent("optStr")
- *   void initialize() {
- *     optStr = Optional.of("abc");
- *   }
+ *  {@literal @}EnsuresPresent("optStr")
+ *  void initialize() {
+ *    optStr = Optional.of("abc");
+ *  }
  * 
* * It can also be used for a method that fails if a given Optional value is empty, indicating that * the argument is present if the method returns normally: * *

- *   /** Throws an exception if the argument is empty. */
- *   {@literal @}EnsuresPresent("#1")
- *   void useTheOptional(Optional<T> arg) { ... }
+ *  /** Throws an exception if the argument is empty. */
+ *  {@literal @}EnsuresPresent("#1")
+ *  void useTheOptional(Optional<T> arg) { ... }
  * 
* * @see Present diff --git a/src/java.base/share/classes/org/checkerframework/checker/regex/qual/PartialRegex.java b/src/java.base/share/classes/org/checkerframework/checker/regex/qual/PartialRegex.java index edfd6b591e2..7d5cd137d3f 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/regex/qual/PartialRegex.java +++ b/src/java.base/share/classes/org/checkerframework/checker/regex/qual/PartialRegex.java @@ -22,7 +22,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target({}) // empty target prevents programmers from writing this in a program @InvisibleQualifier -@SubtypeOf(org.checkerframework.checker.regex.qual.UnknownRegex.class) +@SubtypeOf(UnknownRegex.class) public @interface PartialRegex { /** diff --git a/src/java.base/share/classes/org/checkerframework/checker/regex/qual/RegexBottom.java b/src/java.base/share/classes/org/checkerframework/checker/regex/qual/RegexBottom.java index 301b6b74fc4..2b185916f79 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/regex/qual/RegexBottom.java +++ b/src/java.base/share/classes/org/checkerframework/checker/regex/qual/RegexBottom.java @@ -23,6 +23,6 @@ @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @TargetLocations({TypeUseLocation.LOWER_BOUND, TypeUseLocation.UPPER_BOUND}) @InvisibleQualifier -@SubtypeOf({Regex.class, org.checkerframework.checker.regex.qual.PartialRegex.class}) +@SubtypeOf({Regex.class, PartialRegex.class}) @DefaultFor(value = {TypeUseLocation.LOWER_BOUND}) public @interface RegexBottom {} diff --git a/src/java.base/share/classes/org/checkerframework/checker/signature/qual/SignatureUnknown.java b/src/java.base/share/classes/org/checkerframework/checker/signature/qual/SignatureUnknown.java index a74c04d84fe..ef46ecb04bb 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/signature/qual/SignatureUnknown.java +++ b/src/java.base/share/classes/org/checkerframework/checker/signature/qual/SignatureUnknown.java @@ -4,6 +4,7 @@ import org.checkerframework.framework.qual.SubtypeOf; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -18,7 +19,7 @@ */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({}) // empty target prevents programmers from writing this in a program +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @SubtypeOf({}) @DefaultQualifierInHierarchy public @interface SignatureUnknown {} diff --git a/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Signed.java b/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Signed.java index 5683f170df5..4ba8b7084e0 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Signed.java +++ b/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Signed.java @@ -33,16 +33,9 @@ TypeKind.FLOAT, TypeKind.DOUBLE }, - types = { - java.lang.Byte.class, - java.lang.Integer.class, - java.lang.Long.class, - java.lang.Short.class, - java.lang.Float.class, - java.lang.Double.class - }, + types = {Byte.class, Integer.class, Long.class, Short.class, Float.class, Double.class}, value = TypeUseLocation.EXCEPTION_PARAMETER) @UpperBoundFor( typeKinds = {TypeKind.FLOAT, TypeKind.DOUBLE}, - types = {java.lang.Float.class, java.lang.Double.class}) + types = {Float.class, Double.class}) public @interface Signed {} diff --git a/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Unsigned.java b/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Unsigned.java index a3d1ce92894..72eb3af4956 100644 --- a/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Unsigned.java +++ b/src/java.base/share/classes/org/checkerframework/checker/signedness/qual/Unsigned.java @@ -24,8 +24,8 @@ @SubtypeOf({UnknownSignedness.class}) @DefaultFor( typeKinds = {TypeKind.CHAR}, - types = {java.lang.Character.class}) + types = {Character.class}) @UpperBoundFor( typeKinds = {TypeKind.CHAR}, - types = {java.lang.Character.class}) + types = {Character.class}) public @interface Unsigned {} diff --git a/src/java.base/share/classes/org/checkerframework/common/aliasing/qual/MaybeLeaked.java b/src/java.base/share/classes/org/checkerframework/common/aliasing/qual/MaybeLeaked.java index 0d421fc3242..09a951be1f7 100644 --- a/src/java.base/share/classes/org/checkerframework/common/aliasing/qual/MaybeLeaked.java +++ b/src/java.base/share/classes/org/checkerframework/common/aliasing/qual/MaybeLeaked.java @@ -5,6 +5,7 @@ import org.checkerframework.framework.qual.SubtypeOf; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -22,7 +23,7 @@ */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({}) +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @DefaultQualifierInHierarchy @SubtypeOf({LeakedToResult.class}) @InvisibleQualifier diff --git a/src/java.base/share/classes/org/checkerframework/common/subtyping/qual/Unqualified.java b/src/java.base/share/classes/org/checkerframework/common/subtyping/qual/Unqualified.java index ab339ca71ea..0a71f75c51a 100644 --- a/src/java.base/share/classes/org/checkerframework/common/subtyping/qual/Unqualified.java +++ b/src/java.base/share/classes/org/checkerframework/common/subtyping/qual/Unqualified.java @@ -4,6 +4,7 @@ import org.checkerframework.framework.qual.SubtypeOf; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -22,7 +23,7 @@ */ @Documented @Retention(RetentionPolicy.SOURCE) // don't store in class file -@Target({}) // empty target prevents programmers from writing this in a program. +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @InvisibleQualifier @SubtypeOf({}) public @interface Unqualified {} diff --git a/src/java.base/share/classes/org/checkerframework/common/value/qual/DoesNotMatchRegex.java b/src/java.base/share/classes/org/checkerframework/common/value/qual/DoesNotMatchRegex.java index 8fb1c2667e1..1c7c7756d4e 100644 --- a/src/java.base/share/classes/org/checkerframework/common/value/qual/DoesNotMatchRegex.java +++ b/src/java.base/share/classes/org/checkerframework/common/value/qual/DoesNotMatchRegex.java @@ -13,7 +13,7 @@ * Java regular expressions. If an expression's type has this annotation, then at run time, the * expression evaluates to a string that matches none of the regular expressions. Matching is via * the java.lang.String#matches + * href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html#matches(java.lang.String)">java.lang.String#matches * method, which matches against the entire string (it does not look for a match against a * substring). * diff --git a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromGTENegativeOne.java b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromGTENegativeOne.java index c1cbd3a1673..405a048e3cf 100644 --- a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromGTENegativeOne.java +++ b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromGTENegativeOne.java @@ -15,7 +15,7 @@ * *

IntRangeFromGTENegativeOne annotations derived from GTENegativeOne annotations are used to * create IntRange annotations, but IntRangeFromGTENegativeOne annotations are not checked when they - * appear on the left hand side of expressions. Therefore, the Index Checker MUST be run on any code + * appear on the left-hand side of expressions. Therefore, the Index Checker MUST be run on any code * with @GTENegativeOne annotations on the left-hand side of expressions, since the Value Checker * will derive information from them but not check them. * diff --git a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromNonNegative.java b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromNonNegative.java index ecce8296e88..cf393bc52bb 100644 --- a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromNonNegative.java +++ b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromNonNegative.java @@ -15,7 +15,7 @@ * *

IntRangeFromNonNegative annotations derived from NonNegative annotations are used to create * IntRange annotations, but IntRangeFromNonNegative annotations are not checked when they appear on - * the left hand side of expressions. Therefore, the Index Checker MUST be run on any code + * the left-hand side of expressions. Therefore, the Index Checker MUST be run on any code * with @NonNegative annotations on the left-hand side of expressions, since the Value Checker will * derive information from them but not check them. * diff --git a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromPositive.java b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromPositive.java index f1cfc6084f3..09a176785a7 100644 --- a/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromPositive.java +++ b/src/java.base/share/classes/org/checkerframework/common/value/qual/IntRangeFromPositive.java @@ -14,10 +14,10 @@ * annotation. * *

IntRangeFromPositive annotations derived from Positive annotations are used to create IntRange - * annotations, but IntRangeFromPositive annotations are not checked when they appear on the left - * hand side of expressions. Therefore, the Index Checker MUST be run on any code with @Positive - * annotations on the left-hand side of expressions, since the Value Checker will derive information - * from them but not check them. + * annotations, but IntRangeFromPositive annotations are not checked when they appear on the + * left-hand side of expressions. Therefore, the Index Checker MUST be run on any code + * with @Positive annotations on the left-hand side of expressions, since the Value Checker will + * derive information from them but not check them. * *

It is an error to write this annotation directly. {@code @Positive} or {@code IntRange(from = * 1, to = Integer.MAX_VALUE)} should always be written instead. This annotation is not retained in diff --git a/src/java.base/share/classes/org/checkerframework/common/value/qual/MatchesRegex.java b/src/java.base/share/classes/org/checkerframework/common/value/qual/MatchesRegex.java index 49fa1377a88..5282daa65e4 100644 --- a/src/java.base/share/classes/org/checkerframework/common/value/qual/MatchesRegex.java +++ b/src/java.base/share/classes/org/checkerframework/common/value/qual/MatchesRegex.java @@ -13,7 +13,7 @@ * Java regular expressions. If an expression's type has this annotation, then at run time, the * expression evaluates to a string that matches at least one of the regular expressions. Matching * is via the java.lang.String#matches + * href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html#matches(java.lang.String)">java.lang.String#matches * method, which matches against the entire string (it does not look for a match against a * substring). * diff --git a/src/java.base/share/classes/org/checkerframework/framework/qual/EnsuresQualifierIf.java b/src/java.base/share/classes/org/checkerframework/framework/qual/EnsuresQualifierIf.java index b44fff876e3..438917c6a70 100644 --- a/src/java.base/share/classes/org/checkerframework/framework/qual/EnsuresQualifierIf.java +++ b/src/java.base/share/classes/org/checkerframework/framework/qual/EnsuresQualifierIf.java @@ -18,10 +18,10 @@ *

Here is an example use: * *


- *   {@literal @}EnsuresQualifierIf(result = true, expression = "#1", qualifier = Odd.class)
- *    boolean isOdd(int p1, int p2) {
- *        return p1 % 2 == 1;
- *    }
+ *  {@literal @}EnsuresQualifierIf(result = true, expression = "#1", qualifier = Odd.class)
+ *   boolean isOdd(int p1, int p2) {
+ *     return p1 % 2 == 1;
+ *   }
  * 
* *

This annotation is only applicable to methods with a boolean return type. diff --git a/src/java.base/share/classes/org/checkerframework/framework/qual/PostconditionAnnotation.java b/src/java.base/share/classes/org/checkerframework/framework/qual/PostconditionAnnotation.java index 1678614c67c..62392f02d1c 100644 --- a/src/java.base/share/classes/org/checkerframework/framework/qual/PostconditionAnnotation.java +++ b/src/java.base/share/classes/org/checkerframework/framework/qual/PostconditionAnnotation.java @@ -31,8 +31,8 @@ * org.checkerframework.common.value.qual.MinLen} qualifier: * *


- * {@literal @}PostconditionAnnotation(qualifier = MinLen.class)
- * {@literal @}Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
+ *  {@literal @}PostconditionAnnotation(qualifier = MinLen.class)
+ *  {@literal @}Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
  *  public {@literal @}interface EnsuresMinLen {
  *    String[] value();
  *    {@literal @}QualifierArgument("value")
@@ -47,7 +47,7 @@
  * {@code @MinLen(2)} upon return.
  *
  * 

- * {@literal @}EnsuresMinLen(value = "field", targetValue = 2")
+ *  {@literal @}EnsuresMinLen(value = "field", targetValue = 2)
  *  public void setField(String argument) {
  *    field = "(" + argument + ")";
  *  }
diff --git a/src/java.base/share/classes/org/checkerframework/framework/qual/PreconditionAnnotation.java b/src/java.base/share/classes/org/checkerframework/framework/qual/PreconditionAnnotation.java
index 542b1fa13b4..a71dac79d1b 100644
--- a/src/java.base/share/classes/org/checkerframework/framework/qual/PreconditionAnnotation.java
+++ b/src/java.base/share/classes/org/checkerframework/framework/qual/PreconditionAnnotation.java
@@ -27,12 +27,12 @@
  * org.checkerframework.common.value.qual.MinLen} qualifier:
  *
  * 

- * {@literal @}PreconditionAnnotation(qualifier = MinLen.class)
- * {@literal @}Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
- * public {@literal @}interface RequiresMinLen {
- *   String[] value();
- *   {@literal @}QualifierArgument("value")
- *   int targetValue() default 0;
+ *  {@literal @}PreconditionAnnotation(qualifier = MinLen.class)
+ *  {@literal @}Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
+ *  public {@literal @}interface RequiresMinLen {
+ *    String[] value();
+ *    {@literal @}QualifierArgument("value")
+ *    int targetValue() default 0;
  * 
* * The {@code value} element holds the expressions to which the qualifier applies and {@code @@ -43,10 +43,10 @@ * {@code @MinLen(2)} upon entry. * *

- * {@literal @}RequiresMinLen(value = "field", targetValue = 2")
- * public char getThirdCharacter() {
- *   return field.charAt(2);
- * }
+ *  {@literal @}RequiresMinLen(value = "field", targetValue = 2")
+ *  public char getThirdCharacter() {
+ *    return field.charAt(2);
+ *  }
  * 
* * @see RequiresQualifier