From af5cf79d3c0deee2e88b55bce893acd50b6ec113 Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Wed, 15 Oct 2014 16:40:28 +0400 Subject: [PATCH] Use tmps as property names --- src/libjsparser/parser.c | 8 +++++++- tests/jerry/{array.js => N.array.js} | 0 tests/jerry/{object_literal.js => N.object_literal.js} | 7 ++++++- 3 files changed, 13 insertions(+), 2 deletions(-) rename tests/jerry/{array.js => N.array.js} (100%) rename tests/jerry/{object_literal.js => N.object_literal.js} (89%) diff --git a/src/libjsparser/parser.c b/src/libjsparser/parser.c index bfcfc2e7a..5d47effe7 100644 --- a/src/libjsparser/parser.c +++ b/src/libjsparser/parser.c @@ -689,9 +689,15 @@ parse_property_name (void) { case TOK_NAME: case TOK_STRING: + { + STACK_PUSH (IDX, next_temp_name ()); + DUMP_OPCODE_3 (assignment, ID(1), OPCODE_ARG_TYPE_STRING, token_data ()); + break; + } case TOK_NUMBER: { - STACK_PUSH (IDX, token_data ()); + STACK_PUSH (IDX, next_temp_name ()); + DUMP_OPCODE_3 (assignment, ID(1), OPCODE_ARG_TYPE_NUMBER, token_data ()); break; } case TOK_SMALL_INT: diff --git a/tests/jerry/array.js b/tests/jerry/N.array.js similarity index 100% rename from tests/jerry/array.js rename to tests/jerry/N.array.js diff --git a/tests/jerry/object_literal.js b/tests/jerry/N.object_literal.js similarity index 89% rename from tests/jerry/object_literal.js rename to tests/jerry/N.object_literal.js index 9ead044cd..c5648577d 100644 --- a/tests/jerry/object_literal.js +++ b/tests/jerry/N.object_literal.js @@ -16,7 +16,9 @@ var person = { firstName:"John", lastName:"Doe", age:50, - eyeColor:"blue" + eyeColor:"blue", + "gender":"male", + 0:0 }; assert (person.firstName === "John"); @@ -27,6 +29,9 @@ assert (person.age === 50); assert (person["age"] === 50); assert (person.eyeColor === "blue"); assert (person["eyeColor"] === "blue"); +assert (person.gender === "male"); +assert (person["gender"] === "male"); +assert (person["0"] === 0); var x = person; x.age = 40;