force LoadHookContext to specify module type

Modules created by a LoadHookContext do not currently set a module type
when creating new modules, but it would make analysis of the
module-graph.json much easier if this module type information was available.

Bug: 174879786
Test: m json-module-graph && check that module which previously had a
    blank module type now have the field populated
Change-Id: Ie2fa4244113b6254e6678da9a663d883e2a48a41
This commit is contained in:
Sam Delmerico 2022-03-09 20:50:48 +00:00
parent 5860caea33
commit 518966d09e

View file

@ -1288,20 +1288,21 @@ type LoadHookContext interface {
// CreateModule creates a new module by calling the factory method for the specified moduleType, and applies // CreateModule creates a new module by calling the factory method for the specified moduleType, and applies
// the specified property structs to it as if the properties were set in a blueprint file. // the specified property structs to it as if the properties were set in a blueprint file.
CreateModule(ModuleFactory, ...interface{}) Module CreateModule(ModuleFactory, string, ...interface{}) Module
// RegisterScopedModuleType creates a new module type that is scoped to the current Blueprints // RegisterScopedModuleType creates a new module type that is scoped to the current Blueprints
// file. // file.
RegisterScopedModuleType(name string, factory ModuleFactory) RegisterScopedModuleType(name string, factory ModuleFactory)
} }
func (l *loadHookContext) CreateModule(factory ModuleFactory, props ...interface{}) Module { func (l *loadHookContext) CreateModule(factory ModuleFactory, typeName string, props ...interface{}) Module {
module := newModule(factory) module := newModule(factory)
module.relBlueprintsFile = l.module.relBlueprintsFile module.relBlueprintsFile = l.module.relBlueprintsFile
module.pos = l.module.pos module.pos = l.module.pos
module.propertyPos = l.module.propertyPos module.propertyPos = l.module.propertyPos
module.createdBy = l.module module.createdBy = l.module
module.typeName = typeName
for _, p := range props { for _, p := range props {
err := proptools.AppendMatchingProperties(module.properties, p, nil) err := proptools.AppendMatchingProperties(module.properties, p, nil)