diff --git a/crates/swc/tests/fixture/issues-9xxx/9223/input/.swcrc b/crates/swc/tests/fixture/issues-9xxx/9223/input/.swcrc new file mode 100644 index 000000000000..84cb4d1c95ef --- /dev/null +++ b/crates/swc/tests/fixture/issues-9xxx/9223/input/.swcrc @@ -0,0 +1,19 @@ +{ + "jsc": { + "parser": { + "syntax": "typescript", + "tsx": false + }, + "target": "es2022", + "loose": false, + "minify": { + "compress": false, + "mangle": false + } + }, + "module": { + "type": "es6" + }, + "minify": false, + "isModule": true +} diff --git a/crates/swc/tests/fixture/issues-9xxx/9223/input/large-number.js b/crates/swc/tests/fixture/issues-9xxx/9223/input/large-number.js new file mode 100644 index 000000000000..c49e8426fc89 --- /dev/null +++ b/crates/swc/tests/fixture/issues-9xxx/9223/input/large-number.js @@ -0,0 +1,2 @@ +const x = -1e999; +const y = 1e999; diff --git a/crates/swc/tests/fixture/issues-9xxx/9223/output/large-number.js b/crates/swc/tests/fixture/issues-9xxx/9223/output/large-number.js new file mode 100644 index 000000000000..c49e8426fc89 --- /dev/null +++ b/crates/swc/tests/fixture/issues-9xxx/9223/output/large-number.js @@ -0,0 +1,2 @@ +const x = -1e999; +const y = 1e999; diff --git a/crates/swc/tests/tsc-references/binaryIntegerLiteral.1.normal.js b/crates/swc/tests/tsc-references/binaryIntegerLiteral.1.normal.js index 72d693e971a1..60502c9806b7 100644 --- a/crates/swc/tests/tsc-references/binaryIntegerLiteral.1.normal.js +++ b/crates/swc/tests/tsc-references/binaryIntegerLiteral.1.normal.js @@ -2,13 +2,13 @@ var bin1 = 26; var bin2 = 26; var bin3 = 9671406556917009000000000; -var bin4 = Infinity; +var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111; var obj1 = { 26: "Hello", a: bin1, bin1: bin1, b: 26, - Infinity: true + 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true }; var obj2 = { 26: "World", diff --git a/crates/swc/tests/tsc-references/binaryIntegerLiteral.2.minified.js b/crates/swc/tests/tsc-references/binaryIntegerLiteral.2.minified.js index a53ddfb96658..be8790c23235 100644 --- a/crates/swc/tests/tsc-references/binaryIntegerLiteral.2.minified.js +++ b/crates/swc/tests/tsc-references/binaryIntegerLiteral.2.minified.js @@ -4,7 +4,7 @@ var obj1 = { a: 26, bin1: 26, b: 26, - Infinity: !0 + 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: !0 }, obj2 = { 26: "World", a: 26, diff --git a/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.1.normal.js b/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.1.normal.js index 10ca034d4dee..2a89b215d063 100644 --- a/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.1.normal.js +++ b/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.1.normal.js @@ -2,13 +2,13 @@ var bin1 = 0b11010; var bin2 = 0B11010; var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111; -var bin4 = Infinity; +var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111; var obj1 = { 0b11010: "Hello", a: bin1, bin1, b: 0b11010, - Infinity: true + 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true }; var obj2 = { 0B11010: "World", diff --git a/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.2.minified.js b/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.2.minified.js index 0ad99dff4024..f4e02fab6f05 100644 --- a/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.2.minified.js +++ b/crates/swc/tests/tsc-references/binaryIntegerLiteralES6.2.minified.js @@ -4,7 +4,7 @@ var obj1 = { a: 0b11010, bin1: 0b11010, b: 0b11010, - Infinity: !0 + 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: !0 }, obj2 = { 0B11010: "World", a: 0B11010, diff --git a/crates/swc/tests/tsc-references/octalIntegerLiteral.1.normal.js b/crates/swc/tests/tsc-references/octalIntegerLiteral.1.normal.js index 6f53d688e5b6..9312e03f9aaf 100644 --- a/crates/swc/tests/tsc-references/octalIntegerLiteral.1.normal.js +++ b/crates/swc/tests/tsc-references/octalIntegerLiteral.1.normal.js @@ -1,14 +1,14 @@ //// [octalIntegerLiteral.ts] var oct1 = 19230; var oct2 = 19230; -var oct3 = Infinity; +var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; var oct4 = 54624374234151770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000; var obj1 = { 19230: "Hello", a: 19230, b: oct1, oct1: oct1, - Infinity: true + 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true }; var obj2 = { 19230: "hi", diff --git a/crates/swc/tests/tsc-references/octalIntegerLiteral.2.minified.js b/crates/swc/tests/tsc-references/octalIntegerLiteral.2.minified.js index 4285742726c4..8bade43a0e7b 100644 --- a/crates/swc/tests/tsc-references/octalIntegerLiteral.2.minified.js +++ b/crates/swc/tests/tsc-references/octalIntegerLiteral.2.minified.js @@ -4,7 +4,7 @@ var obj1 = { a: 19230, b: 19230, oct1: 19230, - Infinity: !0 + 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: !0 }, obj2 = { 19230: "hi", a: 19230, diff --git a/crates/swc/tests/tsc-references/octalIntegerLiteralES6.1.normal.js b/crates/swc/tests/tsc-references/octalIntegerLiteralES6.1.normal.js index 63e94809aa22..c144f11722c9 100644 --- a/crates/swc/tests/tsc-references/octalIntegerLiteralES6.1.normal.js +++ b/crates/swc/tests/tsc-references/octalIntegerLiteralES6.1.normal.js @@ -1,14 +1,14 @@ //// [octalIntegerLiteralES6.ts] var oct1 = 0o45436; var oct2 = 0O45436; -var oct3 = Infinity; +var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; var obj1 = { 0o45436: "Hello", a: 0o45436, b: oct1, oct1, - Infinity: true + 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true }; var obj2 = { 0O45436: "hi", diff --git a/crates/swc/tests/tsc-references/octalIntegerLiteralES6.2.minified.js b/crates/swc/tests/tsc-references/octalIntegerLiteralES6.2.minified.js index 1f634fa1a679..4b2b5cefd247 100644 --- a/crates/swc/tests/tsc-references/octalIntegerLiteralES6.2.minified.js +++ b/crates/swc/tests/tsc-references/octalIntegerLiteralES6.2.minified.js @@ -4,7 +4,7 @@ var obj1 = { a: 0o45436, b: 0o45436, oct1: 0o45436, - Infinity: !0 + 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: !0 }, obj2 = { 0O45436: "hi", a: 0O45436, diff --git a/crates/swc_ecma_codegen/src/lib.rs b/crates/swc_ecma_codegen/src/lib.rs index 3f6036138e4c..f1a0c7f1bed6 100644 --- a/crates/swc_ecma_codegen/src/lib.rs +++ b/crates/swc_ecma_codegen/src/lib.rs @@ -703,7 +703,7 @@ where self.emit_leading_comments_of_span(num.span(), false)?; // Handle infinity - if num.value.is_infinite() { + if num.value.is_infinite() && num.raw.is_none() { if num.value.is_sign_negative() { self.wr.write_str_lit(num.span, "-")?; } @@ -718,8 +718,12 @@ where srcmap!(self, num, true); if self.cfg.minify { - value = minify_number(num.value); - self.wr.write_str_lit(DUMMY_SP, &value)?; + if num.value.is_infinite() && num.raw.is_some() { + self.wr.write_str_lit(DUMMY_SP, num.raw.as_ref().unwrap())?; + } else { + value = minify_number(num.value); + self.wr.write_str_lit(DUMMY_SP, &value)?; + } } else { match &num.raw { Some(raw) => { @@ -727,8 +731,12 @@ where let slice = &raw.as_bytes()[..2]; slice == b"0b" || slice == b"0o" || slice == b"0B" || slice == b"0O" } { - value = num.value.to_string(); - self.wr.write_str_lit(DUMMY_SP, &value)?; + if num.value.is_infinite() && num.raw.is_some() { + self.wr.write_str_lit(DUMMY_SP, num.raw.as_ref().unwrap())?; + } else { + value = num.value.to_string(); + self.wr.write_str_lit(DUMMY_SP, &value)?; + } } else if raw.len() > 2 && self.cfg.target < EsVersion::Es2021 && raw.contains('_') diff --git a/crates/swc_ecma_codegen/tests/test262-min/06f7278423cef571.js b/crates/swc_ecma_codegen/tests/test262-min/06f7278423cef571.js index b19806657489..93573054ae9f 100644 --- a/crates/swc_ecma_codegen/tests/test262-min/06f7278423cef571.js +++ b/crates/swc_ecma_codegen/tests/test262-min/06f7278423cef571.js @@ -1 +1 @@ -({Infinity:1}); +({2e308:1}); diff --git a/crates/swc_ecma_codegen/tests/test262-min/3ee117e37bd3bcea.js b/crates/swc_ecma_codegen/tests/test262-min/3ee117e37bd3bcea.js index 744c9130d31a..31b0a0779902 100644 --- a/crates/swc_ecma_codegen/tests/test262-min/3ee117e37bd3bcea.js +++ b/crates/swc_ecma_codegen/tests/test262-min/3ee117e37bd3bcea.js @@ -1 +1 @@ -Infinity; +1e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000; diff --git a/crates/swc_ecma_codegen/tests/test262-min/7e50a0527f791c52.js b/crates/swc_ecma_codegen/tests/test262-min/7e50a0527f791c52.js index 744c9130d31a..648a719caea1 100644 --- a/crates/swc_ecma_codegen/tests/test262-min/7e50a0527f791c52.js +++ b/crates/swc_ecma_codegen/tests/test262-min/7e50a0527f791c52.js @@ -1 +1 @@ -Infinity; +2e308; diff --git a/crates/swc_ecma_codegen/tests/test262-min/807dfc91f4ed4394.js b/crates/swc_ecma_codegen/tests/test262-min/807dfc91f4ed4394.js index 4025f8622256..80631b2421ac 100644 --- a/crates/swc_ecma_codegen/tests/test262-min/807dfc91f4ed4394.js +++ b/crates/swc_ecma_codegen/tests/test262-min/807dfc91f4ed4394.js @@ -1 +1 @@ -function*a(){yield Infinity} +function*a(){yield 2e308} diff --git a/crates/swc_ecma_codegen/tests/test262/06f7278423cef571.js b/crates/swc_ecma_codegen/tests/test262/06f7278423cef571.js index 87815adec72f..933d95ded3e0 100644 --- a/crates/swc_ecma_codegen/tests/test262/06f7278423cef571.js +++ b/crates/swc_ecma_codegen/tests/test262/06f7278423cef571.js @@ -1,3 +1,3 @@ ({ - Infinity: 1 + 2e308: 1 }); diff --git a/crates/swc_ecma_codegen/tests/test262/3ee117e37bd3bcea.js b/crates/swc_ecma_codegen/tests/test262/3ee117e37bd3bcea.js index 744c9130d31a..31b0a0779902 100644 --- a/crates/swc_ecma_codegen/tests/test262/3ee117e37bd3bcea.js +++ b/crates/swc_ecma_codegen/tests/test262/3ee117e37bd3bcea.js @@ -1 +1 @@ -Infinity; +1e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000; diff --git a/crates/swc_ecma_codegen/tests/test262/7e50a0527f791c52.js b/crates/swc_ecma_codegen/tests/test262/7e50a0527f791c52.js index 744c9130d31a..648a719caea1 100644 --- a/crates/swc_ecma_codegen/tests/test262/7e50a0527f791c52.js +++ b/crates/swc_ecma_codegen/tests/test262/7e50a0527f791c52.js @@ -1 +1 @@ -Infinity; +2e308; diff --git a/crates/swc_ecma_codegen/tests/test262/807dfc91f4ed4394.js b/crates/swc_ecma_codegen/tests/test262/807dfc91f4ed4394.js index df195a50b5ae..3c16d0af5d4e 100644 --- a/crates/swc_ecma_codegen/tests/test262/807dfc91f4ed4394.js +++ b/crates/swc_ecma_codegen/tests/test262/807dfc91f4ed4394.js @@ -1,3 +1,3 @@ function* a() { - yield Infinity; + yield 2e308; }