// http://www.ecma-international.org/ecma-262/6.0/#sec-reflect.getownpropertydescriptor EncodedJSValue JSC_HOST_CALL reflectObjectGetOwnPropertyDescriptor(ExecState* exec) { JSValue target = exec->argument(0); if (!target.isObject()) return JSValue::encode(throwTypeError(exec, ASCIILiteral("Reflect.getOwnPropertyDescriptor requires the first argument be an object"))); auto key = exec->argument(1).toPropertyKey(exec); if (exec->hadException()) return JSValue::encode(jsUndefined()); return JSValue::encode(objectConstructorGetOwnPropertyDescriptor(exec, asObject(target), key)); }
// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor EncodedJSValue JSC_HOST_CALL reflectObjectGetOwnPropertyDescriptor(ExecState* exec) { VM& vm = exec->vm(); auto scope = DECLARE_THROW_SCOPE(vm); JSValue target = exec->argument(0); if (!target.isObject()) return JSValue::encode(throwTypeError(exec, scope, ASCIILiteral("Reflect.getOwnPropertyDescriptor requires the first argument be an object"))); auto key = exec->argument(1).toPropertyKey(exec); RETURN_IF_EXCEPTION(scope, encodedJSValue()); scope.release(); return JSValue::encode(objectConstructorGetOwnPropertyDescriptor(exec, asObject(target), key)); }