From f09d97d6d37520e41aa295e43b6901ce49132aac Mon Sep 17 00:00:00 2001 From: flywind <43030857+xflywind@users.noreply.github.com> Date: Fri, 29 Jan 2021 07:31:41 -0600 Subject: close #16844 (#16852) * close #16844 * better * comment * Update compiler/renderer.nim --- compiler/renderer.nim | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'compiler') diff --git a/compiler/renderer.nim b/compiler/renderer.nim index 765bcded5..93ccde02a 100644 --- a/compiler/renderer.nim +++ b/compiler/renderer.nim @@ -820,14 +820,28 @@ proc gTypeClassTy(g: var TSrcGen, n: PNode) = dedent(g) proc gblock(g: var TSrcGen, n: PNode) = + # you shouldn't simplify it to `n.len < 2` + # because the following codes should be executed + # even when block stmt has only one child for getting + # better error messages. + if n.len == 0: + return + var c: TContext initContext(c) + if n[0].kind != nkEmpty: putWithSpace(g, tkBlock, "block") gsub(g, n[0]) else: put(g, tkBlock, "block") + + # block stmt should have two children + if n.len == 1: + return + putWithSpace(g, tkColon, ":") + if longMode(g, n) or (lsub(g, n[1]) + g.lineLen > MaxLineLen): incl(c.flags, rfLongMode) gcoms(g) -- cgit 1.4.1-2-gfad0