[visitors] Visit loop body before update

This commit is contained in:
Mofei Zhang
2024-03-27 20:26:16 -04:00
parent 1515cb3218
commit 877c490fa3
2 changed files with 2 additions and 2 deletions
@@ -681,10 +681,10 @@ class PropagationVisitor extends ReactiveFunctionVisitor<Context> {
this.visitReactiveValue(context, terminal.id, terminal.init);
this.visitReactiveValue(context, terminal.id, terminal.test);
context.enterConditional(() => {
this.visitBlock(terminal.loop, context);
if (terminal.update !== null) {
this.visitReactiveValue(context, terminal.id, terminal.update);
}
this.visitBlock(terminal.loop, context);
});
break;
}
@@ -124,10 +124,10 @@ export class ReactiveFunctionVisitor<TState = void> {
case "for": {
this.visitValue(terminal.id, terminal.init, state);
this.visitValue(terminal.id, terminal.test, state);
this.visitBlock(terminal.loop, state);
if (terminal.update !== null) {
this.visitValue(terminal.id, terminal.update, state);
}
this.visitBlock(terminal.loop, state);
break;
}
case "for-of": {