diff options
author | Googler <noreply@google.com> | 2018-08-03 05:06:20 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-03 05:08:21 -0700 |
commit | 4e0bd25cd9abed221efa10b06af3dc42ce04ca39 (patch) | |
tree | 21f8cb1d7c4876d3724cc0156b25dcbeae81d323 /src/main/java/com/google/devtools/build/docgen | |
parent | 4ba162ee5bfaae996ab3db9e6d47e669efb010a3 (diff) |
Set callable field only for methods in order to diferenciate them from
constants.
RELNOTES: None
PiperOrigin-RevId: 207251793
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
3 files changed, 26 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/docgen/ApiExporter.java b/src/main/java/com/google/devtools/build/docgen/ApiExporter.java index 52de905198..b65f11b771 100644 --- a/src/main/java/com/google/devtools/build/docgen/ApiExporter.java +++ b/src/main/java/com/google/devtools/build/docgen/ApiExporter.java @@ -73,16 +73,18 @@ public class ApiExporter { Value.Builder field = Value.newBuilder(); field.setName(meth.getName()); field.setDoc(meth.getDocumentation()); - Callable.Builder callable = Callable.newBuilder(); - for (SkylarkParamDoc par : meth.getParams()) { - Param.Builder param = Param.newBuilder(); - param.setName(par.getName()); - param.setType(par.getType()); - param.setDoc(par.getDocumentation()); - callable.addParam(param); + if (meth.isCallable()) { + Callable.Builder callable = Callable.newBuilder(); + for (SkylarkParamDoc par : meth.getParams()) { + Param.Builder param = Param.newBuilder(); + param.setName(par.getName()); + param.setType(par.getType()); + param.setDoc(par.getDocumentation()); + callable.addParam(param); + } + callable.setReturnType(meth.getReturnType()); + field.setCallable(callable); } - callable.setReturnType(meth.getReturnType()); - field.setCallable(callable); return field; } diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java index 7b128a1366..79c9d0d348 100644 --- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java +++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java @@ -83,6 +83,11 @@ public final class SkylarkBuiltinMethodDoc extends SkylarkMethodDoc { } @Override + public Boolean isCallable() { + return BaseFunction.class.isAssignableFrom(fieldClass); + } + + @Override public List<SkylarkParamDoc> getParams() { return params; } diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkMethodDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkMethodDoc.java index 868998a901..bb7edb1876 100644 --- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkMethodDoc.java +++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkMethodDoc.java @@ -39,14 +39,21 @@ public abstract class SkylarkMethodDoc extends SkylarkDoc { return ""; } - /** - * Returns a string containing a name for the method's return type. - */ + /** Returns a string containing a name for the method's return type. */ public String getReturnType() { return ""; } /** + * Returns whether a method can be called as a function. + * + * <p>E.g. True is not callable. + */ + public Boolean isCallable() { + return true; + } + + /** * Returns a list containing the documentation for each of the method's parameters. */ public List<SkylarkParamDoc> getParams() { |