mark subtree dynamic in MemberExpression visitor

pull/14359/head
Rich Harris 2 years ago
parent 2d0975782e
commit d0372454e9

@ -52,10 +52,6 @@ export function Attribute(node, context) {
node.metadata.expression.has_state ||= chunk.metadata.expression.has_state;
node.metadata.expression.has_call ||= chunk.metadata.expression.has_call;
node.metadata.expression.can_inline &&= chunk.metadata.expression.can_inline;
if (!node.metadata.expression.can_inline) {
mark_subtree_dynamic(context.path);
}
}
if (is_event_attribute(node)) {

@ -4,6 +4,7 @@ import * as e from '../../../errors.js';
import * as w from '../../../warnings.js';
import { object } from '../../../utils/ast.js';
import { is_pure, is_safe_identifier } from './shared/utils.js';
import { mark_subtree_dynamic } from './shared/fragment.js';
/**
* @param {MemberExpression} node
@ -20,6 +21,8 @@ export function MemberExpression(node, context) {
if (context.state.expression && !is_pure(node, context)) {
context.state.expression.has_state = true;
context.state.expression.can_inline = false;
mark_subtree_dynamic(context.path);
}
if (!is_safe_identifier(node, context.state.scope)) {

Loading…
Cancel
Save