custom integer literals bugfixes (#17499)

* custom integer literals bugfixes

* make nimsuggest compile again
This commit is contained in:
Andreas Rumpf 2021-03-24 22:29:42 +01:00 • committed by GitHub
commit 355985ac89
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 6 deletions

View file

@ -345,13 +345,14 @@ proc getNumber(L: var Lexer, result: var Token) =
result.tokType = tkIntLit # int literal until we know better
result.literal = ""
result.base = base10
let startpos = L.bufpos
tokenBegin(result, startpos)
tokenBegin(result, L.bufpos)
var isPositive = true
if L.buf[L.bufpos] == '-':
eatChar(L, result)
isPositive = true
isPositive = false
let startpos = L.bufpos
template setNumber(field, value) =
field = (if isPositive: value else: -value)
@ -419,7 +420,7 @@ proc getNumber(L: var Lexer, result: var Token) =
suffixAsLower.add toLowerAscii(c)
inc postPos
if L.buf[postPos] notin SymChars+{'_'}: break
case suffix
case suffixAsLower
of "f", "f32": result.tokType = tkFloat32Lit
of "d", "f64": result.tokType = tkFloat64Lit
of "f128": result.tokType = tkFloat128Lit