summaryrefslogtreecommitdiff
path: root/android/provider.go
diff options
context:
space:
mode:
author Yu Liu <yudiliu@google.com> 2024-08-12 18:23:59 +0000
committer Yu Liu <yudiliu@google.com> 2024-08-12 22:50:19 +0000
commit663e4508dc4fe228696ede997d5fca24e4c1431e (patch)
tree9b7af2c4054009b226b492484224bc598f4d7ae8 /android/provider.go
parent703c2e3d64aff7950a8485a2c46fe15b0f91d89e (diff)
Merge SingletonProviderContext with OtherModuleProviderContext
Bug: 358425833 Test: CI Change-Id: I8e3f40dc3cfc5337008b419801f8e6bf2d48e8b2
Diffstat (limited to 'android/provider.go')
-rw-r--r--android/provider.go22
1 files changed, 2 insertions, 20 deletions
diff --git a/android/provider.go b/android/provider.go
index 3b9c5d2ba..327f224f7 100644
--- a/android/provider.go
+++ b/android/provider.go
@@ -14,6 +14,8 @@ var _ OtherModuleProviderContext = BaseModuleContext(nil)
var _ OtherModuleProviderContext = ModuleContext(nil)
var _ OtherModuleProviderContext = BottomUpMutatorContext(nil)
var _ OtherModuleProviderContext = TopDownMutatorContext(nil)
+var _ OtherModuleProviderContext = SingletonContext(nil)
+var _ OtherModuleProviderContext = (*TestContext)(nil)
// OtherModuleProvider reads the provider for the given module. If the provider has been set the value is
// returned and the boolean is true. If it has not been set the zero value of the provider's type is returned
@@ -56,26 +58,6 @@ func ModuleProvider[K any](ctx ModuleProviderContext, provider blueprint.Provide
return value.(K), ok
}
-type SingletonModuleProviderContext interface {
- moduleProvider(blueprint.Module, blueprint.AnyProviderKey) (any, bool)
-}
-
-var _ SingletonModuleProviderContext = SingletonContext(nil)
-var _ SingletonModuleProviderContext = (*TestContext)(nil)
-
-// SingletonModuleProvider wraps blueprint.SingletonModuleProvider to provide a type-safe method to retrieve the value
-// of the given provider from a module using a SingletonContext. If the provider has not been set the first return
-// value will be the zero value of the provider's type, and the second return value will be false. If the provider has
-// been set the second return value will be true.
-func SingletonModuleProvider[K any](ctx SingletonModuleProviderContext, module blueprint.Module, provider blueprint.ProviderKey[K]) (K, bool) {
- value, ok := ctx.moduleProvider(module, provider)
- if !ok {
- var k K
- return k, false
- }
- return value.(K), ok
-}
-
// SetProviderContext is a helper interface that is a subset of ModuleContext, BottomUpMutatorContext, or
// TopDownMutatorContext for use in SetProvider.
type SetProviderContext interface {