aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/docgen
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-08-03 05:06:20 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-03 05:08:21 -0700
commit4e0bd25cd9abed221efa10b06af3dc42ce04ca39 (patch)
tree21f8cb1d7c4876d3724cc0156b25dcbeae81d323 /src/main/java/com/google/devtools/build/docgen
parent4ba162ee5bfaae996ab3db9e6d47e669efb010a3 (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')
-rw-r--r--src/main/java/com/google/devtools/build/docgen/ApiExporter.java20
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java5
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkMethodDoc.java13
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() {