content: /*
   * Decompiled with CFR 0.153-SNAPSHOT (d6f6758-dirty).
   */
  package org.checkerframework.checker.lock.qual;
  
  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;
  import org.checkerframework.checker.lock.qual.GuardedByUnknown;
  import org.checkerframework.framework.qual.DefaultFor;
  import org.checkerframework.framework.qual.DefaultInUncheckedCodeFor;
  import org.checkerframework.framework.qual.DefaultQualifierInHierarchy;
  import org.checkerframework.framework.qual.JavaExpression;
  import org.checkerframework.framework.qual.SubtypeOf;
  import org.checkerframework.framework.qual.TypeKind;
  import org.checkerframework.framework.qual.TypeUseLocation;
  
  @SubtypeOf(value={GuardedByUnknown.class})
  @Documented
  @DefaultQualifierInHierarchy
  @DefaultInUncheckedCodeFor(value={TypeUseLocation.PARAMETER})
  @DefaultFor(value={TypeUseLocation.EXCEPTION_PARAMETER, TypeUseLocation.UPPER_BOUND}, typeKinds={TypeKind.BOOLEAN, TypeKind.BYTE, TypeKind.CHAR, TypeKind.DOUBLE, TypeKind.FLOAT, TypeKind.INT, TypeKind.LONG, TypeKind.SHORT}, types={String.class, Void.class})
  @Retention(value=RetentionPolicy.RUNTIME)
  @Target(value={ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
  public @interface GuardedBy {
      @JavaExpression
      public String[] value() default {};
  }
  
  