aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/docgen
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-12-14 12:29:08 -0500
committerGravatar John Cater <jcater@google.com>2017-12-14 12:38:48 -0500
commite6863e2336f3aacac8181394f5edd92cac9471a9 (patch)
tree4e7a18482bf5d0bf4c2dc86c65737a604fb3bd73 /src/main/java/com/google/devtools/build/docgen
parent81a4948b88986359293c78d789dcbdd714caeab1 (diff)
Fix the generic class information in the documentation
If a parameter is defined like the following, the information about the items type defined for the param itself (not for each container type) should be included in the documentation: @Param( // ... allowedTypes = { @ParamType(type = Container1.class), @ParamType(type = Container2.class), }, generic1 = Item.class, ) PiperOrigin-RevId: 179053750
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
index aa5d85a167..d61aef65ad 100644
--- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
+++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
@@ -43,10 +43,13 @@ public final class SkylarkParamDoc extends SkylarkDoc {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < param.allowedTypes().length; i++) {
ParamType paramType = param.allowedTypes()[i];
- if (paramType.generic1().equals(Object.class)) {
+ // Use the paramType's generic class if provided, otherwise the param's generic class
+ Class<?> generic =
+ paramType.generic1() == Object.class ? param.generic1() : paramType.generic1();
+ if (generic.equals(Object.class)) {
sb.append(getTypeAnchor(paramType.type()));
} else {
- sb.append(getTypeAnchor(paramType.type(), paramType.generic1()));
+ sb.append(getTypeAnchor(paramType.type(), generic));
}
if (i < param.allowedTypes().length - 1) {
sb.append("; or ");