summary refs log tree commit diff stats
path: root/compiler/renderer.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-03-23 00:12:05 +0100
committerGitHub <noreply@github.com>2019-03-23 00:12:05 +0100
commitbf592c4e944e9cca8a2bb60f52b5b39388c4ed4c (patch)
treef5a7eddcae6fca19dd785a975e2f885f88ff8007 /compiler/renderer.nim
parent25649616ea5b6aba575149df3f9943f48a5ece31 (diff)
downloadNim-bf592c4e944e9cca8a2bb60f52b5b39388c4ed4c.tar.gz
more destructor based changes (#10885)
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
Diffstat (limited to 'compiler/renderer.nim')
-rw-r--r--compiler/renderer.nim8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/renderer.nim b/compiler/renderer.nim
index 832add378..5d65cf6d3 100644
--- a/compiler/renderer.nim
+++ b/compiler/renderer.nim
@@ -503,7 +503,7 @@ proc lsub(g: TSrcGen; n: PNode): int =
   of nkReturnStmt:
     if n.len > 0 and n[0].kind == nkAsgn:
       result = len("return_") + lsub(g, n[0][1])
-    else: 
+    else:
       result = len("return_") + lsub(g, n[0])
   of nkRaiseStmt: result = lsub(g, n.sons[0]) + len("raise_")
   of nkYieldStmt: result = lsub(g, n.sons[0]) + len("yield_")
@@ -1295,7 +1295,7 @@ proc gsub(g: var TSrcGen, n: PNode, c: TContext) =
   of nkWhileStmt: gwhile(g, n)
   of nkPragmaBlock: gpragmaBlock(g, n)
   of nkCaseStmt, nkRecCase: gcase(g, n)
-  of nkTryStmt: gtry(g, n)
+  of nkTryStmt, nkHiddenTryStmt: gtry(g, n)
   of nkForStmt, nkParForStmt: gfor(g, n)
   of nkBlockStmt, nkBlockExpr: gblock(g, n)
   of nkStaticStmt: gstaticStmt(g, n)
@@ -1345,9 +1345,9 @@ proc gsub(g: var TSrcGen, n: PNode, c: TContext) =
       gsub(g, n.sons[0])
   of nkReturnStmt:
     putWithSpace(g, tkReturn, "return")
-    if n.len > 0 and n[0].kind == nkAsgn: 
+    if n.len > 0 and n[0].kind == nkAsgn:
       gsub(g, n[0], 1)
-    else: 
+    else:
       gsub(g, n, 0)
   of nkRaiseStmt:
     putWithSpace(g, tkRaise, "raise")