aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-04-10 12:21:40 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-10 12:23:41 -0700
commita124bbf0ccecb32fd2f62d309e3e9486986b4323 (patch)
treee20072577ce10da13887909e67e8d724ba9f2bcc /src/main/java/com/google/devtools/build/lib/collect/nestedset/Order.java
parent8ae0b9d94d1b1c74e5e3adc1536bb641311c05ae (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.java24
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.
*/