diff options
author | 2017-12-14 12:29:08 -0500 | |
---|---|---|
committer | 2017-12-14 12:38:48 -0500 | |
commit | e6863e2336f3aacac8181394f5edd92cac9471a9 (patch) | |
tree | 4e7a18482bf5d0bf4c2dc86c65737a604fb3bd73 /src/main/java/com/google/devtools/build/docgen | |
parent | 81a4948b88986359293c78d789dcbdd714caeab1 (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.java | 7 |
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 "); |