From 20831c23262dd527b1c6a2e074f904da6752c721 Mon Sep 17 00:00:00 2001 From: Dave Holoway Date: Sun, 7 Jun 2020 15:46:08 +0100 Subject: [PATCH] make sure any long specifier is stripped from a bigint value --- langserver/java/body-parser3.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/langserver/java/body-parser3.js b/langserver/java/body-parser3.js index 3a55a8c..833048d 100644 --- a/langserver/java/body-parser3.js +++ b/langserver/java/body-parser3.js @@ -2333,7 +2333,9 @@ class LiteralNumber extends LiteralValue { switch (this.numberKind) { case 'hex-number-literal': case 'int-number-literal': - return BigInt(this.name); + // unlike parseInt, BigInt doesn't like invalid characters, so + // ensure we strip any trailing long specifier + return BigInt(this.name.match(/(.+?)[lL]?$/)[1]); } return null; }