Use tmps as property names

This commit is contained in:
Ilmir Usmanov
2014-10-15 16:40:28 +04:00
parent 2d9a8da5c2
commit af5cf79d3c
3 changed files with 13 additions and 2 deletions
+7 -1
View File
@@ -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:
@@ -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;