summaryrefslogtreecommitdiff
path: root/java/com/google/devtools/common/options/OptionsUsage.java
diff options
context:
space:
mode:
authorccalvarin <ccalvarin@google.com>2017-08-30 00:23:40 +0200
committerColin Cross <ccross@android.com>2017-08-30 08:15:31 -0700
commitf317207148cc37de89df67aae4ab5b5efc354d49 (patch)
tree4185e4c19dcd69fa9d1672ba798c427ee68a09b3 /java/com/google/devtools/common/options/OptionsUsage.java
parentd6bbaeebc7eb6d53f8705556c64c7105ddca9105 (diff)
downloaddesugar-f317207148cc37de89df67aae4ab5b5efc354d49.tar.gz
Move default value & converter finding logic to the OptionDefinition class.
Removes some duplicate computation by memoizing the results. Consolidates caching into a single optionDefinition object, instead of having multiple caches that go from the option name to different parts of what defines an option. Fly-by cleanup of OptionDescription's contents, all contents that are statically defined as part of an option are in OptionDefintion, while expansion data, which depends on the existence of other options, is more clearly stored separately. Will move the converter-to-option type matching sanity checks to a compile time check in a later change. RELNOTES: None. PiperOrigin-RevId: 166912716 GitOrigin-RevId: 00443495e002c9fc68adbcb708f223eb4b6a73c1 Change-Id: If3915782a59d520353f3e5daeb4e489484a3307c
Diffstat (limited to 'java/com/google/devtools/common/options/OptionsUsage.java')
-rw-r--r--java/com/google/devtools/common/options/OptionsUsage.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/java/com/google/devtools/common/options/OptionsUsage.java b/java/com/google/devtools/common/options/OptionsUsage.java
index 51cc3c6..0ab30da 100644
--- a/java/com/google/devtools/common/options/OptionsUsage.java
+++ b/java/com/google/devtools/common/options/OptionsUsage.java
@@ -101,8 +101,8 @@ class OptionsUsage {
StringBuilder usage,
OptionsParser.HelpVerbosity helpVerbosity,
OptionsData optionsData) {
- String flagName = getFlagName(optionDefinition, optionsData);
- String typeDescription = getTypeDescription(optionDefinition, optionsData);
+ String flagName = getFlagName(optionDefinition);
+ String typeDescription = getTypeDescription(optionDefinition);
usage.append(" --").append(flagName);
if (helpVerbosity == OptionsParser.HelpVerbosity.SHORT) { // just the name
usage.append('\n');
@@ -163,12 +163,12 @@ class OptionsUsage {
Escaper escaper,
OptionsData optionsData) {
String plainFlagName = optionDefinition.getOptionName();
- String flagName = getFlagName(optionDefinition, optionsData);
+ String flagName = getFlagName(optionDefinition);
String valueDescription = optionDefinition.getValueTypeHelpText();
- String typeDescription = getTypeDescription(optionDefinition, optionsData);
+ String typeDescription = getTypeDescription(optionDefinition);
usage.append("<dt><code><a name=\"flag--").append(plainFlagName).append("\"></a>--");
usage.append(flagName);
- if (optionsData.isBooleanField(optionDefinition) || optionDefinition.isVoidField()) {
+ if (optionDefinition.isBooleanField() || optionDefinition.isVoidField()) {
// Nothing for boolean, tristate, boolean_or_enum, or void options.
} else if (!valueDescription.isEmpty()) {
usage.append("=").append(escaper.escape(valueDescription));
@@ -279,12 +279,12 @@ class OptionsUsage {
}
}
- private static String getTypeDescription(OptionDefinition optionsField, OptionsData optionsData) {
- return optionsData.getConverter(optionsField).getTypeDescription();
+ private static String getTypeDescription(OptionDefinition optionsDefinition) {
+ return optionsDefinition.getConverter().getTypeDescription();
}
- static String getFlagName(OptionDefinition optionDefinition, OptionsData optionsData) {
+ static String getFlagName(OptionDefinition optionDefinition) {
String name = optionDefinition.getOptionName();
- return optionsData.isBooleanField(optionDefinition) ? "[no]" + name : name;
+ return optionDefinition.isBooleanField() ? "[no]" + name : name;
}
}