@@ -807,7 +807,7 @@ fn gen_class_decl<'a>(node: &ClassDecl<'a>, context: &mut Context<'a>) -> PrintI
807
807
node : node. into ( ) ,
808
808
member_node : node. class . into ( ) ,
809
809
decorators : node. class . decorators ,
810
- is_class_expr : false ,
810
+ is_class_decl : true ,
811
811
is_declare : node. declare ( ) ,
812
812
is_abstract : node. class . is_abstract ( ) ,
813
813
ident : Some ( node. ident . into ( ) ) ,
@@ -826,7 +826,7 @@ struct ClassDeclOrExpr<'a> {
826
826
node : Node < ' a > ,
827
827
member_node : Node < ' a > ,
828
828
decorators : & ' a [ & ' a Decorator < ' a > ] ,
829
- is_class_expr : bool ,
829
+ is_class_decl : bool ,
830
830
is_declare : bool ,
831
831
is_abstract : bool ,
832
832
ident : Option < Node < ' a > > ,
@@ -845,7 +845,8 @@ fn gen_class_decl_or_expr<'a>(node: ClassDeclOrExpr<'a>, context: &mut Context<'
845
845
// generate decorators
846
846
let parent_kind = node. node . parent ( ) . unwrap ( ) . kind ( ) ;
847
847
if parent_kind != NodeKind :: ExportDecl && parent_kind != NodeKind :: ExportDefaultDecl {
848
- items. extend ( gen_decorators ( node. decorators , node. is_class_expr , context) ) ;
848
+ let is_inline = !node. is_class_decl ;
849
+ items. extend ( gen_decorators ( node. decorators , is_inline, context) ) ;
849
850
}
850
851
851
852
// generate header and body
@@ -920,7 +921,9 @@ fn gen_class_decl_or_expr<'a>(node: ClassDeclOrExpr<'a>, context: &mut Context<'
920
921
} ,
921
922
) ) ;
922
923
923
- if node. is_class_expr {
924
+ if node. is_class_decl {
925
+ items
926
+ } else {
924
927
let items = items. into_rc_path ( ) ;
925
928
if_true_or (
926
929
"classExprConditionalIndent" ,
@@ -935,8 +938,6 @@ fn gen_class_decl_or_expr<'a>(node: ClassDeclOrExpr<'a>, context: &mut Context<'
935
938
items. into ( ) ,
936
939
)
937
940
. into ( )
938
- } else {
939
- items
940
941
}
941
942
}
942
943
@@ -2266,12 +2267,13 @@ fn gen_import_callee<'a>(node: &Import<'a>, _context: &mut Context<'a>) -> Print
2266
2267
}
2267
2268
2268
2269
fn gen_class_expr < ' a > ( node : & ClassExpr < ' a > , context : & mut Context < ' a > ) -> PrintItems {
2270
+ let is_class_decl = node. parent ( ) . kind ( ) == NodeKind :: ExportDefaultDecl && node. ident . is_some ( ) ;
2269
2271
gen_class_decl_or_expr (
2270
2272
ClassDeclOrExpr {
2271
2273
node : node. into ( ) ,
2272
2274
member_node : node. class . into ( ) ,
2273
2275
decorators : node. class . decorators ,
2274
- is_class_expr : true ,
2276
+ is_class_decl ,
2275
2277
is_declare : false ,
2276
2278
is_abstract : node. class . is_abstract ( ) ,
2277
2279
ident : node. ident . map ( |x| x. into ( ) ) ,
@@ -2280,7 +2282,11 @@ fn gen_class_expr<'a>(node: &ClassExpr<'a>, context: &mut Context<'a>) -> PrintI
2280
2282
super_type_params : node. class . super_type_params . map ( |x| x. into ( ) ) ,
2281
2283
implements : node. class . implements . iter ( ) . map ( |& x| x. into ( ) ) . collect ( ) ,
2282
2284
members : node. class . body . iter ( ) . map ( |x| x. into ( ) ) . collect ( ) ,
2283
- brace_position : context. config . class_expression_brace_position ,
2285
+ brace_position : if is_class_decl {
2286
+ context. config . class_declaration_brace_position
2287
+ } else {
2288
+ context. config . class_expression_brace_position
2289
+ } ,
2284
2290
} ,
2285
2291
context,
2286
2292
)
0 commit comments