Merge pull request #12153 from dumjyl/get_type-range

fix range.getType crash
This commit is contained in:
Andreas Rumpf 2019-09-08 23:09:41 +02:00 • committed by GitHub
commit aa95ae6af9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 7 deletions

View file

@ -242,7 +242,7 @@ proc mapTypeToAstX(cache: IdentCache; t: PType; info: TLineInfo;
of tyRange:
result = newNodeIT(nkBracketExpr, if t.n.isNil: info else: t.n.info, t)
result.add atomicType("range", mRange)
if inst:
if inst and t.n.len == 2:
let rng = newNodeX(nkInfix)
rng.add newIdentNode(getIdent(cache, ".."), info)
rng.add t.n.sons[0].copyTree
@ -250,7 +250,8 @@ proc mapTypeToAstX(cache: IdentCache; t: PType; info: TLineInfo;
result.add rng
else:
result.add t.n.sons[0].copyTree
result.add t.n.sons[1].copyTree
if t.n.len > 1:
result.add t.n.sons[1].copyTree
of tyPointer: result = atomicType("pointer", mPointer)
of tyString: result = atomicType("string", mString)
of tyCString: result = atomicType("cstring", mCstring)