From c28a057a6bd5f20445e11d82c4028762ae1bf1b6 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Tue, 5 May 2020 05:56:15 -0700 Subject: 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 --- lib/std/private/miscdollars.nim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/std/private/miscdollars.nim (limited to 'lib/std/private') diff --git a/lib/std/private/miscdollars.nim b/lib/std/private/miscdollars.nim new file mode 100644 index 000000000..a41cf1bc1 --- /dev/null +++ b/lib/std/private/miscdollars.nim @@ -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 ")" -- cgit 1.4.1-2-gfad0