Skip to content

Commit 7bd0e2e

Browse files
fixes estools#104: member expression on number may alter its raw value
1 parent 719de30 commit 7bd0e2e

File tree

4 files changed

+24
-2
lines changed

4 files changed

+24
-2
lines changed

escodegen.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1942,7 +1942,7 @@
19421942
esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&
19431943
!(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'
19441944
) {
1945-
result.push('.');
1945+
result.push(' ');
19461946
}
19471947
}
19481948
result.push('.');

test/ast.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,27 @@ data = {
144144
},
145145
}],
146146
expected: '/(?:)/i;'
147-
}
147+
},
148+
{
149+
type: 'Program',
150+
body: [{
151+
type: 'ExpressionStatement',
152+
expression: {
153+
type: 'MemberExpression',
154+
computed: false,
155+
object: {
156+
type: 'Literal',
157+
value: 1,
158+
raw: '1'
159+
},
160+
property: {
161+
type: 'Identifier',
162+
name: 'a'
163+
}
164+
}
165+
}],
166+
expected: '1 .a;'
167+
},
148168
]
149169
};
150170

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
1 .valueOf();
12
1.1.valueOf();
23
1e+300.valueOf();

test/compare/floating-point.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
(1).valueOf();
12
1.1.valueOf();
23
(1e+300).valueOf();

0 commit comments

Comments
 (0)