import {
ReactiveFunction,
ReactiveScopeBlock,
ReactiveStatement,
} from "../HIR/HIR";
import {
ReactiveFunctionTransform,
Transformed,
visitReactiveFunction,
} from "./visitors";
export function pruneAllReactiveScopes(fn: ReactiveFunction): void {
visitReactiveFunction(fn, new Transform(), undefined);
}
class Transform extends ReactiveFunctionTransform<void> {
override transformScope(
scopeBlock: ReactiveScopeBlock,
state: void
): Transformed<ReactiveStatement> {
this.visitScope(scopeBlock, state);
return { kind: "replace-many", value: scopeBlock.instructions };
}
}