public async Task HotloadInternalAsync(ScriptModule module) { if (module.LoadState != ScriptModuleLoadState.Loading) { return; } // Hotload all of our dependencies foreach (var dependency in _modules.GetDependencies(module)) { await HotloadInternalAsync(dependency); } await _hotloader.HotloadAsync(module, module.IL); // Hotload all of our dependents foreach (var dependent in _modules.GetDependents(module)) { await HotloadInternalAsync(dependent); } module.LoadState = ScriptModuleLoadState.None; }
/// <summary> /// Forces a reload of a single module asynchronously. /// </summary> public async Task ReloadAsync(ScriptModule module) { MarkModuleDirty(module); await CompileInternalAsync(module); await HotloadInternalAsync(module); }