Partial rollback of https://github.com/bazelbuild/bazel/commit/9f5250f6b067eb4f2e7a7d2f1e1443cb41ac6522.
PiperOrigin-RevId: 418027309
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
index 56de81f..e52ff6e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -1160,6 +1160,7 @@
":transitive_info_provider_map",
"//src/main/java/com/google/devtools/build/lib/collect",
"//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMapImpl.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMapImpl.java
index 1f2de56..421efcc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMapImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMapImpl.java
@@ -18,6 +18,8 @@
import com.google.devtools.build.lib.collect.ImmutableSharedKeyMap;
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
import java.util.Map;
import javax.annotation.Nullable;
@@ -25,10 +27,13 @@
* Implementation of {@link TransitiveInfoProvider} that uses {@link ImmutableSharedKeyMap}. For
* memory efficiency, inheritance is used instead of aggregation as an implementation detail.
*/
+@AutoCodec
class TransitiveInfoProviderMapImpl extends ImmutableSharedKeyMap<Object, Object>
implements TransitiveInfoProviderMap {
- private TransitiveInfoProviderMapImpl(Object[] keys, Object[] values) {
+ @AutoCodec.Instantiator
+ @VisibleForSerialization
+ TransitiveInfoProviderMapImpl(Object[] keys, Object[] values) {
super(keys, values);
}