From a6389e975e40f3b03fe8af745954dbaf35ab6bfb Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 22 Jun 2022 16:44:07 -0700 Subject: [PATCH] Make all Nameless modules have unique names Nameless modules still have to have unique names to avoid collisions when sorting by name. Give them all pointer suffixes, and rename NamelessModule to NamespacelessModule Fixes: 235475711 Test: soong_config_modules_test.go Change-Id: Ib2d34e8bcbb4f988bf00c1012511494f54d9a53e --- android/namespace.go | 10 +++++----- android/soong_config_modules.go | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/android/namespace.go b/android/namespace.go index fc7bc290f..a3ff76125 100644 --- a/android/namespace.go +++ b/android/namespace.go @@ -166,10 +166,10 @@ func (r *NameResolver) findNamespace(path string) (namespace *Namespace) { return namespace } -// A NamelessModule can never be looked up by name. It must still implement Name(), but the return -// value doesn't have to be unique. -type NamelessModule interface { - Nameless() +// A NamespacelessModule can never be looked up by name. It must still implement Name(), and the name +// still has to be unique. +type NamespacelessModule interface { + Namespaceless() } func (r *NameResolver) NewModule(ctx blueprint.NamespaceContext, moduleGroup blueprint.ModuleGroup, module blueprint.Module) (namespace blueprint.Namespace, errs []error) { @@ -183,7 +183,7 @@ func (r *NameResolver) NewModule(ctx blueprint.NamespaceContext, moduleGroup blu return nil, nil } - if _, ok := module.(NamelessModule); ok { + if _, ok := module.(NamespacelessModule); ok { return nil, nil } diff --git a/android/soong_config_modules.go b/android/soong_config_modules.go index bd7364582..df12e0a89 100644 --- a/android/soong_config_modules.go +++ b/android/soong_config_modules.go @@ -172,7 +172,7 @@ func (m *soongConfigModuleTypeImport) Name() string { "soong_config_module_type_import_" + fmt.Sprintf("%p", m) } -func (*soongConfigModuleTypeImport) Nameless() {} +func (*soongConfigModuleTypeImport) Namespaceless() {} func (*soongConfigModuleTypeImport) GenerateAndroidBuildActions(ModuleContext) {} // Create dummy modules for soong_config_module_type and soong_config_*_variable @@ -279,9 +279,9 @@ func SoongConfigModuleTypeFactory() Module { } func (m *soongConfigModuleTypeModule) Name() string { - return m.properties.Name + return m.properties.Name + fmt.Sprintf("%p", m) } -func (*soongConfigModuleTypeModule) Nameless() {} +func (*soongConfigModuleTypeModule) Namespaceless() {} func (*soongConfigModuleTypeModule) GenerateAndroidBuildActions(ctx ModuleContext) {} type soongConfigStringVariableDummyModule struct { @@ -314,15 +314,15 @@ func SoongConfigBoolVariableDummyFactory() Module { } func (m *soongConfigStringVariableDummyModule) Name() string { - return m.properties.Name + return m.properties.Name + fmt.Sprintf("%p", m) } -func (*soongConfigStringVariableDummyModule) Nameless() {} +func (*soongConfigStringVariableDummyModule) Namespaceless() {} func (*soongConfigStringVariableDummyModule) GenerateAndroidBuildActions(ctx ModuleContext) {} func (m *soongConfigBoolVariableDummyModule) Name() string { - return m.properties.Name + return m.properties.Name + fmt.Sprintf("%p", m) } -func (*soongConfigBoolVariableDummyModule) Nameless() {} +func (*soongConfigBoolVariableDummyModule) Namespaceless() {} func (*soongConfigBoolVariableDummyModule) GenerateAndroidBuildActions(ctx ModuleContext) {} // importModuleTypes registers the module factories for a list of module types defined