aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-06-19 10:30:15 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-19 10:31:48 -0700
commit123d78472da1428298e8300e6b3de469e25e3af1 (patch)
treecdf0a29414ea299624e9ece95d4bbe2bb7ac5821 /src/main/java/com/google/devtools/build/lib/syntax
parent191238f51dc9575c90baa20dd7ee4fd2b8cf2bec (diff)
Make things easier to serialize: make constants constant, tag some lambdas. Get rid of a useless tag, because the Function being tagged is a concrete class, so won't be serializable. Will deal with it in a follow-up. Implement equality for BazelInfo.
PiperOrigin-RevId: 201199255
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SkylarkUtils.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkUtils.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkUtils.java
index 4f6c0463e7..cc92fd7928 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkUtils.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.syntax;
import com.google.common.collect.ImmutableMap;
+import java.util.Objects;
/** This class contains Bazel-specific functions to extend or interoperate with Skylark. */
public final class SkylarkUtils {
@@ -23,6 +24,24 @@ public final class SkylarkUtils {
private static class BazelInfo {
String toolsRepository;
ImmutableMap<String, Class<?>> fragmentNameToClass;
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (!(obj instanceof BazelInfo)) {
+ return false;
+ }
+ BazelInfo that = (BazelInfo) obj;
+ return Objects.equals(this.toolsRepository, that.toolsRepository)
+ && Objects.equals(this.fragmentNameToClass, that.fragmentNameToClass);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(toolsRepository, fragmentNameToClass);
+ }
}
private static final String BAZEL_INFO_KEY = "$bazel";