summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorYuriy Glukhov <yutiy.glukhov@gmail.com>2016-05-26 08:49:56 +0300
committerYuriy Glukhov <yutiy.glukhov@gmail.com>2016-05-26 08:49:56 +0300
commit4d0d2d69f3dd033feeb02bc61a78956bce35db46 (patch)
tree01136e0abab6fa8cbce6b0510cf2fd1846185078 /compiler
parentea0dff3783dc63b32de61d76c6ac14f2a01d362a (diff)
downloadNim-4d0d2d69f3dd033feeb02bc61a78956bce35db46.tar.gz
Fixes #4222
Diffstat (limited to 'compiler')
-rw-r--r--compiler/jsgen.nim8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim
index 964752c16..124459306 100644
--- a/compiler/jsgen.nim
+++ b/compiler/jsgen.nim
@@ -71,7 +71,7 @@ type
     isLoop: bool             # whether it's a 'block' or 'while'
 
   TGlobals = object
-    typeInfo, code: Rope
+    typeInfo, constants, code: Rope
     forwarded: seq[PSym]
     generatedSyms: IntSet
     typeInfoGenerated: IntSet
@@ -237,7 +237,7 @@ proc useMagic(p: PProc, name: string) =
     internalAssert s.kind in {skProc, skMethod, skConverter}
     if not p.g.generatedSyms.containsOrIncl(s.id):
       let code = genProc(p, s)
-      add(p.g.code, code)
+      add(p.g.constants, code)
   else:
     # we used to exclude the system module from this check, but for DLL
     # generation support this sloppyness leads to hard to detect bugs, so
@@ -1461,7 +1461,7 @@ proc genConstant(p: PProc, c: PSym) =
     p.body = nil
     #genLineDir(p, c.ast)
     genVarInit(p, c, c.ast)
-    add(p.g.code, p.body)
+    add(p.g.constants, p.body)
     p.body = oldBody
 
 proc genNew(p: PProc, n: PNode) =
@@ -2137,7 +2137,7 @@ proc wholeCode*(m: BModule): Rope =
       var p = newProc(globals, m, nil, m.module.options)
       attachProc(p, prc)
 
-  result = globals.typeInfo & globals.code
+  result = globals.typeInfo & globals.constants & globals.code
 
 proc getClassName(t: PType): Rope =
   var s = t.sym