1. implement ObjectDefineOwnPropertyOperation

2. Add errorcode in ScriptError
3. Fix array length bug
4. Fix ObjectPropertyDescriptor::ObjectPropertyDescriptor(ExecutionState& state, Object* obj)

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
seonghyun kim 2016-12-23 22:21:22 +09:00
commit 5bca24da82
18 changed files with 244 additions and 125 deletions

View file

@ -112,6 +112,24 @@ ErrorObject::ErrorObject(ExecutionState& state, String* errorMessage)
setPrototype(state, state.context()->globalObject()->errorPrototype());
}
ErrorObject* ErrorObject::createError(ExecutionState& state, ErrorObject::Code code, String* errorMessage)
{
if (code == ReferenceError)
return new ReferenceErrorObject(state, errorMessage);
else if (code == TypeError)
return new TypeErrorObject(state, errorMessage);
else if (code == SyntaxError)
return new SyntaxErrorObject(state, errorMessage);
else if (code == RangeError)
return new RangeErrorObject(state, errorMessage);
else if (code == URIError)
return new URIErrorObject(state, errorMessage);
else if (code == EvalError)
return new EvalErrorObject(state, errorMessage);
else
return new ErrorObject(state, errorMessage);
}
ReferenceErrorObject::ReferenceErrorObject(ExecutionState& state, String* errorMessage)
: ErrorObject(state, errorMessage)
{