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};
}
}