diff options
author | 2024-07-18 15:36:32 -0700 | |
---|---|---|
committer | 2024-08-07 14:11:43 -0700 | |
commit | 7727c7f0960886b4302d60256576b2daac56354f (patch) | |
tree | f38f9f93ea915bbeeae38ba883512b5fc06c29d5 /java/java.go | |
parent | d40aac13401a7826c31f50598bd1703ef3c75e67 (diff) |
Convert JavaInfoProvider to *JavaInfo
Convert JavaInfoProvider to return a *JavaInfo instead of a JavaInfo.
This will reduce copying when reading the provider, and also allows
JavaInfo to recursively contain a depset of JavaInfos from
dependencies.
Bug: 308016794
Test: go test ./java/...
Flag: EXEMPT refactor
Change-Id: Ibf6d9b797f760ad1fe815d59839839fdfad91733
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/java/java.go b/java/java.go index 1d4fa44f2..ebc4425af 100644 --- a/java/java.go +++ b/java/java.go @@ -315,14 +315,14 @@ type JavaInfo struct { AconfigIntermediateCacheOutputPaths android.Paths } -var JavaInfoProvider = blueprint.NewProvider[JavaInfo]() +var JavaInfoProvider = blueprint.NewProvider[*JavaInfo]() // SyspropPublicStubInfo contains info about the sysprop public stub library that corresponds to // the sysprop implementation library. type SyspropPublicStubInfo struct { // JavaInfo is the JavaInfoProvider of the sysprop public stub library that corresponds to // the sysprop implementation library. - JavaInfo JavaInfo + JavaInfo *JavaInfo } var SyspropPublicStubInfoProvider = blueprint.NewProvider[SyspropPublicStubInfo]() @@ -2249,14 +2249,17 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { } srcFilesInfo = append(srcFilesInfo, provider) case libTag: - provider, _ := android.OtherModuleProvider(ctx, dep, JavaInfoProvider) - classPaths = append(classPaths, provider.HeaderJars...) + if provider, ok := android.OtherModuleProvider(ctx, dep, JavaInfoProvider); ok { + classPaths = append(classPaths, provider.HeaderJars...) + } case bootClasspathTag: - provider, _ := android.OtherModuleProvider(ctx, dep, JavaInfoProvider) - bootclassPaths = append(bootclassPaths, provider.HeaderJars...) + if provider, ok := android.OtherModuleProvider(ctx, dep, JavaInfoProvider); ok { + bootclassPaths = append(bootclassPaths, provider.HeaderJars...) + } case staticLibTag: - provider, _ := android.OtherModuleProvider(ctx, dep, JavaInfoProvider) - staticLibs = append(staticLibs, provider.HeaderJars...) + if provider, ok := android.OtherModuleProvider(ctx, dep, JavaInfoProvider); ok { + staticLibs = append(staticLibs, provider.HeaderJars...) + } case systemModulesTag: module := dep.(SystemModulesProvider) systemModulesPaths = append(systemModulesPaths, module.HeaderJars()...) @@ -2358,7 +2361,7 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { ctx.Phony(ctx.ModuleName(), al.stubsJar) - android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ + android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(al.stubsJar), ImplementationAndResourcesJars: android.PathsIfNonNil(al.stubsJar), ImplementationJars: android.PathsIfNonNil(al.stubsJar), @@ -2787,7 +2790,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { } } - android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ + android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.combinedHeaderFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, |