diff options
author | Googler <noreply@google.com> | 2018-08-14 09:26:27 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-14 09:27:46 -0700 |
commit | 677fa3104485b54d93fc319aa004d8a6f80296a8 (patch) | |
tree | 095b4e01fcfa0489b31910393fc20743fb238f5c /src/main/java/com/google | |
parent | 9a933772e87dfcf684590eb74eee9970e8b66669 (diff) |
Export constructors as global symbols.
This CL also includes a fix for constructor names from the "Provider" module. Naming does not include the module's name now. (Provider.AndroidAssetsInfo() -> AndroidAssetsInfo())
RELNOTES: None
PiperOrigin-RevId: 208658905
Diffstat (limited to 'src/main/java/com/google')
11 files changed, 34 insertions, 23 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 a0124d251d..97050a7d67 100644 --- a/src/main/java/com/google/devtools/build/docgen/ApiExporter.java +++ b/src/main/java/com/google/devtools/build/docgen/ApiExporter.java @@ -18,6 +18,7 @@ import com.google.devtools.build.docgen.builtin.BuiltinProtos.Callable; import com.google.devtools.build.docgen.builtin.BuiltinProtos.Param; import com.google.devtools.build.docgen.builtin.BuiltinProtos.Type; import com.google.devtools.build.docgen.builtin.BuiltinProtos.Value; +import com.google.devtools.build.docgen.skylark.SkylarkConstructorMethodDoc; import com.google.devtools.build.docgen.skylark.SkylarkMethodDoc; import com.google.devtools.build.docgen.skylark.SkylarkModuleDoc; import com.google.devtools.build.docgen.skylark.SkylarkParamDoc; @@ -50,7 +51,12 @@ public class ApiExporter { type.setName(mod.getName()); type.setDoc(mod.getDocumentation()); for (SkylarkMethodDoc meth : mod.getJavaMethods()) { - type.addField(collectFieldInfo(meth)); + // Constructors should be exported as globals. + if (meth instanceof SkylarkConstructorMethodDoc) { + builtins.addGlobal(collectFieldInfo(meth)); + } else { + type.addField(collectFieldInfo(meth)); + } } builtins.addType(type); diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java index 2263fa73f9..85ee70c042 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java @@ -149,7 +149,7 @@ public interface AndroidAssetsInfoApi<FileT extends FileApi, AssetsT extends Par generic1 = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidAssetsInfoApi.class) + @SkylarkConstructor(objectType = AndroidAssetsInfoApi.class, receiverNameForDoc = NAME) public AndroidAssetsInfoApi<FileT, AssetsT> createInfo( Label label, FileT validationResult, diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java index 7f55e28e76..a60c509e81 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java @@ -53,7 +53,9 @@ public interface AndroidCcLinkParamsProviderApi<T extends CcLinkingInfoApi> exte type = CcLinkingInfoApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidCcLinkParamsProviderApi.class) + @SkylarkConstructor( + objectType = AndroidCcLinkParamsProviderApi.class, + receiverNameForDoc = NAME) public AndroidCcLinkParamsProviderApi<T> createInfo(T store) throws EvalException; } } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java index 2a7ec22380..ffcf8cec50 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java @@ -56,7 +56,9 @@ public interface AndroidFeatureFlagSetProviderApi extends StructApi { type = SkylarkDict.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidFeatureFlagSetProviderApi.class) + @SkylarkConstructor( + objectType = AndroidFeatureFlagSetProviderApi.class, + receiverNameForDoc = NAME) AndroidFeatureFlagSetProviderApi create(SkylarkDict<Label, String> flags) throws EvalException; } } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java index 1278e0780e..36900f74cb 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java @@ -108,7 +108,7 @@ public interface AndroidIdlProviderApi<FileT extends FileApi> extends StructApi generic1 = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidIdlProviderApi.class) + @SkylarkConstructor(objectType = AndroidIdlProviderApi.class, receiverNameForDoc = NAME) AndroidIdlProviderApi<FileT> createInfo( SkylarkNestedSet transitiveIdlImportRoots, SkylarkNestedSet transitiveIdlImports, diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java index 4c70937abb..6dc2c380dd 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java @@ -58,20 +58,19 @@ public interface AndroidInstrumentationInfoApi<FileT extends FileApi> extends St name = "AndroidInstrumentationInfo", doc = "The <code>AndroidInstrumentationInfo</code> constructor.", parameters = { - @Param( - name = "target_apk", - type = FileApi.class, - named = true, - doc = "The target APK of the instrumentation test." - ), - @Param( - name = "instrumentation_apk", - type = FileApi.class, - named = true, - doc = "The instrumentation APK that should be executed." - )}, + @Param( + name = "target_apk", + type = FileApi.class, + named = true, + doc = "The target APK of the instrumentation test."), + @Param( + name = "instrumentation_apk", + type = FileApi.class, + named = true, + doc = "The instrumentation APK that should be executed.") + }, selfCall = true) - @SkylarkConstructor(objectType = AndroidInstrumentationInfoApi.class) + @SkylarkConstructor(objectType = AndroidInstrumentationInfoApi.class, receiverNameForDoc = NAME) public AndroidInstrumentationInfoApi<FileT> createInfo( FileT targetApk, FileT instrumentationApk) throws EvalException; } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java index 4cdb1f3e2f..1542ed0a5b 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java @@ -55,7 +55,9 @@ public interface AndroidLibraryResourceClassJarProviderApi<FileT extends FileApi generic1 = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidLibraryResourceClassJarProviderApi.class) + @SkylarkConstructor( + objectType = AndroidLibraryResourceClassJarProviderApi.class, + receiverNameForDoc = NAME) AndroidLibraryResourceClassJarProviderApi<FileT> create(SkylarkNestedSet jars) throws EvalException; } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java index 404fa8f0c5..a6007a0de4 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java @@ -53,7 +53,7 @@ public interface AndroidPreDexJarProviderApi<FileT extends FileApi> extends Stru type = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidPreDexJarProviderApi.class) + @SkylarkConstructor(objectType = AndroidPreDexJarProviderApi.class, receiverNameForDoc = NAME) public AndroidPreDexJarProviderApi<FileT> createInfo(FileT preDexJar) throws EvalException; } } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java index ea0705a15f..e69ce93809 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java @@ -202,7 +202,7 @@ public interface AndroidResourcesInfoApi< generic1 = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = AndroidResourcesInfoApi.class) + @SkylarkConstructor(objectType = AndroidResourcesInfoApi.class, receiverNameForDoc = NAME) AndroidResourcesInfoApi<FileT, ValidatedAndroidDataT, AndroidManifestT> createInfo( Label label, AndroidManifestT manifest, diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java index 28df971a77..a48a6c3e45 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java @@ -51,7 +51,7 @@ public interface ProguardMappingProviderApi<FileT extends FileApi> extends Struc type = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = ProguardMappingProviderApi.class) + @SkylarkConstructor(objectType = ProguardMappingProviderApi.class, receiverNameForDoc = NAME) public ProguardMappingProviderApi<FileT> createInfo(FileT proguardMapping) throws EvalException; } } diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java index 39b2cafe69..4e20a0fd19 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java @@ -54,7 +54,7 @@ public interface ProguardSpecProviderApi<FileT extends FileApi> extends StructAp generic1 = FileApi.class), }, selfCall = true) - @SkylarkConstructor(objectType = ProguardSpecProviderApi.class) + @SkylarkConstructor(objectType = ProguardSpecProviderApi.class, receiverNameForDoc = NAME) ProguardSpecProviderApi<FileT> create(SkylarkNestedSet specs) throws EvalException; } } |