/** * Handle calling [[Call]] of built-in Date object * * See also: * ECMA-262 v5, 15.9.2.1 * * @return ecma value */ ecma_value_t ecma_builtin_date_dispatch_call (const ecma_value_t *arguments_list_p, /**< arguments list */ ecma_length_t arguments_list_len) /**< number of arguments */ { JERRY_UNUSED (arguments_list_p); JERRY_UNUSED (arguments_list_len); ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY); ECMA_TRY_CATCH (now_val, ecma_builtin_date_now (ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED)), ret_value); ret_value = ecma_date_value_to_string (ecma_get_number_from_value (now_val)); ECMA_FINALIZE (now_val); return ret_value; } /* ecma_builtin_date_dispatch_call */
/** * Handle calling [[Construct]] of built-in Date object * * See also: * ECMA-262 v5, 15.9.3.1 * * @return ecma value */ ecma_value_t ecma_builtin_date_dispatch_construct (const ecma_value_t *arguments_list_p, /**< arguments list */ ecma_length_t arguments_list_len) /**< number of arguments */ { ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY); ecma_number_t prim_value_num = ECMA_NUMBER_ZERO; ecma_object_t *prototype_obj_p = ecma_builtin_get (ECMA_BUILTIN_ID_DATE_PROTOTYPE); ecma_object_t *obj_p = ecma_create_object (prototype_obj_p, false, true, ECMA_OBJECT_TYPE_GENERAL); ecma_deref_object (prototype_obj_p); if (arguments_list_len == 0) { ECMA_TRY_CATCH (parse_res_value, ecma_builtin_date_now (ecma_make_object_value (obj_p)), ret_value); prim_value_num = ecma_get_number_from_value (parse_res_value); ECMA_FINALIZE (parse_res_value) }
/** * Handle calling [[Construct]] of built-in Date object * * See also: * ECMA-262 v5, 15.9.3.1 * * @return completion-value */ ecma_completion_value_t ecma_builtin_date_dispatch_construct (const ecma_value_t *arguments_list_p, /**< arguments list */ ecma_length_t arguments_list_len) /**< number of arguments */ { ecma_completion_value_t ret_value = ecma_make_empty_completion_value (); ecma_number_t *prim_value_num_p = NULL; ecma_object_t *prototype_obj_p = ecma_builtin_get (ECMA_BUILTIN_ID_DATE_PROTOTYPE); ecma_object_t *obj_p = ecma_create_object (prototype_obj_p, true, ECMA_OBJECT_TYPE_GENERAL); ecma_deref_object (prototype_obj_p); if (arguments_list_len == 0) { ECMA_TRY_CATCH (parse_res_value, ecma_builtin_date_now (ecma_make_object_value (obj_p)), ret_value); prim_value_num_p = ecma_alloc_number (); *prim_value_num_p = *ecma_get_number_from_value (parse_res_value); ECMA_FINALIZE (parse_res_value) }