Integrates CodecScanner into SkyValueEncoder.
* Deletes a number of CODEC references, now superceded by registry functionality.
* Minimal SkyKeySerializer modifications for correctness, as certain codec changes require
codecs to be in available in the registry.
PiperOrigin-RevId: 186834520
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
index 491275c..4454dbe 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
@@ -15,6 +15,7 @@
import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.vfs.Root;
import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
@@ -27,7 +28,7 @@
*/
public abstract class ContainingPackageLookupValue implements SkyValue {
- public static final NoContainingPackage NONE = new NoContainingPackage();
+ public static final NoContainingPackage NONE = NoContainingPackage.INSTANCE;
/** Returns whether there is a containing package. */
public abstract boolean hasContainingPackage();
@@ -49,7 +50,9 @@
}
/** Value indicating there is no containing package. */
+ @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class NoContainingPackage extends ContainingPackageLookupValue {
+ public static final NoContainingPackage INSTANCE = new NoContainingPackage();
private NoContainingPackage() {}
@@ -70,12 +73,15 @@
}
/** A successful lookup value. */
+ @AutoCodec
public static class ContainingPackage extends ContainingPackageLookupValue {
private final PackageIdentifier containingPackage;
private final Root containingPackageRoot;
- private ContainingPackage(PackageIdentifier pkgId, Root containingPackageRoot) {
- this.containingPackage = pkgId;
+ @AutoCodec.Instantiator
+ @AutoCodec.VisibleForSerialization
+ ContainingPackage(PackageIdentifier containingPackage, Root containingPackageRoot) {
+ this.containingPackage = containingPackage;
this.containingPackageRoot = containingPackageRoot;
}