public void Run(string source) { JavaScriptModuleRecord root = JavaScriptModuleRecord.Initialize( null, rootSpecifier ); root.HostUrl = "<root>"; root.NotifyModuleReadyCallback = NotifyModuleReadyCallback; root.FetchImportedModuleCallBack = FetchImportedModuleCallback; try { root.ParseSource(source); } catch { // Exception gets handled by NotifyModuleReadyCallback } while (moduleParseQueue.Count > 0) { Loader.Debug("Parsing module from queue..."); moduleParseQueue.Dequeue() (); } if (executeRoot != null) { executeRoot(); executeRoot = null; } }