Skip to content

Commit d7909cd

Browse files
authored
Fix: ufcs integer lexing (#912)
fixes #911
1 parent b39a9d9 commit d7909cd

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

effekt/shared/src/main/scala/effekt/Lexer.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,10 @@ class Lexer(source: Source) {
340340
case None => err("Not a 64bit floating point literal.")
341341
case Some(n) => TokenKind.Float(n)
342342
}
343-
case _ => TokenKind.Integer(slice().toInt)
343+
case _ => slice().toLongOption match {
344+
case None => err("Not a 64bit integer literal.")
345+
case Some(n) => TokenKind.Integer(n)
346+
}
344347
}
345348
}
346349
case _ =>

examples/pos/int_ufcs.check

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1234567890123
2+
1234567890123

examples/pos/int_ufcs.effekt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
def main() = {
2+
1234567890123.println
3+
println(1234567890123)
4+
}
5+

0 commit comments

Comments
 (0)