From 09b334ad215e33efa0be351068467a5192962d10 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Wed, 17 Jun 2015 21:11:20 +0300 Subject: [PATCH] Add guard against non-ES5 integer literals. --- src/babel/generation/generators/types.js | 2 +- test/core/fixtures/generation/types/Literal/actual.js | 4 ++++ test/core/fixtures/generation/types/Literal/expected.js | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/babel/generation/generators/types.js b/src/babel/generation/generators/types.js index 6732e6d06b..224b3278da 100644 --- a/src/babel/generation/generators/types.js +++ b/src/babel/generation/generators/types.js @@ -100,7 +100,7 @@ export function Literal(node) { // check to see if this is the same number as the raw one in the original source as asm.js uses // numbers in the form 5.0 for type hinting var raw = node.raw; - if (val === +raw && raw[raw.length - 1] !== ".") { + if (val === +raw && raw[raw.length - 1] !== "." && !/^0[bo]/i.test(raw)) { this.push(raw); } else { this.push(val + ""); diff --git a/test/core/fixtures/generation/types/Literal/actual.js b/test/core/fixtures/generation/types/Literal/actual.js index 2deda11c7b..6bd9f84a96 100644 --- a/test/core/fixtures/generation/types/Literal/actual.js +++ b/test/core/fixtures/generation/types/Literal/actual.js @@ -6,3 +6,7 @@ null; true; false; +5.; +0b10; +0o70; +0X1F; diff --git a/test/core/fixtures/generation/types/Literal/expected.js b/test/core/fixtures/generation/types/Literal/expected.js index 2deda11c7b..97c7169310 100644 --- a/test/core/fixtures/generation/types/Literal/expected.js +++ b/test/core/fixtures/generation/types/Literal/expected.js @@ -6,3 +6,7 @@ null; true; false; +5; +2; +56; +0X1F;