Skip to content

Commit 9ae0dd6

Browse files
timotheecourAraq
authored andcommitted
typeToString can now show (recursively) resolved type aliases; fixes #8569 #8083 #8570 (#11678)
* nested typeToString * typeToString: preferResolved * add test * fix test * preferMixed * fix tests
1 parent f9600b7 commit 9ae0dd6

File tree

6 files changed

+272
-203
lines changed

6 files changed

+272
-203
lines changed

compiler/semmagic.nim

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@ proc evalTypeTrait(c: PContext; traitCall: PNode, operand: PType, context: PSym)
141141
return typeWithSonsResult(tyAnd, @[operand, operand2])
142142
of "not":
143143
return typeWithSonsResult(tyNot, @[operand])
144+
of "typeToString":
145+
var prefer = preferTypeName
146+
if traitCall.sons.len >= 2:
147+
let preferStr = traitCall.sons[2].strVal
148+
prefer = parseEnum[TPreferedDesc](preferStr)
149+
result = newStrNode(nkStrLit, operand.typeToString(prefer))
150+
result.typ = newType(tyString, context)
151+
result.info = traitCall.info
144152
of "name", "$":
145153
result = newStrNode(nkStrLit, operand.typeToString(preferTypeName))
146154
result.typ = newType(tyString, context)

0 commit comments

Comments
 (0)