bazel: enable unchecked/rawtypes errors for all Java source

PiperOrigin-RevId: 278695234
diff --git a/src/main/java/com/google/devtools/build/lib/collect/ImmutableSharedKeyMap.java b/src/main/java/com/google/devtools/build/lib/collect/ImmutableSharedKeyMap.java
index 3b084c8..0e1cef8 100644
--- a/src/main/java/com/google/devtools/build/lib/collect/ImmutableSharedKeyMap.java
+++ b/src/main/java/com/google/devtools/build/lib/collect/ImmutableSharedKeyMap.java
@@ -41,7 +41,7 @@
  */
 @Immutable
 public class ImmutableSharedKeyMap<K, V> extends CompactImmutableMap<K, V> {
-  private static final Interner<OffsetTable> offsetTables = BlazeInterners.newWeakInterner();
+  private static final Interner<OffsetTable<?>> offsetTables = BlazeInterners.newWeakInterner();
 
   private final OffsetTable<K> offsetTable;
   @VisibleForSerialization protected final Object[] values;
@@ -89,7 +89,7 @@
       if (!(o instanceof OffsetTable)) {
         return false;
       }
-      OffsetTable that = (OffsetTable) o;
+      OffsetTable<?> that = (OffsetTable<?>) o;
       return Arrays.equals(this.keys, that.keys);
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/collect/compacthashmap/CompactHashMap.java b/src/main/java/com/google/devtools/build/lib/collect/compacthashmap/CompactHashMap.java
index ce13579..83de355 100644
--- a/src/main/java/com/google/devtools/build/lib/collect/compacthashmap/CompactHashMap.java
+++ b/src/main/java/com/google/devtools/build/lib/collect/compacthashmap/CompactHashMap.java
@@ -623,10 +623,11 @@
     }
 
     @Override
+    @SuppressWarnings("unchecked") // keys contains only Ks
     public void forEach(Consumer<? super K> action) {
       checkNotNull(action);
       for (int i = firstEntryIndex(); i >= 0; i = getSuccessor(i)) {
-        action.accept((K) keys[i]);
+        action.accept((K) keys[i]); // unchecked
       }
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/concurrent/ParallelVisitor.java b/src/main/java/com/google/devtools/build/lib/concurrent/ParallelVisitor.java
index af2f3a8..0204c5b 100644
--- a/src/main/java/com/google/devtools/build/lib/concurrent/ParallelVisitor.java
+++ b/src/main/java/com/google/devtools/build/lib/concurrent/ParallelVisitor.java
@@ -301,7 +301,7 @@
 
           Collection<VisitKeyT> pendingKeysToVisit = new ArrayList<>(visitQueue.size());
           visitQueue.drainTo(pendingKeysToVisit);
-          for (Task task : getVisitTasks(pendingKeysToVisit)) {
+          for (Task<?> task : getVisitTasks(pendingKeysToVisit)) {
             execute(task);
           }
         }
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/PredicateBasedStatRecorder.java b/src/main/java/com/google/devtools/build/lib/profiler/PredicateBasedStatRecorder.java
index 55b0020..9851391 100644
--- a/src/main/java/com/google/devtools/build/lib/profiler/PredicateBasedStatRecorder.java
+++ b/src/main/java/com/google/devtools/build/lib/profiler/PredicateBasedStatRecorder.java
@@ -15,7 +15,6 @@
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
-
 import java.util.List;
 
 /**
@@ -27,11 +26,12 @@
  */
 public class PredicateBasedStatRecorder implements StatRecorder {
 
-  private final Predicate[] predicates;
+  private final Predicate<? super String>[] predicates;
   private final StatRecorder[] recorders;
 
+  @SuppressWarnings({"unchecked", "rawtypes"})
   public PredicateBasedStatRecorder(List<RecorderAndPredicate> stats) {
-    predicates = new Predicate[stats.size()];
+    predicates = (Predicate<? super String>[]) new Predicate[stats.size()]; // unchecked, rawtypes
     recorders = new StatRecorder[stats.size()];
     for (int i = 0; i < stats.size(); i++) {
       RecorderAndPredicate stat = stats.get(i);
@@ -40,7 +40,6 @@
     }
   }
 
-  @SuppressWarnings("unchecked")
   @Override
   public void addStat(int duration, Object obj) {
     String description = obj.toString();
diff --git a/src/main/java/com/google/devtools/build/lib/remote/logging/LoggingInterceptor.java b/src/main/java/com/google/devtools/build/lib/remote/logging/LoggingInterceptor.java
index 1df5659..ee4771f 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/logging/LoggingInterceptor.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/logging/LoggingInterceptor.java
@@ -58,21 +58,21 @@
   protected <ReqT, RespT> @Nullable LoggingHandler selectHandler(
       MethodDescriptor<ReqT, RespT> method) {
     if (method == ExecutionGrpc.getExecuteMethod()) {
-      return new ExecuteHandler();
+      return new ExecuteHandler(); // <ExecuteRequest, Operation>
     } else if (method == ExecutionGrpc.getWaitExecutionMethod()) {
-      return new WaitExecutionHandler();
+      return new WaitExecutionHandler(); // <WaitExecutionRequest, Operation>
     } else if (method == ActionCacheGrpc.getGetActionResultMethod()) {
-      return new GetActionResultHandler();
+      return new GetActionResultHandler(); // <GetActionResultRequest, ActionResult>
     } else if (method == ActionCacheGrpc.getUpdateActionResultMethod()) {
-      return new UpdateActionResultHandler();
+      return new UpdateActionResultHandler(); // <UpdateActionResultRequest, ActionResult>
     } else if (method == ContentAddressableStorageGrpc.getFindMissingBlobsMethod()) {
-      return new FindMissingBlobsHandler();
+      return new FindMissingBlobsHandler(); // <FindMissingBlobsRequest, FindMissingBlobsResponse>
     } else if (method == ByteStreamGrpc.getReadMethod()) {
-      return new ReadHandler();
+      return new ReadHandler(); // <ReadRequest, ReadResponse>
     } else if (method == ByteStreamGrpc.getWriteMethod()) {
-      return new WriteHandler();
+      return new WriteHandler(); // <WriteRequest, WriteResponse>
     } else if (method == CapabilitiesGrpc.getGetCapabilitiesMethod()) {
-      return new GetCapabilitiesHandler();
+      return new GetCapabilitiesHandler(); // <GetCapabilitiesRequest, ServerCapabilities>
     }
     return null;
   }
@@ -81,6 +81,7 @@
   public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(
       MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next) {
     ClientCall<ReqT, RespT> call = next.newCall(method, callOptions);
+    @SuppressWarnings("unchecked") // handler matches method, but that type is inexpressible
     LoggingHandler<ReqT, RespT> handler = selectHandler(method);
     if (handler != null) {
       return new LoggingForwardingCall<>(call, handler, method);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
index 16ad7d3..8866522 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
@@ -377,7 +377,8 @@
       // The config_setting's expected value *must* be a single map entry (see method comments).
       Object expectedListValue = Iterables.getOnlyElement(expectedList);
       Map.Entry<?, ?> expectedEntry = (Map.Entry<?, ?>) expectedListValue;
-      for (Map.Entry<?, ?> actualEntry : Lists.reverse((List<Map.Entry<?, ?>>) actualList)) {
+      for (Object elem : Lists.reverse(actualList)) {
+        Map.Entry<?, ?> actualEntry = (Map.Entry<?, ?>) elem;
         if (actualEntry.getKey().equals(expectedEntry.getKey())) {
           // Found a key match!
           return actualEntry.getValue().equals(expectedEntry.getValue());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
index 85fb274..9193042 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
@@ -312,18 +312,22 @@
   /**
    * Converts an object that can be the NoneType to the actual object if it is not or returns the
    * default value if none.
+   *
+   * <p>This operation is wildly unsound. It performs no dymamic checks (casts), it simply lies
+   * about the type.
    */
   @SuppressWarnings("unchecked")
   protected static <T> T convertFromNoneable(Object obj, @Nullable T defaultValue) {
     if (EvalUtils.isNullOrNone(obj)) {
       return defaultValue;
     }
-    return (T) obj;
+    return (T) obj; // totally unsafe
   }
 
   /** Converts an object that can be ether SkylarkNestedSet or None into NestedSet. */
   protected NestedSet<String> asStringNestedSet(Object o) throws SkylarkNestedSet.TypeException {
-    SkylarkNestedSet skylarkNestedSet = convertFromNoneable(o, /* defaultValue= */ null);
+    SkylarkNestedSet skylarkNestedSet =
+        convertFromNoneable(o, /* defaultValue= */ (SkylarkNestedSet) null);
     if (skylarkNestedSet != null) {
       return skylarkNestedSet.getSet(String.class);
     } else {
@@ -333,7 +337,8 @@
 
   /** Converts an object that can be either SkylarkList, or None into ImmutableList. */
   protected ImmutableList<String> asStringImmutableList(Object o) {
-    SkylarkList skylarkList = convertFromNoneable(o, /* defaultValue= */ null);
+    SkylarkList<String> skylarkList =
+        convertFromNoneable(o, /* defaultValue= */ (SkylarkList<String>) null);
     if (skylarkList != null) {
       return skylarkList.getImmutableList();
     } else {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
index cae6d68..4391066 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
@@ -114,7 +114,7 @@
       throws RuleErrorException {
     T selectedAttributes = null;
     for (TransitiveInfoCollection dep : ruleContext.getPrerequisiteMap("toolchains").values()) {
-      T attributes = (T) dep.get(ToolchainInfo.PROVIDER);
+      T attributes = clazz.cast(dep.get(ToolchainInfo.PROVIDER));
       if (attributes != null && attributes.getCcToolchainLabel().equals(selectedCcToolchain)) {
         selectedAttributes = attributes;
         break;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
index 75307af..3ffd97e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
@@ -37,8 +37,8 @@
 
   private final Class<C> ruleClass;
 
-  public static <C extends JavaToolchain> JavaToolchainRule create(Class<C> ruleClass) {
-    return new JavaToolchainRule(ruleClass);
+  public static <C extends JavaToolchain> JavaToolchainRule<C> create(Class<C> ruleClass) {
+    return new JavaToolchainRule<C>(ruleClass);
   }
 
   private JavaToolchainRule(Class<C> ruleClass) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
index 42defb7..2da9350 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
@@ -878,9 +878,8 @@
     addTransitiveAndFilter(objcProviderBuilder, key, notContainedIn(avoidPathsSet));
   }
 
-  @SuppressWarnings("unchecked")
-  private <T> void addTransitiveAndAvoid(ObjcProvider.Builder objcProviderBuilder, Key<T> key,
-      Iterable<ObjcProvider> avoidProviders) {
+  private <T> void addTransitiveAndAvoid(
+      ObjcProvider.Builder objcProviderBuilder, Key<T> key, Iterable<ObjcProvider> avoidProviders) {
     HashSet<T> avoidItemsSet = new HashSet<T>();
     for (ObjcProvider avoidProvider : avoidProviders) {
       avoidItemsSet.addAll(avoidProvider.getPropagable(key).toList());
@@ -1026,7 +1025,7 @@
      * Add all elements from a single key of the given provider, and propagate them to any
      * (transitive) dependers on this ObjcProvider.
      */
-    public Builder addTransitiveAndPropagate(Key key, ObjcProvider provider) {
+    public Builder addTransitiveAndPropagate(Key<?> key, ObjcProvider provider) {
       if (provider.items.containsKey(key)) {
         uncheckedAddTransitive(key, provider.items.get(key), this.items);
       }
@@ -1173,7 +1172,6 @@
       }
     }
 
-    @SuppressWarnings({"rawtypes", "unchecked"})
     public ObjcProvider build() {
       ImmutableMap.Builder<Key<?>, NestedSet<?>> propagatedBuilder = new ImmutableMap.Builder<>();
       for (Map.Entry<Key<?>, NestedSetBuilder<?>> typeEntry : items.entrySet()) {
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
index df99c45..c3a26cf 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
@@ -42,12 +42,12 @@
     TransitiveInfoCollectionT extends TransitiveInfoCollectionApi,
     FileT extends FileApi,
     SpecialFileT extends FileApi,
-    AndroidAssetsInfoT extends AndroidAssetsInfoApi,
-    AndroidResourcesInfoT extends AndroidResourcesInfoApi,
-    AndroidManifestInfoT extends AndroidManifestInfoApi,
-    AndroidLibraryAarInfoT extends AndroidLibraryAarInfoApi,
-    AndroidBinaryDataInfoT extends AndroidBinaryDataInfoApi,
-    ValidatedAndroidDataT extends ValidatedAndroidDataApi> {
+    AndroidAssetsInfoT extends AndroidAssetsInfoApi<?, ?>,
+    AndroidResourcesInfoT extends AndroidResourcesInfoApi<?, ?, ?>,
+    AndroidManifestInfoT extends AndroidManifestInfoApi<?>,
+    AndroidLibraryAarInfoT extends AndroidLibraryAarInfoApi<?>,
+    AndroidBinaryDataInfoT extends AndroidBinaryDataInfoApi<?>,
+    ValidatedAndroidDataT extends ValidatedAndroidDataApi<?, ?>> {
 
   @SkylarkCallable(
       name = "assets_from_deps",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
index 6953a06..a4e8362 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
@@ -37,7 +37,7 @@
     category = SkylarkModuleCategory.PROVIDER)
 public interface AndroidResourcesInfoApi<
         FileT extends FileApi,
-        ValidatedAndroidDataT extends ValidatedAndroidDataApi,
+        ValidatedAndroidDataT extends ValidatedAndroidDataApi<?, ?>,
         AndroidManifestInfoT extends AndroidManifestInfoApi<FileT>>
     extends StructApi {
 
@@ -130,7 +130,7 @@
       documented = false)
   public interface AndroidResourcesInfoApiProvider<
           FileT extends FileApi,
-          ValidatedAndroidDataT extends ValidatedAndroidDataApi,
+          ValidatedAndroidDataT extends ValidatedAndroidDataApi<?, ?>,
           AndroidManifestInfoT extends AndroidManifestInfoApi<FileT>>
       extends ProviderApi {
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
index d7a5ef9..76c6bd1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
@@ -28,7 +28,7 @@
             + "you will be broken when it is removed."
             + "Common utilities and functionality related to Android rules.",
     documented = false)
-public interface AndroidSkylarkCommonApi<FileT extends FileApi, JavaInfoT extends JavaInfoApi> {
+public interface AndroidSkylarkCommonApi<FileT extends FileApi, JavaInfoT extends JavaInfoApi<?>> {
 
   @SkylarkCallable(
       name = "create_device_broker_info",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
index 17c1180..801403b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
@@ -49,7 +49,7 @@
       name = "linking_context",
       doc = "Returns the <code>LinkingContext</code>",
       structField = true)
-  CcLinkingContextApi getCcLinkingContext();
+  CcLinkingContextApi<?> getCcLinkingContext();
 
   /** The provider implementing this can construct CcInfo objects. */
   @SkylarkModule(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
index b3c2a8d..542e951 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
@@ -40,11 +40,11 @@
 public interface CcModuleApi<
     SkylarkActionFactoryT extends SkylarkActionFactoryApi,
     FileT extends FileApi,
-    CcToolchainProviderT extends CcToolchainProviderApi,
+    CcToolchainProviderT extends CcToolchainProviderApi<?>,
     FeatureConfigurationT extends FeatureConfigurationApi,
     CompilationContextT extends CcCompilationContextApi,
     LinkerInputT extends LinkerInputApi<LibraryToLinkT, FileT>,
-    LinkingContextT extends CcLinkingContextApi,
+    LinkingContextT extends CcLinkingContextApi<?>,
     LibraryToLinkT extends LibraryToLinkApi<FileT>,
     CcToolchainVariablesT extends CcToolchainVariablesApi,
     SkylarkRuleContextT extends SkylarkRuleContextApi,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
index b86a354..a408159 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
@@ -29,7 +29,7 @@
 )
 public interface CompilationInfoApi {
   @SkylarkCallable(name = "cc_compilation_outputs", structField = true, documented = false)
-  CcCompilationOutputsApi getCcCompilationOutputs();
+  CcCompilationOutputsApi<?> getCcCompilationOutputs();
 
   @SkylarkCallable(name = "compilation_context", structField = true, documented = false)
   CcCompilationContextApi getCcCompilationContext();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
index 31c8247..3dbc4b4 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
@@ -30,8 +30,8 @@
 public interface LinkingInfoApi {
 
   @SkylarkCallable(name = "linking_context", structField = true, documented = false)
-  CcLinkingContextApi getCcLinkingContext();
+  CcLinkingContextApi<?> getCcLinkingContext();
 
   @SkylarkCallable(name = "cc_linking_outputs", structField = true, documented = false)
-  CcLinkingOutputsApi getCcLinkingOutputs();
+  CcLinkingOutputsApi<?> getCcLinkingOutputs();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/util/OrderedSetMultimap.java b/src/main/java/com/google/devtools/build/lib/util/OrderedSetMultimap.java
index 79be3d6..43fa38c 100644
--- a/src/main/java/com/google/devtools/build/lib/util/OrderedSetMultimap.java
+++ b/src/main/java/com/google/devtools/build/lib/util/OrderedSetMultimap.java
@@ -29,7 +29,7 @@
   private final SetMultimap<K, V> delegate = LinkedHashMultimap.<K, V>create();
 
   @Override
-  protected SetMultimap delegate() {
+  protected SetMultimap<K, V> delegate() {
     return delegate;
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java b/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java
index 8f21bb4..38f9e40 100644
--- a/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java
@@ -1095,6 +1095,7 @@
     helper.setOrderedResults(true); // This query needs a graph.
 
     ResultAndTargets<T> resultAndTargets = helper.evaluateQuery("//x:*");
+    @SuppressWarnings("unchecked")
     DigraphQueryEvalResult<T> digraphResult =
         (DigraphQueryEvalResult<T>) resultAndTargets.getQueryEvalResult();
     Set<T> results = resultAndTargets.getResultSet();
diff --git a/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnCacheTest.java b/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnCacheTest.java
index ba37edb..73eec07 100644
--- a/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnCacheTest.java
+++ b/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnCacheTest.java
@@ -108,7 +108,7 @@
   @Mock private AbstractRemoteActionCache remoteCache;
   private RemoteSpawnCache cache;
   private FileOutErr outErr;
-  private final List<Pair<ProgressStatus, String>> progressUpdates = new ArrayList();
+  private final List<Pair<ProgressStatus, String>> progressUpdates = new ArrayList<>();
 
   private StoredEventHandler eventHandler = new StoredEventHandler();
 
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
index 96a99a6..f370e48 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
@@ -321,6 +321,7 @@
         ((SkylarkNestedSet) info.getValue("transitive_compile_time_jars"));
     SkylarkNestedSet compileJars = ((SkylarkNestedSet) info.getValue("compile_jars"));
     SkylarkNestedSet fullCompileJars = ((SkylarkNestedSet) info.getValue("full_compile_jars"));
+    @SuppressWarnings("unchecked")
     SkylarkList<Artifact> sourceJars = ((SkylarkList<Artifact>) info.getValue("source_jars"));
     JavaRuleOutputJarsProvider outputs = ((JavaRuleOutputJarsProvider) info.getValue("outputs"));
 
@@ -1378,7 +1379,6 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    @SuppressWarnings("unchecked")
     SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
@@ -1412,7 +1412,6 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    @SuppressWarnings("unchecked")
     SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
@@ -1446,7 +1445,6 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    @SuppressWarnings("unchecked")
     SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
@@ -1480,7 +1478,6 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    @SuppressWarnings("unchecked")
     SkylarkNestedSet exports = (SkylarkNestedSet) (info.getValue("property"));
 
     assertThat(exports.getSet(Label.class))
@@ -2220,10 +2217,7 @@
         "toolchain_resolution_enabled(name='r')");
 
     ConfiguredTarget r = getConfiguredTarget("//a:r");
-    @SuppressWarnings("unchecked") // Use an extra variable in order to suppress the warning.
-    boolean toolchainResolutionEnabled =
-        (boolean) getMyInfoFromTarget(r).getValue("toolchain_resolution_enabled");
-    return toolchainResolutionEnabled;
+    return (boolean) getMyInfoFromTarget(r).getValue("toolchain_resolution_enabled");
   }
 
   @Test
@@ -2283,7 +2277,6 @@
     useConfiguration(
         "--javabase=//a:jvm", "--extra_toolchains=//a:all", "--platforms=//a:platform");
     ConfiguredTarget ct = getConfiguredTarget("//a:r");
-    @SuppressWarnings("unchecked")
     SkylarkNestedSet files = (SkylarkNestedSet) ct.get("files");
     assertThat(prettyArtifactNames(files.toCollection(Artifact.class))).containsExactly("a/a.txt");
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
index 2f83355..f64040f 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
@@ -232,6 +232,7 @@
     Object evalResult = SkyframeExecutorTestUtils.evaluate(
         skyframeExecutor, key, /*keepGoing=*/false, reporter);
     skyframeExecutor.getSkyframeBuildView().enableAnalysis(false);
+    @SuppressWarnings("unchecked")
     SkyValue value = ((EvaluationResult<ComputeDependenciesFunction.Value>) evalResult).get(key);
     return ((ComputeDependenciesFunction.Value) value).depMap;
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
index 5350d3f..51e3a53 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
@@ -126,7 +126,7 @@
         FileStateValue.FILE_STATE,
         new FileStateFunction(
             new AtomicReference<TimestampGranularityMonitor>(),
-            new AtomicReference(UnixGlob.DEFAULT_SYSCALLS),
+            new AtomicReference<>(UnixGlob.DEFAULT_SYSCALLS),
             externalFilesHelper));
     skyFunctions.put(FileValue.FILE, new FileFunction(pkgLocator));
     skyFunctions.put(SkyFunctions.DIRECTORY_LISTING, new DirectoryListingFunction());