diff options
author | janakr <janakr@google.com> | 2018-04-10 12:21:40 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-10 12:23:41 -0700 |
commit | a124bbf0ccecb32fd2f62d309e3e9486986b4323 (patch) | |
tree | e20072577ce10da13887909e67e8d724ba9f2bcc /src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java | |
parent | 8ae0b9d94d1b1c74e5e3adc1536bb641311c05ae (diff) |
Make some objects frequently encountered during serialization into constants. A lot of care is needed here because we're using reference equality. I plan to add value-equality constants in a follow-up.
Add ImmutableSortedSet marshaller because I think it might have been needed, and hey, why not.
PiperOrigin-RevId: 192326359
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java b/src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java index 581acad779..0fb2ae4d8c 100644 --- a/src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java +++ b/src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.collect.nestedset; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.HashMap; /** @@ -115,6 +116,29 @@ public enum Order { this.emptySet = new NestedSet<>(this); } + @AutoCodec @AutoCodec.VisibleForSerialization + static final Order STABLE_ORDER_CONSTANT = STABLE_ORDER; + + @AutoCodec @AutoCodec.VisibleForSerialization + static final Order COMPILE_ORDER_CONSTANT = COMPILE_ORDER; + + @AutoCodec @AutoCodec.VisibleForSerialization static final Order LINK_ORDER_CONSTANT = LINK_ORDER; + + @AutoCodec @AutoCodec.VisibleForSerialization + static final Order NAIVE_LINK_ORDER_CONSTANT = NAIVE_LINK_ORDER; + + @AutoCodec @AutoCodec.VisibleForSerialization + static final NestedSet<?> EMPTY_STABLE = STABLE_ORDER.emptySet(); + + @AutoCodec @AutoCodec.VisibleForSerialization + static final NestedSet<?> EMPTY_COMPILE = COMPILE_ORDER.emptySet(); + + @AutoCodec @AutoCodec.VisibleForSerialization + static final NestedSet<?> EMPTY_LINK = LINK_ORDER.emptySet(); + + @AutoCodec @AutoCodec.VisibleForSerialization + static final NestedSet<?> EMPTY_NAIVE_LINK = NAIVE_LINK_ORDER.emptySet(); + /** * Returns an empty set of the given ordering. */ |