JS target improvements

This commit is contained in:
Andreas Rumpf 2016-04-29 17:56:06 +02:00
commit b48e178969
2 changed files with 7 additions and 2 deletions

View file

@ -1648,8 +1648,11 @@ proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
of mChr, mArrToSeq: gen(p, n.sons[1], r) # nothing to do
of mOrd: genOrd(p, n, r)
of mLengthStr:
unaryExpr(p, n, r, "", "($1 != null ? $1.length-1 : 0)" |
"strlen($1)")
if p.target == targetJS and n.sons[1].typ.skipTypes(abstractInst).kind == tyCString:
unaryExpr(p, n, r, "", "($1 != null ? $1.length : 0)")
else:
unaryExpr(p, n, r, "", "($1 != null ? $1.length-1 : 0)" |
"strlen($1)")
of mXLenStr: unaryExpr(p, n, r, "", "$1.length-1" | "strlen($1)")
of mLengthSeq, mLengthOpenArray, mLengthArray:
unaryExpr(p, n, r, "", "($1 != null ? $1.length : 0)" |