Skip to content

Commit 9ce17ba

Browse files
committed
Remove empty array in the parser output
1 parent 0def6c0 commit 9ce17ba

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

jscomp/syntax/src/res_core.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ let makeUnaryExpr startPos tokenEnd token operand =
440440
[(Nolabel, operand)]
441441
| _ -> operand
442442

443-
let makeArrayExpression loc seq extOpt =
443+
let _makeArrayExpression loc seq extOpt =
444444
let els = Ast_helper.Exp.array ~loc seq
445445
in let expr = (match extOpt with
446446
| None -> els
@@ -4003,7 +4003,8 @@ and parseArrayExp p =
40034003
in
40044004
Parser.expect Rbracket p;
40054005
let loc = mkLoc startPos p.prevEndPos in
4006-
let handleExprs = function
4006+
let collectExprs = function
4007+
| [], Some spread, _startPos, _endPos -> [spread]
40074008
| exprs, Some spread, _startPos, _endPos -> (
40084009
let els = Ast_helper.Exp.array ~loc exprs
40094010
in [els; spread])
@@ -4013,10 +4014,9 @@ and parseArrayExp p =
40134014
in
40144015
match split_by_spread listExprsRev with
40154016
| [] -> Ast_helper.Exp.array ~loc:(mkLoc startPos p.prevEndPos) []
4016-
| [(exprs, Some spread, _, _)] -> makeArrayExpression loc exprs (Some spread)
40174017
| [(exprs, None, _, _)] -> Ast_helper.Exp.array ~loc:(mkLoc startPos p.prevEndPos) exprs
40184018
| exprs ->
4019-
let xs = List.map handleExprs exprs in
4019+
let xs = List.map collectExprs exprs in
40204020
let listExprs = List.fold_right (fun exprs1 acc ->
40214021
List.fold_right (fun expr1 acc1 -> expr1::acc1) exprs1 acc
40224022
) xs [] in

0 commit comments

Comments
 (0)