Removes usages of SdkMemberTrait/TypeRegistry outside android/sdk.go
In preparation for a refactoring that will dedup the registry code.
Bug: 195754365
Test: m nothing
Change-Id: I93e8485d588f5b4d6b5e2967da5dbef7b6c831ad
diff --git a/sdk/member_trait.go b/sdk/member_trait.go
index 85b3e13..4229ca8 100644
--- a/sdk/member_trait.go
+++ b/sdk/member_trait.go
@@ -32,7 +32,7 @@
}
// Cache of dynamically generated dynamicSdkMemberTraits objects. The key is the pointer
-// to a slice of SdkMemberTrait instances held in android.RegisteredSdkMemberTraits.
+// to a slice of SdkMemberTrait instances returned by android.RegisteredSdkMemberTraits().
var dynamicSdkMemberTraitsMap android.OncePer
// A dynamically generated set of member list properties and associated structure type.
@@ -41,7 +41,7 @@
type dynamicSdkMemberTraits struct {
// The dynamically generated structure type.
//
- // Contains one []string exported field for each android.RegisteredSdkMemberTraits. The name of
+ // Contains one []string exported field for each SdkMemberTrait returned by android.RegisteredSdkMemberTraits(). The name of
// the field is the exported form of the value returned by SdkMemberTrait.SdkPropertyName().
propertiesStructType reflect.Type
@@ -53,14 +53,7 @@
return reflect.New(d.propertiesStructType).Interface()
}
-func getDynamicSdkMemberTraits(registry *android.SdkMemberTraitsRegistry) *dynamicSdkMemberTraits {
-
- // Get a key that uniquely identifies the registry contents.
- key := registry.UniqueOnceKey()
-
- // Get the registered traits.
- registeredTraits := registry.RegisteredTraits()
-
+func getDynamicSdkMemberTraits(key android.OnceKey, registeredTraits []android.SdkMemberTrait) *dynamicSdkMemberTraits {
// Get the cached value, creating new instance if necessary.
return dynamicSdkMemberTraitsMap.Once(key, func() interface{} {
return createDynamicSdkMemberTraits(registeredTraits)
diff --git a/sdk/member_type.go b/sdk/member_type.go
index 9aab61d..10669fe 100644
--- a/sdk/member_type.go
+++ b/sdk/member_type.go
@@ -64,14 +64,7 @@
return reflect.New(d.propertiesStructType).Interface()
}
-func getDynamicSdkMemberTypes(registry *android.SdkMemberTypesRegistry) *dynamicSdkMemberTypes {
-
- // Get a key that uniquely identifies the registry contents.
- key := registry.UniqueOnceKey()
-
- // Get the registered types.
- registeredTypes := registry.RegisteredTypes()
-
+func getDynamicSdkMemberTypes(key android.OnceKey, registeredTypes []android.SdkMemberType) *dynamicSdkMemberTypes {
// Get the cached value, creating new instance if necessary.
return dynamicSdkMemberTypesMap.Once(key, func() interface{} {
return createDynamicSdkMemberTypes(registeredTypes)
diff --git a/sdk/sdk.go b/sdk/sdk.go
index 949a4b4..84c9a96 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -111,19 +111,14 @@
s := &sdk{}
s.properties.Module_exports = moduleExports
// Get the dynamic sdk member type data for the currently registered sdk member types.
- var typeRegistry *android.SdkMemberTypesRegistry
- if moduleExports {
- typeRegistry = android.ModuleExportsMemberTypes
- } else {
- typeRegistry = android.SdkMemberTypes
- }
- s.dynamicSdkMemberTypes = getDynamicSdkMemberTypes(typeRegistry)
+ sdkMemberTypeKey, sdkMemberTypes := android.RegisteredSdkMemberTypes(moduleExports)
+ s.dynamicSdkMemberTypes = getDynamicSdkMemberTypes(sdkMemberTypeKey, sdkMemberTypes)
// Create an instance of the dynamically created struct that contains all the
// properties for the member type specific list properties.
s.dynamicMemberTypeListProperties = s.dynamicSdkMemberTypes.createMemberTypeListProperties()
- traitRegistry := android.RegisteredSdkMemberTraits
- s.dynamicSdkMemberTraits = getDynamicSdkMemberTraits(traitRegistry)
+ sdkMemberTraitsKey, sdkMemberTraits := android.RegisteredSdkMemberTraits()
+ s.dynamicSdkMemberTraits = getDynamicSdkMemberTraits(sdkMemberTraitsKey, sdkMemberTraits)
// Create an instance of the dynamically created struct that contains all the properties for the
// member trait specific list properties.
s.dynamicMemberTraitListProperties = s.dynamicSdkMemberTraits.createMemberTraitListProperties()