RuntimeRebindRegistratorGenerator runtimeRebindRegistratorGenerator =
new RuntimeRebindRegistratorGenerator();
StandardGeneratorContext generatorContext = getGeneratorContext();
// Name based on module canonical name, to avoid collisions resulting from multiple modules
// with the same rename.
String runtimeRebindRegistratorTypeName = runtimeRebindRegistratorGenerator.generate(logger,
generatorContext, module.getCanonicalName());
// Ensures that unification traverses and keeps the class.
allRootTypes.add(runtimeRebindRegistratorTypeName);
// Ensures that JProgram knows to index this class's methods so that later bootstrap
// construction code is able to locate the FooRuntimeRebindRegistrator.register() function.