Skip to content

Commit 55ef11d

Browse files
committed
feat(transformer/class-properties): add debug_assertions for declare class
1 parent 04666f6 commit 55ef11d

File tree

1 file changed

+9
-18
lines changed
  • crates/oxc_transformer/src/es2022/class_properties

1 file changed

+9
-18
lines changed

crates/oxc_transformer/src/es2022/class_properties/class.rs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ impl<'a> ClassProperties<'a, '_> {
6161
body: &mut ClassBody<'a>,
6262
ctx: &mut TraverseCtx<'a>,
6363
) {
64-
// Ignore TS class declarations
65-
// TODO: Is this correct?
6664
let Ancestor::ClassBody(class) = ctx.parent() else { unreachable!() };
67-
if *class.declare() {
68-
return;
69-
}
65+
66+
debug_assert!(
67+
!class.declare(),
68+
"`declare` classes have already been removed in TypeScript's enter_statements."
69+
);
7070

7171
// Get basic details about class
7272
let is_declaration = *class.r#type() == ClassType::ClassDeclaration;
@@ -408,11 +408,10 @@ impl<'a> ClassProperties<'a, '_> {
408408
class: &mut Class<'a>,
409409
ctx: &mut TraverseCtx<'a>,
410410
) {
411-
// Ignore TS class declarations
412-
// TODO: Is this correct?
413-
if class.declare {
414-
return;
415-
}
411+
debug_assert!(
412+
!class.declare,
413+
"`declare` classes have already been removed in TypeScript's enter_statements."
414+
);
416415

417416
// Leave class expressions to `transform_class_expression_on_exit`
418417
let class_details = self.current_class();
@@ -566,14 +565,6 @@ impl<'a> ClassProperties<'a, '_> {
566565
expr: &mut Expression<'a>,
567566
ctx: &mut TraverseCtx<'a>,
568567
) {
569-
let Expression::ClassExpression(class) = expr else { unreachable!() };
570-
571-
// Ignore TS class declarations
572-
// TODO: Is this correct?
573-
if class.declare {
574-
return;
575-
}
576-
577568
// Finish transform
578569
let class_details = self.current_class();
579570
if class_details.is_transform_required {

0 commit comments

Comments
 (0)