diff options
Diffstat (limited to 'src/js_ast.zig')
-rw-r--r-- | src/js_ast.zig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig index 9173ce6eb..5c95b8f5e 100644 --- a/src/js_ast.zig +++ b/src/js_ast.zig @@ -4949,6 +4949,21 @@ pub const S = struct { pub const ExportDefault = struct { default_name: LocRef, // value may be a SFunction or SClass value: StmtOrExpr, + + pub fn canBeMovedAround(self: ExportDefault) bool { + return switch (self.value) { + .expr => |e| switch (e.data) { + .e_class => |class| class.extends == null, + .e_arrow, .e_function => true, + else => e.canBeConstValue(), + }, + .stmt => |s| switch (s.data) { + .s_class => |class| class.class.extends == null, + .s_function => true, + else => false, + }, + }; + } }; pub const Enum = struct { |