|
|
|
|
@ -70,8 +70,7 @@ export function RegularElement(node, context) {
|
|
|
|
|
if (optimiser.expressions.length > 0) {
|
|
|
|
|
context.state.template.push(
|
|
|
|
|
create_child_block(
|
|
|
|
|
b.block([optimiser.apply(), ...state.init, ...build_template(state.template)]),
|
|
|
|
|
true
|
|
|
|
|
b.block([optimiser.apply(), ...state.init, ...build_template(state.template)])
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
@ -133,7 +132,7 @@ export function RegularElement(node, context) {
|
|
|
|
|
|
|
|
|
|
if (optimiser.expressions.length > 0) {
|
|
|
|
|
context.state.template.push(
|
|
|
|
|
create_child_block(b.block([optimiser.apply(), ...state.init, statement]), true)
|
|
|
|
|
create_child_block(b.block([optimiser.apply(), ...state.init, statement]))
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
context.state.template.push(...state.init, statement);
|
|
|
|
|
@ -186,7 +185,7 @@ export function RegularElement(node, context) {
|
|
|
|
|
|
|
|
|
|
if (optimiser.expressions.length > 0) {
|
|
|
|
|
context.state.template.push(
|
|
|
|
|
create_child_block(b.block([optimiser.apply(), ...state.init, statement]), true)
|
|
|
|
|
create_child_block(b.block([optimiser.apply(), ...state.init, statement]))
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
context.state.template.push(...state.init, statement);
|
|
|
|
|
@ -236,18 +235,19 @@ export function RegularElement(node, context) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (optimiser.is_async()) {
|
|
|
|
|
let statement = create_child_block(
|
|
|
|
|
b.block([optimiser.apply(), ...state.init, ...build_template(state.template)]),
|
|
|
|
|
true
|
|
|
|
|
);
|
|
|
|
|
let statements = [...state.init, ...build_template(state.template)];
|
|
|
|
|
|
|
|
|
|
if (optimiser.has_await) {
|
|
|
|
|
statements = [create_child_block(b.block([optimiser.apply(), ...statements]))];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const blockers = optimiser.blockers();
|
|
|
|
|
|
|
|
|
|
if (blockers.elements.length > 0) {
|
|
|
|
|
statement = create_async_block(b.block([statement]), blockers, false, false);
|
|
|
|
|
statements = [create_async_block(b.block(statements), blockers, false, false)];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
context.state.template.push(statement);
|
|
|
|
|
context.state.template.push(...statements);
|
|
|
|
|
} else {
|
|
|
|
|
context.state.init.push(...state.init);
|
|
|
|
|
context.state.template.push(...state.template);
|
|
|
|
|
|