Skip to content

Commit

Permalink
fixes #23914; jsondoc broken in devel (#23916)
Browse files Browse the repository at this point in the history
follows up #23064

fixes #23914
  • Loading branch information
ringabout authored Aug 11, 2024
1 parent 1d59e1c commit 4954469
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
2 changes: 1 addition & 1 deletion compiler/docgen.nim
Original file line number Diff line number Diff line change
Expand Up @@ -1206,7 +1206,7 @@ proc genJsonItem(d: PDoc, n, nameNode: PNode, k: TSymKind, nonExports = false):
var param = %{"name": %($genericParam)}
if genericParam.sym.typ.len > 0:
param["types"] = newJArray()
param["types"].add %($genericParam.sym.typ.elementType)
param["types"] = %($genericParam.sym.typ.elementType)
result.json["signature"]["genericParams"].add param
if optGenIndex in d.conf.globalOptions:
genItem(d, n, nameNode, k, kForceExport)
Expand Down
3 changes: 3 additions & 0 deletions tests/misc/mjsondoc.nim
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ const
type
MyEnum* = enum
foo, bar

proc foo2*[T: int, M: string, U](x: T, y: U, z: M) =
echo 1
6 changes: 4 additions & 2 deletions tests/misc/trunner.nim
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,15 @@ sub/mmain.idx""", context
doAssert exitCode == 0, msg

let data = parseJson(readFile(output))["entries"]
doAssert data.len == 4
doAssert data.len == 5
let doSomething = data[0]
doAssert doSomething["name"].getStr == "doSomething"
doAssert doSomething["type"].getStr == "skProc"
doAssert doSomething["line"].getInt == 1
doAssert doSomething["col"].getInt == 0
doAssert doSomething["code"].getStr == "proc doSomething(x, y: int): int {.raises: [], tags: [], forbids: [].}"
let foo2 = data[4]
doAssert $foo2["signature"] == """{"arguments":[{"name":"x","type":"T"},{"name":"y","type":"U"},{"name":"z","type":"M"}],"genericParams":[{"name":"T","types":"int"},{"name":"M","types":"string"},{"name":"U"}]}"""

block: # nim jsondoc # bug #11953
let file = testsDir / "misc/mjsondoc.nim"
Expand All @@ -241,7 +243,7 @@ sub/mmain.idx""", context
doAssert exitCode == 0, msg

let data = parseJson(readFile(destDir / "mjsondoc.json"))["entries"]
doAssert data.len == 4
doAssert data.len == 5
let doSomething = data[0]
doAssert doSomething["name"].getStr == "doSomething"
doAssert doSomething["type"].getStr == "skProc"
Expand Down

0 comments on commit 4954469

Please sign in to comment.