Run LoadHooks before registering module
Previously a LoadHook could not modify the name of a module because the module was registered before the LoadHooks were run. That made it very complicated (requiring mutators and auto generated names) to create a module type whose name was determined by say the directory in which it is defined. This change moves the LoadHook execution slightly earlier so it runs before registration of the module. That caused one slight side problem which was that the moduleInfo.Name() would fail when called in a LoadHook. That was because that gets the name from group.name but was group was nil because it is only set when the module is registered. Modifying the moduleInfo.Name() method to get the name from the module logicModule.Name() if group is nil fixed that. The reason for getting the name from the group.name rather than the logicModule.Name() is that the former tracks renames but the latter does not. However that is not an issue in this case as there has been no opportunity for the module to be renamed until after the LoadHook has returned.
Loading
Please register or sign in to comment