aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/collect
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-05 12:14:36 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-05 12:18:54 -0800
commitc5c2a76d10906cd75650af538fc604b1730a19e9 (patch)
treecdbd50ce4b77a18b770965c35033d3d3f970119a /src/main/java/com/google/devtools/build/lib/collect
parentd5de133579f2eca9634a49c022ce9345d7faa130 (diff)
Add NestedSet support in AutoCodec for type parameters which have an InjectingObjectCodec.
PiperOrigin-RevId: 184566571
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/collect')
-rw-r--r--src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodec.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodec.java b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodec.java
index e11d790109..072b936fcc 100644
--- a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodec.java
+++ b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodec.java
@@ -17,6 +17,8 @@ import com.google.common.base.Preconditions;
import com.google.common.hash.Hashing;
import com.google.common.hash.HashingOutputStream;
import com.google.devtools.build.lib.skyframe.serialization.EnumCodec;
+import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodec;
+import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodecAdapter;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
import com.google.protobuf.ByteString;
@@ -46,6 +48,10 @@ public class NestedSetCodec<T> implements ObjectCodec<NestedSet<T>> {
this.objectCodec = objectCodec;
}
+ public <D> NestedSetCodec(InjectingObjectCodec<T, D> injectingObjectCodec, D dependency) {
+ this.objectCodec = new InjectingObjectCodecAdapter<>(injectingObjectCodec, dependency);
+ }
+
@SuppressWarnings("unchecked")
@Override
public Class<NestedSet<T>> getEncodedClass() {