fixes #23914; jsondoc broken in devel (#23916)

follows up https://github.com/nim-lang/Nim/pull/23064

fixes #23914
This commit is contained in:
ringabout
2024-08-11 16:13:16 +08:00
committed by GitHub
parent 1d59e1cbb6
commit 4954469259
3 changed files with 8 additions and 3 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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"
@@ -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"