Fix class bugs (#418)

* Fixup class parsing error check in esprima
* Class cannot have property named 'prototype'
* When define {getter, setter} in interpreter, property key can be symbol
* Reorder properties on class constructor
* Fixup public API

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
Patrick Kim 2019-09-09 10:12:47 +09:00 committed by Boram Bae
commit 98d3c9c26e
19 changed files with 222 additions and 99 deletions

View file

@ -47,6 +47,7 @@ const char* errorMessage_Set_ToUndefined = "Cannot set property '%s' of undefine
const char* errorMessage_Set_ToNull = "Cannot set property '%s' of null";
const char* errorMessage_New_Target_Is_Undefined = "NewTarget is undefined";
const char* errorMessage_Class_Prototype_Is_Not_Object_Nor_Null = "Class extends object prototype property is not object nor null";
const char* errorMessage_Class_Prototype_Is_Not_Static_Generator = "Classes may not have a static property named 'prototype'";
const char* errorMessage_Class_Extends_Value_Is_Not_Object_Nor_Null = "Class extends value is not object nor null";
const char* errorMessage_Initialized_This_Binding = "Super constructor may only be called once";
const char* errorMessage_UnInitialized_This_Binding = "Must call super constructor in derived class before accessing 'this' or returning from derived constructor";