docgen: move and simplify StarlarkConstructor annotation
Previously, it was in the Starlark interpreter, but it is only used by docgen.
Both its fields have been eliminated because they provide redundant information.
I would have made this change a long time ago but for the fact that
the the information was not entirely redundant. I now believe the only two
places where the provided information differs from trivially computed values
were both mistakes. They are:
1) XcodeConfigInfo, which is now called XcodeVersionConfig.
The former string appears only in the docs, but never in the codebase.
See: https://docs.bazel.build/versions/3.4.0/skylark/lib/XcodeVersionConfig.html#XcodeConfigInfo
2) apple_common.AppleStaticLibrary, which is now called AppleStaticLibrary.
The former name is not an identifier, so it leads to nonsensical documentation.
See: https://docs.bazel.build/versions/3.5.0/skylark/lib/AppleStaticLibrary.html#members
PiperOrigin-RevId: 333103884
diff --git a/src/main/java/com/google/devtools/build/docgen/StarlarkDocumentationCollector.java b/src/main/java/com/google/devtools/build/docgen/StarlarkDocumentationCollector.java
index b22c2c1..a3ee2a3 100644
--- a/src/main/java/com/google/devtools/build/docgen/StarlarkDocumentationCollector.java
+++ b/src/main/java/com/google/devtools/build/docgen/StarlarkDocumentationCollector.java
@@ -17,6 +17,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.devtools.build.docgen.annot.DocumentMethods;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.docgen.starlark.StarlarkBuiltinDoc;
import com.google.devtools.build.docgen.starlark.StarlarkConstructorMethodDoc;
import com.google.devtools.build.docgen.starlark.StarlarkJavaMethodDoc;
@@ -27,8 +28,8 @@
import java.util.TreeMap;
import javax.annotation.Nullable;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
+import net.starlark.java.annot.StarlarkInterfaceUtils;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Starlark;
import net.starlark.java.eval.StarlarkSemantics;
@@ -238,30 +239,19 @@
}
}
- private static void collectConstructor(
- Map<String, StarlarkBuiltinDoc> modules, Class<?> moduleClass, Method method) {
- StarlarkConstructor constructorAnnotation =
- Preconditions.checkNotNull(method.getAnnotation(StarlarkConstructor.class));
- StarlarkMethod callable =
- Preconditions.checkNotNull(method.getAnnotation(StarlarkMethod.class));
- Class<?> objectClass = constructorAnnotation.objectType();
- StarlarkBuiltin objectModule = objectClass.getAnnotation(StarlarkBuiltin.class);
- if (objectModule == null || !objectModule.documented()) {
+ private static void collectConstructor(Map<String, StarlarkBuiltinDoc> modules, Method method) {
+ Preconditions.checkNotNull(method.getAnnotation(StarlarkConstructor.class));
+
+ StarlarkBuiltin builtinType = StarlarkInterfaceUtils.getStarlarkBuiltin(method.getReturnType());
+ if (builtinType == null || !builtinType.documented()) {
// The class of the constructed object type has no documentation, so no place to add
// constructor information.
return;
}
- StarlarkBuiltinDoc module = modules.get(objectModule.name());
-
- String fullyQualifiedName;
- if (!constructorAnnotation.receiverNameForDoc().isEmpty()) {
- fullyQualifiedName = constructorAnnotation.receiverNameForDoc();
- } else {
- String originatingModuleName = getModuleNameForConstructorPrefix(moduleClass, modules);
- fullyQualifiedName = getFullyQualifiedName(originatingModuleName, callable);
- }
-
- module.setConstructor(new StarlarkConstructorMethodDoc(fullyQualifiedName, method, callable));
+ StarlarkMethod methodAnnot =
+ Preconditions.checkNotNull(method.getAnnotation(StarlarkMethod.class));
+ StarlarkBuiltinDoc doc = modules.get(builtinType.name());
+ doc.setConstructor(new StarlarkConstructorMethodDoc(builtinType.name(), method, methodAnnot));
}
/**
@@ -278,42 +268,18 @@
Class<?> moduleClass, Map<String, StarlarkBuiltinDoc> modules) {
Method selfCallConstructor = getSelfCallConstructorMethod(moduleClass);
if (selfCallConstructor != null) {
- collectConstructor(modules, moduleClass, selfCallConstructor);
+ collectConstructor(modules, selfCallConstructor);
}
for (Method method : Starlark.getMethodAnnotations(moduleClass).keySet()) {
if (method.isAnnotationPresent(StarlarkConstructor.class)) {
- collectConstructor(modules, moduleClass, method);
+ collectConstructor(modules, method);
}
Class<?> returnClass = method.getReturnType();
Method returnClassConstructor = getSelfCallConstructorMethod(returnClass);
if (returnClassConstructor != null) {
- collectConstructor(modules, moduleClass, returnClassConstructor);
+ collectConstructor(modules, returnClassConstructor);
}
}
}
-
- private static String getModuleNameForConstructorPrefix(
- Class<?> moduleClass, Map<String, StarlarkBuiltinDoc> modules) {
- if (moduleClass.isAnnotationPresent(StarlarkBuiltin.class)) {
- String moduleName = moduleClass.getAnnotation(StarlarkBuiltin.class).name();
- StarlarkBuiltinDoc moduleDoc = Preconditions.checkNotNull(modules.get(moduleName));
-
- if (moduleClass != moduleDoc.getClassObject()) {
- throw new IllegalStateException(
- "Could not determine module name for constructor defined in " + moduleClass);
- }
- return moduleName;
- } else if (moduleClass.isAnnotationPresent(DocumentMethods.class)) {
- return "";
- } else {
- throw new IllegalArgumentException(moduleClass + " has no valid annotation");
- }
- }
-
- private static String getFullyQualifiedName(String objectName, StarlarkMethod callable) {
- String objectDotExpressionPrefix = objectName.isEmpty() ? "" : objectName + ".";
- String methodName = callable.name();
- return objectDotExpressionPrefix + methodName;
- }
}
diff --git a/src/main/java/com/google/devtools/build/docgen/annot/BUILD b/src/main/java/com/google/devtools/build/docgen/annot/BUILD
index 3e0808d..9051d16 100644
--- a/src/main/java/com/google/devtools/build/docgen/annot/BUILD
+++ b/src/main/java/com/google/devtools/build/docgen/annot/BUILD
@@ -12,5 +12,8 @@
java_library(
name = "annot",
- srcs = ["DocumentMethods.java"],
+ srcs = [
+ "DocumentMethods.java",
+ "StarlarkConstructor.java",
+ ],
)
diff --git a/src/main/java/com/google/devtools/build/docgen/annot/StarlarkConstructor.java b/src/main/java/com/google/devtools/build/docgen/annot/StarlarkConstructor.java
new file mode 100644
index 0000000..1d726f7
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/docgen/annot/StarlarkConstructor.java
@@ -0,0 +1,29 @@
+// Copyright 2018 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.docgen.annot;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An marker annotation used on a {@link net.starlark.java.annot.StarlarkMethod}-annotated method
+ * that causes docgen to document it as a constructor function for the Starlark data type denoted by
+ * the method's return type. The Starlark data type is obtained from the class using {@link
+ * net.starlark.java.annot.StarlarkInterfaceUtils#getStarlarkBuiltin}.
+ */
+@Target({ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface StarlarkConstructor {}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/DefaultInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/DefaultInfoApi.java
index b02030a..c06469d 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/DefaultInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/DefaultInfoApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -161,7 +161,7 @@
},
selfCall = true,
useStarlarkThread = true)
- @StarlarkConstructor(objectType = DefaultInfoApi.class, receiverNameForDoc = "DefaultInfo")
+ @StarlarkConstructor
DefaultInfoApi constructor(
// TODO(cparsons): Use stricter types when Runfiles.NONE is passed as null.
Object files,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/OutputGroupInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/OutputGroupInfoApi.java
index c85475c..12ca92d 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/OutputGroupInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/OutputGroupInfoApi.java
@@ -14,11 +14,11 @@
package com.google.devtools.build.lib.starlarkbuildapi;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
@@ -53,9 +53,7 @@
defaultValue = "{}",
doc = "Dictionary of arguments."),
selfCall = true)
- @StarlarkConstructor(
- objectType = OutputGroupInfoApi.class,
- receiverNameForDoc = "OutputGroupInfo")
+ @StarlarkConstructor
OutputGroupInfoApi constructor(Dict<String, Object> kwargs) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkRuleFunctionsApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkRuleFunctionsApi.java
index 31dabfd..3247caa 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkRuleFunctionsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkRuleFunctionsApi.java
@@ -15,13 +15,13 @@
package com.google.devtools.build.lib.starlarkbuildapi;
import com.google.devtools.build.docgen.annot.DocumentMethods;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.lib.starlarkbuildapi.StarlarkConfigApi.BuildSettingApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.ParamType;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.EvalException;
@@ -561,7 +561,7 @@
+ "Label() call appears.")
},
useStarlarkThread = true)
- @StarlarkConstructor(objectType = Label.class)
+ @StarlarkConstructor
Label label(String labelString, Boolean relativeToCallerRepository, StarlarkThread thread)
throws EvalException;
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidApplicationResourceInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidApplicationResourceInfoApi.java
index 336e23b..aebdb58 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidApplicationResourceInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidApplicationResourceInfoApi.java
@@ -13,12 +13,12 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -166,7 +166,7 @@
defaultValue = "None"),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidApplicationResourceInfoApi.class)
+ @StarlarkConstructor
AndroidApplicationResourceInfoApi<FileT> createInfo(
Object resourceApk,
Object resourceJavaSrcJar,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidAssetsInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidAssetsInfoApi.java
index 6a7b4ab..f34adbb 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidAssetsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidAssetsInfoApi.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
@@ -22,7 +23,6 @@
import javax.annotation.Nullable;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -162,7 +162,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidAssetsInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidAssetsInfoApi<FileT, AssetsT> createInfo(
Label label,
Object validationResult,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidBinaryDataInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidBinaryDataInfoApi.java
index 8b7d480..0d735d9 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidBinaryDataInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidBinaryDataInfoApi.java
@@ -13,12 +13,12 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -105,7 +105,7 @@
type = AndroidManifestInfoApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidBinaryDataInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidBinaryDataInfoApi<FileT> create(
FileT resourceApk,
FileT resourceProguardConfig,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidCcLinkParamsProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
index aa0436e..830f3cd 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import com.google.devtools.build.lib.starlarkbuildapi.cpp.CcInfoApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -66,9 +66,7 @@
type = CcInfoApi.class),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = AndroidCcLinkParamsProviderApi.class,
- receiverNameForDoc = NAME)
+ @StarlarkConstructor
public AndroidCcLinkParamsProviderApi<FileT, CcInfoT> createInfo(CcInfoT store)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidDeviceBrokerInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidDeviceBrokerInfoApi.java
index 2f1c464..f15f423 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidDeviceBrokerInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidDeviceBrokerInfoApi.java
@@ -13,11 +13,11 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -56,7 +56,7 @@
+ "devices")
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidDeviceBrokerInfoApi.class)
+ @StarlarkConstructor
AndroidDeviceBrokerInfoApi createInfo(String type) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
index 8eef428..8463063 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
import com.google.common.collect.ImmutableMap;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
@@ -68,9 +68,7 @@
type = Dict.class),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = AndroidFeatureFlagSetProviderApi.class,
- receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidFeatureFlagSetProviderApi create(Dict<?, ?> flags /* <Label, String> */)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdeInfoProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdeInfoProviderApi.java
index e667b64..0acaef0 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdeInfoProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdeInfoProviderApi.java
@@ -15,6 +15,7 @@
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableMap;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
@@ -23,7 +24,6 @@
import javax.annotation.Nullable;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.EvalException;
@@ -294,7 +294,7 @@
generic1 = String.class)
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidIdeInfoProviderApi.class)
+ @StarlarkConstructor
AndroidIdeInfoProviderApi<FileT, OutputJarT> createInfo(
/*noneable*/ Object javaPackage,
/*noneable*/ Object manifest,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdlProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdlProviderApi.java
index b2ad3ad..1569829 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdlProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidIdlProviderApi.java
@@ -13,13 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -121,7 +121,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidIdlProviderApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidIdlProviderApi<FileT> createInfo(
Depset transitiveIdlImportRoots,
Depset transitiveIdlImports,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidInstrumentationInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidInstrumentationInfoApi.java
index 46aebd8..f8d3911 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidInstrumentationInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidInstrumentationInfoApi.java
@@ -13,11 +13,11 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -67,9 +67,7 @@
doc = "The target ApkInfo of the instrumentation test.")
},
selfCall = true)
- @StarlarkConstructor(
- objectType = AndroidInstrumentationInfoApi.class,
- receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidInstrumentationInfoApi<ApkT> createInfo(ApkT target) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryAarInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryAarInfoApi.java
index ab43927..64bf396 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryAarInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryAarInfoApi.java
@@ -13,13 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -94,7 +94,7 @@
type = Boolean.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidLibraryAarInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidLibraryAarInfoApi<FileT> create(
FileT aar,
FileT manifest,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
index 32ea703..b9bf62b 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
@@ -13,13 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -64,9 +64,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = AndroidLibraryResourceClassJarProviderApi.class,
- receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidLibraryResourceClassJarProviderApi<FileT> create(Depset jars) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidNativeLibsInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidNativeLibsInfoApi.java
index 27f0738..3926abf 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidNativeLibsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidNativeLibsInfoApi.java
@@ -13,13 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -67,7 +67,7 @@
doc = "The native libraries produced by the rule."),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidNativeLibsInfoApi.class)
+ @StarlarkConstructor
AndroidNativeLibsInfoApi<?> createInfo(Depset nativeLibs) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidPreDexJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidPreDexJarProviderApi.java
index 49adc3c..555b695 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidPreDexJarProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidPreDexJarProviderApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -63,7 +63,7 @@
type = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidPreDexJarProviderApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidPreDexJarProviderApi<FileT> createInfo(FileT preDexJar) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidProguardInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidProguardInfoApi.java
index c377a2e..c8f1b4d 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidProguardInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidProguardInfoApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.Sequence;
@@ -65,7 +65,7 @@
generic1 = FileApi.class)
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidProguardInfoApi.class)
+ @StarlarkConstructor
AndroidProguardInfoApi<FileT> createInfo(Sequence<?> localProguardSpecs /* <FileT> */)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidResourcesInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidResourcesInfoApi.java
index 737ce1b..f2071aa 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidResourcesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidResourcesInfoApi.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
@@ -20,7 +21,6 @@
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -221,7 +221,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidResourcesInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
AndroidResourcesInfoApi<FileT, ValidatedAndroidDataT, AndroidManifestInfoT> createInfo(
Label label,
AndroidManifestInfoT manifest,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidSdkProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidSdkProviderApi.java
index b4fc5a2..ce9859b 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidSdkProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/AndroidSdkProviderApi.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.FilesToRunProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
@@ -21,7 +22,6 @@
import javax.annotation.Nullable;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.StarlarkValue;
@@ -253,7 +253,7 @@
type = StarlarkValue.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = AndroidSdkProviderApi.class)
+ @StarlarkConstructor
AndroidSdkProviderApi<FileT, FilesToRunProviderT, TransT> createInfo(
String buildToolsVersion,
FileT frameworkAidl,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/BUILD
index a46c0e6..a945d66 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/BUILD
@@ -20,6 +20,7 @@
name = "android",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
@@ -29,7 +30,6 @@
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/DataBindingV2ProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/DataBindingV2ProviderApi.java
index 482d39e..bb63fa3 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/DataBindingV2ProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/DataBindingV2ProviderApi.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
@@ -21,7 +22,6 @@
import javax.annotation.Nullable;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.Sequence;
@@ -188,7 +188,7 @@
generic1 = DataBindingV2ProviderApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = DataBindingV2ProviderApi.class)
+ @StarlarkConstructor
DataBindingV2ProviderApi<FileT> createInfo(
Object setterStoreFile,
Object classInfoFile,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/ProguardMappingProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/ProguardMappingProviderApi.java
index 1eb2224..07acd73 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/ProguardMappingProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/ProguardMappingProviderApi.java
@@ -13,12 +13,12 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.android;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -62,7 +62,7 @@
type = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = ProguardMappingProviderApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
ProguardMappingProviderApi<FileT> createInfo(FileT proguardMapping) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/UsesDataBindingProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/UsesDataBindingProviderApi.java
index 8acf0f9..c40c4db 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/UsesDataBindingProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android/UsesDataBindingProviderApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.android;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.Sequence;
@@ -69,7 +69,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = UsesDataBindingProviderApi.class)
+ @StarlarkConstructor
UsesDataBindingProviderApi<FileT> createInfo(Sequence<?> metadataOutputs /* <FileT> */)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/AppleStaticLibraryInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/AppleStaticLibraryInfoApi.java
index e096c3f..05c441c 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/AppleStaticLibraryInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/AppleStaticLibraryInfoApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.apple;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -78,7 +78,7 @@
+ "linked into the archive."),
},
selfCall = true)
- @StarlarkConstructor(objectType = AppleStaticLibraryInfoApi.class)
+ @StarlarkConstructor
AppleStaticLibraryInfoApi appleStaticLibrary(FileApiT archive, ObjcProviderApiT objcProvider)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/BUILD
index 1f6687c..7cf9d81 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/BUILD
@@ -21,13 +21,13 @@
srcs = glob(["*.java"]),
deps = [
"//third_party:guava",
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
"//src/main/java/net/starlark/java/annot",
# TODO(b/80307387): Remove dependency on Depset.
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/net/starlark/java/syntax",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/XcodeConfigInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/XcodeConfigInfoApi.java
index 5c1c330..4a1e3cd 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/XcodeConfigInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple/XcodeConfigInfoApi.java
@@ -14,11 +14,11 @@
package com.google.devtools.build.lib.starlarkbuildapi.apple;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
@@ -148,9 +148,7 @@
doc = "The selected Xcode version from this config."),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = XcodeConfigInfoApi.class,
- receiverNameForDoc = "XcodeConfigInfo")
+ @StarlarkConstructor
XcodeConfigInfoApi<?, ?> xcodeConfigInfo(
String iosSdkVersion,
String iosMinimumOsVersion,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config/ConfigGlobalLibraryApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config/ConfigGlobalLibraryApi.java
index 666e587..ecd1820 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config/ConfigGlobalLibraryApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config/ConfigGlobalLibraryApi.java
@@ -15,8 +15,8 @@
package com.google.devtools.build.lib.starlarkbuildapi.config;
import com.google.devtools.build.docgen.annot.DocumentMethods;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import net.starlark.java.annot.Param;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.EvalException;
@@ -95,7 +95,7 @@
+ "a superset of the key set of the dictionary returned by this transition."),
},
useStarlarkThread = true)
- @StarlarkConstructor(objectType = ConfigurationTransitionApi.class)
+ @StarlarkConstructor
ConfigurationTransitionApi transition(
StarlarkCallable implementation,
Sequence<?> inputs, // <String> expected
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/BUILD
index 1ed8449..5b2a6c0 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/BUILD
@@ -24,9 +24,9 @@
name = "core",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
],
)
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/StructApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/StructApi.java
index 40ba2bc..3481cba 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/StructApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core/StructApi.java
@@ -14,9 +14,9 @@
package com.google.devtools.build.lib.starlarkbuildapi.core;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
@@ -104,7 +104,7 @@
doc = "Dictionary of arguments."),
useStarlarkThread = true,
selfCall = true)
- @StarlarkConstructor(objectType = StructApi.class, receiverNameForDoc = "struct")
+ @StarlarkConstructor
StructApi createStruct(Dict<String, Object> kwargs, StarlarkThread thread) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/BUILD
index 129d072..3670256 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/BUILD
@@ -20,6 +20,7 @@
name = "cpp",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
@@ -29,7 +30,6 @@
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java
index 5638629..d9b3cb1 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.starlarkbuildapi.cpp;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.ParamType;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -87,7 +87,7 @@
})
},
selfCall = true)
- @StarlarkConstructor(objectType = CcInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
CcInfoApi<FileT> createInfo(Object ccCompilationContext, Object ccLinkingInfo)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/GoCcLinkParamsInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/GoCcLinkParamsInfoApi.java
index 2917dd3..1a5333a 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/GoCcLinkParamsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/GoCcLinkParamsInfoApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.cpp;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -49,9 +49,7 @@
type = CcLinkingContextApi.class),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = GoCcLinkParamsInfoApi.class,
- receiverNameForDoc = "GoCcLinkParamsInfo")
+ @StarlarkConstructor
public GoCcLinkParamsInfoApi createInfo(CcLinkingContextT ccLinkingContext)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/BUILD
index f6228fc..7c731ec 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/BUILD
@@ -20,6 +20,7 @@
name = "java",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
@@ -29,7 +30,6 @@
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
index 64afe59..a443130 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.java;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
@@ -20,7 +21,6 @@
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -91,9 +91,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(
- objectType = GeneratedExtensionRegistryProviderApi.class,
- receiverNameForDoc = NAME)
+ @StarlarkConstructor
GeneratedExtensionRegistryProviderApi<FileT> create(
Label generatingRuleLabel, boolean isLite, FileT classJar, FileT srcJar, Depset inputs)
throws EvalException;
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaCcLinkParamsProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaCcLinkParamsProviderApi.java
index 7b27939..5614178 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaCcLinkParamsProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaCcLinkParamsProviderApi.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.starlarkbuildapi.java;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.cpp.CcInfoApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -74,7 +74,7 @@
type = CcInfoApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = JavaCcLinkParamsProviderApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
public JavaCcLinkParamsProviderApi<FileT, CcInfoApiT> createInfo(CcInfoApiT store)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaInfoApi.java
index 3dcf336..4ac53bc 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaInfoApi.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.starlarkbuildapi.java;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -236,7 +236,7 @@
},
selfCall = true,
useStarlarkThread = true)
- @StarlarkConstructor(objectType = JavaInfoApi.class, receiverNameForDoc = "JavaInfo")
+ @StarlarkConstructor
JavaInfoApi<?> javaInfo(
FileApi outputJarApi,
Object compileJarApi,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaNativeLibraryInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaNativeLibraryInfoApi.java
index 279a8e5..ab5d4e4 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaNativeLibraryInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaNativeLibraryInfoApi.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlarkbuildapi.java;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
@@ -22,7 +23,6 @@
import com.google.devtools.build.lib.starlarkbuildapi.cpp.LibraryToLinkApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -76,7 +76,7 @@
generic1 = LibraryToLinkApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = JavaNativeLibraryInfoApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
JavaNativeLibraryInfoApi<FileT, LibraryToLinkT> create(Depset transitiveLibraries)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/ProguardSpecProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/ProguardSpecProviderApi.java
index 3d49b1c..dfc56e6 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/ProguardSpecProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/ProguardSpecProviderApi.java
@@ -13,13 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.starlarkbuildapi.java;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -53,7 +53,7 @@
generic1 = FileApi.class),
},
selfCall = true)
- @StarlarkConstructor(objectType = ProguardSpecProviderApi.class, receiverNameForDoc = NAME)
+ @StarlarkConstructor
ProguardSpecProviderApi<FileT> create(Depset specs) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/BUILD
index 0f382f6..49bc741 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/BUILD
@@ -20,12 +20,12 @@
name = "javascript",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
],
)
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/JsModuleInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/JsModuleInfoApi.java
index 6425b66..353f6c9 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/JsModuleInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/javascript/JsModuleInfoApi.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlarkbuildapi.javascript;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
@@ -21,7 +22,6 @@
import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -100,7 +100,7 @@
},
selfCall = true,
enableOnlyWithFlag = BuildLanguageOptions.EXPERIMENTAL_GOOGLE_LEGACY_API)
- @StarlarkConstructor(objectType = JsModuleInfoApi.class, receiverNameForDoc = "JsModuleInfo")
+ @StarlarkConstructor
JsModuleInfoApi<?> jsModuleInfo(
Label label,
String wrapper,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/BUILD
index 2c02ccd..081ddc6 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/BUILD
@@ -20,12 +20,12 @@
name = "platform",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/PlatformInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/PlatformInfoApi.java
index 8292d5f..f757afe 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/PlatformInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/PlatformInfoApi.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlarkbuildapi.platform;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
@@ -21,7 +22,6 @@
import java.util.Map;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
@@ -124,7 +124,7 @@
selfCall = true,
useStarlarkThread = true,
enableOnlyWithFlag = BuildLanguageOptions.EXPERIMENTAL_PLATFORMS_API)
- @StarlarkConstructor(objectType = PlatformInfoApi.class, receiverNameForDoc = "PlatformInfo")
+ @StarlarkConstructor
PlatformInfoT platformInfo(
Label label,
Object parent,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/BUILD
index 8694043..01b7b2c 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/BUILD
@@ -20,13 +20,13 @@
name = "python",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/docgen/annot",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyInfoApi.java
index a6e6dca..ef99e56 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyInfoApi.java
@@ -14,12 +14,12 @@
package com.google.devtools.build.lib.starlarkbuildapi.python;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -123,7 +123,7 @@
},
selfCall = true,
useStarlarkThread = true)
- @StarlarkConstructor(objectType = PyInfoApi.class, receiverNameForDoc = "PyInfo")
+ @StarlarkConstructor
PyInfoApi<?> constructor(
Depset transitiveSources,
boolean usesSharedLibraries,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java
index 52983c7..b4b8cf5 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.starlarkbuildapi.python;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import javax.annotation.Nullable;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkDocumentationCategory;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.EvalException;
@@ -136,7 +136,7 @@
},
useStarlarkThread = true,
selfCall = true)
- @StarlarkConstructor(objectType = PyRuntimeInfoApi.class, receiverNameForDoc = "PyRuntimeInfo")
+ @StarlarkConstructor
PyRuntimeInfoApi<?> constructor(
Object interpreterPathUncast,
Object interpreterUncast,
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/AnalysisTestResultInfoApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/AnalysisTestResultInfoApi.java
index 631daa0..59f6312 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/AnalysisTestResultInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/AnalysisTestResultInfoApi.java
@@ -14,10 +14,10 @@
package com.google.devtools.build.lib.starlarkbuildapi.test;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.StarlarkValue;
@@ -73,9 +73,7 @@
+ "success/failure.")
},
selfCall = true)
- @StarlarkConstructor(
- objectType = AnalysisTestResultInfoApi.class,
- receiverNameForDoc = "AnalysisTestResultInfo")
+ @StarlarkConstructor
AnalysisTestResultInfoApi testResultInfo(Boolean success, String message);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/BUILD
index 1ec4920..7ea3da4 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test/BUILD
@@ -21,13 +21,13 @@
srcs = glob(["*.java"]),
deps = [
"//third_party:guava",
+ "//src/main/java/com/google/devtools/build/docgen/annot",
# TODO(b/80307387): Remove dependency on Label implementation.
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
"//src/main/java/net/starlark/java/annot",
- "//src/main/java/net/starlark/java/syntax",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
],
diff --git a/src/main/java/net/starlark/java/annot/StarlarkConstructor.java b/src/main/java/net/starlark/java/annot/StarlarkConstructor.java
deleted file mode 100644
index 734761b..0000000
--- a/src/main/java/net/starlark/java/annot/StarlarkConstructor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package net.starlark.java.annot;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * An annotation to mark {@link StarlarkMethod}-annotated methods as representing top-level
- * constructors for other Starlark objects. This is used only for documentation purposes.
- *
- * <p>For example, a "Foo" type Starlark object might be constructable at the top level using a
- * global callable "Foo()". One can annotate that callable with this annotation to ensure that the
- * documentation for "Foo()" appears alongside the documentation for the Foo type, and not the
- * available globals.
- */
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface StarlarkConstructor {
-
- /** The java class of the Starlark type that this annotation's method is a constructor for. */
- Class<?> objectType();
-
- /**
- * If non-empty, documents the way to invoke this function from the top level.
- *
- * <p>For example, if this constructs objects of type Foo, and this value is set to "Bar.Baz",
- * then the documentation for the method signature will appear as "Foo Bar.Baz(...)".
- */
- String receiverNameForDoc() default "";
-}
diff --git a/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
index 485b817..01e17d5 100644
--- a/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
@@ -19,6 +19,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.docgen.annot.DocumentMethods;
+import com.google.devtools.build.docgen.annot.StarlarkConstructor;
import com.google.devtools.build.docgen.starlark.StarlarkBuiltinDoc;
import com.google.devtools.build.docgen.starlark.StarlarkConstructorMethodDoc;
import com.google.devtools.build.docgen.starlark.StarlarkMethodDoc;
@@ -34,7 +35,6 @@
import java.util.stream.Collectors;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
-import net.starlark.java.annot.StarlarkConstructor;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.Sequence;
@@ -322,7 +322,7 @@
}
@StarlarkMethod(name = "makeMockClassA", selfCall = true, doc = "makeMockClassA")
- @StarlarkConstructor(objectType = MockClassA.class, receiverNameForDoc = "MockClassA")
+ @StarlarkConstructor
public MockClassA makeMockClassA() {
return new MockClassA();
}