aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
diff options
context:
space:
mode:
authorGravatar shahan <shahan@google.com>2018-02-20 13:20:30 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-20 13:22:33 -0800
commit80a0633bbeef3f84ab6eb6513a5d36936cd1bdbb (patch)
treea4ce5b4d8422a6103d0c93fb6ed8db3ccd1f1c22 /src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
parentdd090a6e8825093e7e5364ed49f16ba68f0fe54c (diff)
Adds ObjectCodecRegistry to {Des|S}erializationContext.
* AutoCodec now delegates to the registry. * Adds getSuperclass logic for resolving a codec. * Small cleanups for classes that break the registry. TODO after this change: * Explicit CODEC definitions are no longer needed and existing ones should be cleaned up. * POLYMORPHIC is no longer be needed and should be cleaned up. PiperOrigin-RevId: 186351845
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java62
1 files changed, 30 insertions, 32 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java b/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
index 12e236c2fa..a3085525a0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
@@ -262,38 +262,36 @@ public final class DottedVersion implements Comparable<DottedVersion>, SkylarkVa
printer.append(stringRepresentation);
}
- public static final ObjectCodec<DottedVersion> CODEC =
- new ObjectCodec<DottedVersion>() {
- @Override
- public void serialize(
- SerializationContext context, DottedVersion obj, CodedOutputStream codedOut)
- throws IOException {
- codedOut.writeInt32NoTag(obj.components.size());
- for (Component component : obj.components) {
- component.serialize(codedOut);
- }
- codedOut.writeStringNoTag(obj.stringRepresentation);
- codedOut.writeInt32NoTag(obj.numOriginalComponents);
- }
-
- @Override
- public DottedVersion deserialize(DeserializationContext context, CodedInputStream codedIn)
- throws IOException {
- int numComponents = codedIn.readInt32();
- // TODO(janakr: Presize this if/when https://github.com/google/guava/issues/196 is
- // resolved.
- ImmutableList.Builder<Component> components = ImmutableList.builder();
- for (int i = 0; i < numComponents; i++) {
- components.add(Component.deserialize(codedIn));
- }
- return new DottedVersion(components.build(), codedIn.readString(), codedIn.readInt32());
- }
-
- @Override
- public Class<DottedVersion> getEncodedClass() {
- return DottedVersion.class;
- }
- };
+ private static class DottedVersionCodec implements ObjectCodec<DottedVersion> {
+ @Override
+ public Class<DottedVersion> getEncodedClass() {
+ return DottedVersion.class;
+ }
+
+ @Override
+ public void serialize(
+ SerializationContext context, DottedVersion obj, CodedOutputStream codedOut)
+ throws IOException {
+ codedOut.writeInt32NoTag(obj.components.size());
+ for (Component component : obj.components) {
+ component.serialize(codedOut);
+ }
+ codedOut.writeStringNoTag(obj.stringRepresentation);
+ codedOut.writeInt32NoTag(obj.numOriginalComponents);
+ }
+
+ @Override
+ public DottedVersion deserialize(DeserializationContext context, CodedInputStream codedIn)
+ throws IOException {
+ int numComponents = codedIn.readInt32();
+ // TODO(janakr: Presize this if/when https://github.com/google/guava/issues/196 is resolved.
+ ImmutableList.Builder<Component> components = ImmutableList.builder();
+ for (int i = 0; i < numComponents; i++) {
+ components.add(Component.deserialize(codedIn));
+ }
+ return new DottedVersion(components.build(), codedIn.readString(), codedIn.readInt32());
+ }
+ }
private static final class Component implements Comparable<Component> {
private final int firstNumber;