aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/common/options/OptionDefinition.java
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-09-11 20:03:02 +0200
committerGravatar Philipp Wollermann <philwo@google.com>2017-09-12 14:05:08 +0200
commit1dce09721f8361240bbf056fd508f1ac5fdcfd32 (patch)
tree2406d3ab794db15d509adc842121bfa9f6c6eb84 /src/main/java/com/google/devtools/common/options/OptionDefinition.java
parent5a77f426e0896031973ce1dc965f05e014ee9a24 (diff)
Replace referrals to options by their name to option definitions.
Now that we have a standard way of referring to an option, remove all of the places that we were referring to them by their name. Since options can have multiple names, this is more clear and provides the additional information needed to understand the option. It also stops the habit of requesting unqualified strings, which was hard to read. RELNOTES: None. PiperOrigin-RevId: 168254584
Diffstat (limited to 'src/main/java/com/google/devtools/common/options/OptionDefinition.java')
-rw-r--r--src/main/java/com/google/devtools/common/options/OptionDefinition.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/common/options/OptionDefinition.java b/src/main/java/com/google/devtools/common/options/OptionDefinition.java
index 08962bba0d..a42a624cf7 100644
--- a/src/main/java/com/google/devtools/common/options/OptionDefinition.java
+++ b/src/main/java/com/google/devtools/common/options/OptionDefinition.java
@@ -274,6 +274,25 @@ public class OptionDefinition {
return defaultValue;
}
+ /**
+ * {@link OptionDefinition} is really a wrapper around a {@link Field} that caches information
+ * obtained through reflection. Checking that the fields they represent are equal is sufficient
+ * to check that two {@link OptionDefinition} objects are equal.
+ */
+ @Override
+ public boolean equals(Object object) {
+ if (!(object instanceof OptionDefinition)) {
+ return false;
+ }
+ OptionDefinition otherOption = (OptionDefinition) object;
+ return field.equals(otherOption.field);
+ }
+
+ @Override
+ public int hashCode() {
+ return field.hashCode();
+ }
+
static final Comparator<OptionDefinition> BY_OPTION_NAME =
Comparator.comparing(OptionDefinition::getOptionName);