Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions compiler/astalgo.nim
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ proc value(this: var DebugPrinter; value: string) =
proc value(this: var DebugPrinter; value: BiggestInt) =
if this.useColor:
this.res.add numberStyle
this.res.add value
this.res.addInt value
if this.useColor:
this.res.add resetStyle

Expand Down Expand Up @@ -460,7 +460,7 @@ template earlyExit(this: var DebugPrinter; n: PType | PNode | PSym) =
if this.useColor:
this.res.add backrefStyle
this.res.add "<defined "
this.res.add(this.currentLine - index)
this.res.addInt(this.currentLine - index)
this.res.add " lines upwards>"
if this.useColor:
this.res.add resetStyle
Expand Down
2 changes: 1 addition & 1 deletion compiler/cgen.nim
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ proc cgFormatValue(result: var string; value: string): void =
result.add value

proc cgFormatValue(result: var string; value: BiggestInt): void =
result.add value
result.addInt value

# TODO: please document
macro ropecg(m: BModule, frmt: static[FormatStr], args: untyped): Rope =
Expand Down
2 changes: 1 addition & 1 deletion compiler/dfa.nim
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ proc codeListing(c: ControlFlowGraph, result: var string, start=0; last = -1) =
result.add renderTree(c[i].n)
of goto, fork, join:
result.add "L"
result.add c[i].dest+i
result.addInt c[i].dest+i
result.add("\t#")
result.add(debugInfo(c[i].n.info))
result.add("\n")
Expand Down
4 changes: 2 additions & 2 deletions compiler/ndi.nim
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ type

proc doWrite(f: var NdiFile; s: PSym; conf: ConfigRef) =
f.buf.setLen 0
f.buf.add s.info.line.int
f.buf.addInt s.info.line.int
f.buf.add "\t"
f.buf.add s.info.col.int
f.buf.addInt s.info.col.int
f.f.write(s.name.s, "\t")
f.f.writeRope(s.loc.r)
f.f.writeLine("\t", toFullPath(conf, s.info), "\t", f.buf)
Expand Down
8 changes: 4 additions & 4 deletions lib/pure/json.nim
Original file line number Diff line number Diff line change
Expand Up @@ -692,12 +692,12 @@ proc toPretty(result: var string, node: JsonNode, indent = 2, ml = true,
of JInt:
if lstArr: result.indent(currIndent)
when defined(js): result.add($node.num)
else: result.add(node.num)
else: result.addInt(node.num)
of JFloat:
if lstArr: result.indent(currIndent)
# Fixme: implement new system.add ops for the JS target
when defined(js): result.add($node.fnum)
else: result.add(node.fnum)
else: result.addFloat(node.fnum)
of JBool:
if lstArr: result.indent(currIndent)
result.add(if node.bval: "true" else: "false")
Expand Down Expand Up @@ -773,10 +773,10 @@ proc toUgly*(result: var string, node: JsonNode) =
node.str.escapeJson(result)
of JInt:
when defined(js): result.add($node.num)
else: result.add(node.num)
else: result.addInt(node.num)
of JFloat:
when defined(js): result.add($node.fnum)
else: result.add(node.fnum)
else: result.addFloat(node.fnum)
of JBool:
result.add(if node.bval: "true" else: "false")
of JNull:
Expand Down
22 changes: 15 additions & 7 deletions lib/system/strmantle.nim
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ proc hashString(s: string): int {.compilerproc.} =
h = h +% h shl 15
result = h

proc add*(result: var string; x: int64) =
proc addInt*(result: var string; x: int64) =
## Converts integer to its string representation and appends it to `result`.
##
## .. code-block:: Nim
## var
## a = "123"
## b = 45
## a.add(b) # a <- "12345"
## a.addInt(b) # a <- "12345"
let base = result.len
setLen(result, base + sizeof(x)*4)
var i = 0
Expand All @@ -66,18 +66,22 @@ proc add*(result: var string; x: int64) =
for j in 0..i div 2 - 1:
swap(result[base+j], result[base+i-j-1])

proc add*(result: var string; x: int64) {.deprecated:
"Deprecated since v0.20, use 'addInt'".} =
addInt(result, x)

proc nimIntToStr(x: int): string {.compilerRtl.} =
result = newStringOfCap(sizeof(x)*4)
result.add x
result.addInt x

proc add*(result: var string; x: float) =
proc addFloat*(result: var string; x: float) =
## Converts float to its string representation and appends it to `result`.
##
## .. code-block:: Nim
## var
## a = "123"
## b = 45.67
## a.add(b) # a <- "12345.67"
## a.addFloat(b) # a <- "12345.67"
when nimvm:
result.add $x
else:
Expand Down Expand Up @@ -113,9 +117,13 @@ proc add*(result: var string; x: float) =
result.add buf[i]
inc i

proc add*(result: var string; x: float) {.deprecated:
"Deprecated since v0.20, use 'addFloat'".} =
addFloat(result, x)

proc nimFloatToStr(f: float): string {.compilerproc.} =
result = newStringOfCap(8)
result.add f
result.addFloat f

proc c_strtod(buf: cstring, endptr: ptr cstring): float64 {.
importc: "strtod", header: "<stdlib.h>", noSideEffect.}
Expand Down Expand Up @@ -284,7 +292,7 @@ proc nimParseBiggestFloat(s: string, number: var BiggestFloat,

proc nimInt64ToStr(x: int64): string {.compilerRtl.} =
result = newStringOfCap(sizeof(x)*4)
result.add x
result.addInt x

proc nimBoolToStr(x: bool): string {.compilerRtl.} =
return if x: "true" else: "false"
Expand Down