diff options
author | ccalvarin <ccalvarin@google.com> | 2017-09-11 20:03:02 +0200 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2017-09-12 14:05:08 +0200 |
commit | 1dce09721f8361240bbf056fd508f1ac5fdcfd32 (patch) | |
tree | 2406d3ab794db15d509adc842121bfa9f6c6eb84 /src/main/java/com/google/devtools/common/options/OptionDefinition.java | |
parent | 5a77f426e0896031973ce1dc965f05e014ee9a24 (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.java | 19 |
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); |