Merge pull request #2496 from BlaXpirit/js-header-comma
Fix JS codegen: proc header with compiletime arguments
This commit is contained in:
commit
4d0ee66f29
2 changed files with 11 additions and 2 deletions
|
|
@ -791,10 +791,10 @@ proc genIf(p: PProc, n: PNode, r: var TCompRes) =
|
||||||
proc generateHeader(p: PProc, typ: PType): Rope =
|
proc generateHeader(p: PProc, typ: PType): Rope =
|
||||||
result = nil
|
result = nil
|
||||||
for i in countup(1, sonsLen(typ.n) - 1):
|
for i in countup(1, sonsLen(typ.n) - 1):
|
||||||
if result != nil: add(result, ", ")
|
|
||||||
assert(typ.n.sons[i].kind == nkSym)
|
assert(typ.n.sons[i].kind == nkSym)
|
||||||
var param = typ.n.sons[i].sym
|
var param = typ.n.sons[i].sym
|
||||||
if isCompileTimeOnly(param.typ): continue
|
if isCompileTimeOnly(param.typ): continue
|
||||||
|
if result != nil: add(result, ", ")
|
||||||
var name = mangleName(param)
|
var name = mangleName(param)
|
||||||
add(result, name)
|
add(result, name)
|
||||||
if mapType(param.typ) == etyBaseIndex:
|
if mapType(param.typ) == etyBaseIndex:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
discard """
|
discard """
|
||||||
output: '''foo
|
output: '''foo
|
||||||
js 3.14'''
|
js 3.14
|
||||||
|
7'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# This file tests the JavaScript generator
|
# This file tests the JavaScript generator
|
||||||
|
|
@ -20,3 +21,11 @@ else:
|
||||||
proc foo(val: float): string = "js " & $val
|
proc foo(val: float): string = "js " & $val
|
||||||
|
|
||||||
echo foo(3.14)
|
echo foo(3.14)
|
||||||
|
|
||||||
|
# #2495
|
||||||
|
type C = concept x
|
||||||
|
|
||||||
|
proc test(x: C, T: typedesc): T =
|
||||||
|
cast[T](x)
|
||||||
|
|
||||||
|
echo 7.test(int8)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue