Skip to content

Commit a2c6303

Browse files
committed
skip return clause where possible
1 parent a451b6d commit a2c6303

File tree

292 files changed

+6615
-9884
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

292 files changed

+6615
-9884
lines changed

jscomp/core/js_dump.ml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,20 @@ and pp_function ~return_unit ~async ~is_method ~need_paren ?directive cxt (f : P
402402
P.string f (L.arrow);
403403
P.space f;
404404
);
405-
P.brace_vgroup f 1 (fun _ -> function_body ?directive ~return_unit cxt f b)
405+
match b with
406+
| [ { statement_desc = Return { expression_desc = Undefined _ } } ]
407+
when arrow
408+
->
409+
P.string f "{";
410+
P.string f "}";
411+
412+
| [ { statement_desc = Return e } ] | [ { statement_desc = Exp e } ]
413+
when arrow && directive == None
414+
-> (if exp_need_paren e then P.paren_group f 0 else P.group f 0)
415+
(fun _ -> ignore (expression ~level:0 cxt f e))
416+
417+
| _ ->
418+
P.brace_vgroup f 1 (fun _ -> function_body ?directive ~return_unit cxt f b)
406419
in
407420
let enclose () =
408421
let handle () =

jscomp/test/Import.js

Lines changed: 2 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/PartialApplicationNoRuntimeCurry.js

Lines changed: 2 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/SafePromises.js

Lines changed: 2 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/UncurriedAlways.js

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/UncurriedExternals.js

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/UntaggedVariants.js

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/a_filename_test.js

Lines changed: 5 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/a_list_test.js

Lines changed: 59 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)