fix js stacktraces, unify all file,line,col formatting into a single function (#14230)

* fix https://github.com/timotheecour/Nim/issues/135 ; unify all file,line,col formatting into a single function
This commit is contained in:
Timothee Cour 2020-05-05 05:56:15 -07:00 • committed by GitHub
commit c28a057a6b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 68 additions and 46 deletions

View file

@ -0,0 +1,15 @@
template toLocation*(result: var string, file: string | cstring, line: int, col: int) =
## avoids spurious allocations
# Hopefully this can be re-used everywhere so that if a user needs to customize,
# it can be done in a single place.
result.add file
if line > 0:
result.add "("
# simplify this after moving moving `include strmantle` above import assertions`
when declared(addInt): result.addInt line
else: result.add $line
if col > 0:
result.add ", "
when declared(addInt): result.addInt col
else: result.add $col
result.add ")"