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
This commit is contained in:
Paul Duffin
2021-09-22 11:49:47 +01:00
parent 93b750e2a0
commit 30c830b82a
4 changed files with 45 additions and 35 deletions

View File

@@ -32,7 +32,7 @@ type sdkMemberTraitListProperty struct {
}
// 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 @@ var dynamicSdkMemberTraitsMap android.OncePer
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 @@ func (d *dynamicSdkMemberTraits) createMemberTraitListProperties() interface{} {
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)