Fix hot restart / reload tests (#1288)
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 32b927a..8c9774c 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -22784,7 +22784,8 @@
var t1;
H._asStringS(module);
t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module);
- return t1 == null ? null : J.cast$1$0$ax(t1, type$.legacy_String);
+ t1 = t1 == null ? null : J.cast$1$0$ax(t1, type$.legacy_String);
+ return t1 == null ? H.setRuntimeTypeInfo([], type$.JSArray_legacy_String) : t1;
},
_moduleTopologicalCompare$2: function(module1, module2) {
var t1, order1, order2, t2, topological;
@@ -22805,7 +22806,7 @@
_reload$body$RequireRestarter: function(modules) {
var $async$goto = 0,
$async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
- $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception;
+ $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, exception, t1, $async$exception;
var $async$_reload$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
if ($async$errorCode === 1) {
$async$currentError = $async$result;
@@ -22835,41 +22836,42 @@
$async$handler = 7;
$async$self._dirtyModules.addAll$1(0, modules);
previousModuleId = null;
- t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.legacy_String, t3 = type$.JSArray_legacy_Object, t4 = type$.legacy_dynamic_Function;
+ t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.legacy_String, t3 = type$.JSArray_legacy_String, t4 = type$.JSArray_legacy_Object, t5 = type$.legacy_dynamic_Function;
case 10:
// for condition
- if (!(t5 = $async$self._dirtyModules, t5._root != null)) {
+ if (!(t6 = $async$self._dirtyModules, t6._root != null)) {
// goto after for
$async$goto = 11;
break;
}
- if (t5._count === 0)
+ if (t6._count === 0)
H.throwExpression(H.IterableElementError_noElement());
- moduleId = t5.get$_collection$_first().key;
+ moduleId = t6.get$_collection$_first().key;
$async$self._dirtyModules.remove$1(0, moduleId);
- t5 = H._asStringS(moduleId);
- t5 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t5);
- parentIds = t5 == null ? null : J.cast$1$0$ax(t5, t2);
+ t6 = H._asStringS(moduleId);
+ t6 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t6);
+ t6 = t6 == null ? null : J.cast$1$0$ax(t6, t2);
+ parentIds = t6 == null ? H.setRuntimeTypeInfo([], t3) : t6;
$async$goto = parentIds == null || J.get$isEmpty$asx(parentIds) ? 12 : 14;
break;
case 12:
// then
- t5 = self.$loadModuleConfig.call$1("dart_sdk").dart;
- childModule = t5.getModuleLibraries.apply(t5, H.setRuntimeTypeInfo([previousModuleId], t3));
- self.$dartRunMain = P.allowInterop(new X.RequireRestarter__reload_closure(childModule), t4);
+ t6 = self.$loadModuleConfig.call$1("dart_sdk").dart;
+ childModule = t6.getModuleLibraries.apply(t6, H.setRuntimeTypeInfo([previousModuleId], t4));
+ self.$dartRunMain = P.allowInterop(new X.RequireRestarter__reload_closure(childModule), t5);
// goto join
$async$goto = 13;
break;
case 14:
// else
- t5 = reloadedModules;
- if (typeof t5 !== "number") {
- $async$returnValue = t5.$add();
+ t6 = reloadedModules;
+ if (typeof t6 !== "number") {
+ $async$returnValue = t6.$add();
// goto return
$async$goto = 1;
break;
}
- reloadedModules = t5 + 1;
+ reloadedModules = t6 + 1;
$async$goto = 15;
return P._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
case 15:
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 04cd011..a69b90a 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -146,7 +146,7 @@
}
List<String> _moduleParents(String module) =>
- requireLoader.moduleParentsGraph.get(module)?.cast();
+ requireLoader.moduleParentsGraph.get(module)?.cast() ?? [];
int _moduleTopologicalCompare(String module1, String module2) {
var topological = 0;