Merge remote-tracking branch 'aosp/upstream-master' into desugar
* aosp/upstream-master:
Fix expansion option output formatting in html output
Categorize query options.
Test: m -j checkbuild
Change-Id: Id22a2d82c97f438047eb6ca94ac945d62656363a
diff --git a/java/com/google/devtools/common/options/OptionDocumentationCategory.java b/java/com/google/devtools/common/options/OptionDocumentationCategory.java
index 2354abf..e288b13 100644
--- a/java/com/google/devtools/common/options/OptionDocumentationCategory.java
+++ b/java/com/google/devtools/common/options/OptionDocumentationCategory.java
@@ -90,4 +90,7 @@
* based on execution-environment requirements.
*/
TOOLCHAIN,
+
+ /** This option relates to query output and semantics. */
+ QUERY,
}
diff --git a/java/com/google/devtools/common/options/OptionsUsage.java b/java/com/google/devtools/common/options/OptionsUsage.java
index 61829e2..8e36c4a 100644
--- a/java/com/google/devtools/common/options/OptionsUsage.java
+++ b/java/com/google/devtools/common/options/OptionsUsage.java
@@ -201,22 +201,29 @@
usage.append(paragraphFill(escaper.escape(annotation.help()), /*indent=*/ 0, /*width=*/ 80));
usage.append('\n');
}
- ImmutableList<String> expansion = getExpansionIfKnown(optionField, optionsData);
- if (expansion == null) {
- usage.append(" Expands to unknown options.<br>\n");
- } else if (!expansion.isEmpty()) {
+
+ if (!optionsData.getExpansionDataForField(optionField).isEmpty()) {
+ // If this is an expansion option, list the expansion if known, or at least specify that we
+ // don't know.
usage.append("<br/>\n");
- StringBuilder expandsMsg = new StringBuilder("Expands to:<br/>\n");
- for (String exp : expansion) {
- // TODO(ulfjack): Can we link to the expanded flags here?
- expandsMsg
- .append(" <code>")
- .append(escaper.escape(exp))
- .append("</code><br/>\n");
+ ImmutableList<String> expansion = getExpansionIfKnown(optionField, optionsData);
+ StringBuilder expandsMsg;
+ if (expansion == null) {
+ expandsMsg = new StringBuilder("Expands to unknown options.<br/>\n");
+ } else {
+ Preconditions.checkArgument(!expansion.isEmpty());
+ expandsMsg = new StringBuilder("Expands to:<br/>\n");
+ for (String exp : expansion) {
+ // TODO(ulfjack): Can we link to the expanded flags here?
+ expandsMsg
+ .append(" <code>")
+ .append(escaper.escape(exp))
+ .append("</code><br/>\n");
+ }
}
usage.append(expandsMsg.toString());
- usage.append('\n');
}
+
usage.append("</dd>\n");
}