Implement builtin getters for Date object

JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
This commit is contained in:
Szilard Ledan
2015-06-24 11:06:08 +02:00
parent 6547cf3b2d
commit 8d7cdebee0
5 changed files with 272 additions and 278 deletions
@@ -34,6 +34,32 @@ extern uint32_t ecma_builtin_helper_array_index_normalize (ecma_number_t index,
extern uint32_t ecma_builtin_helper_string_index_normalize (ecma_number_t index, uint32_t length);
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN
/**
* Time range defines for helper functions.
*
* See also:
* ECMA-262 v5, 15.9.1.1, 15.9.1.10
*/
/* Hours in a day. */
#define ECMA_DATE_HOURS_PER_DAY 24
/* Minutes in an hour. */
#define ECMA_DATE_MINUTES_PER_HOUR 60
/* Seconds in a minute. */
#define ECMA_DATE_SECONDS_PER_MINUTE 60
/* Milliseconds in a second. */
#define ECMA_DATE_MS_PER_SECOND 1000
/* ECMA_DATE_MS_PER_MINUTE == 60000 */
#define ECMA_DATE_MS_PER_MINUTE (ECMA_DATE_MS_PER_SECOND * ECMA_DATE_SECONDS_PER_MINUTE)
/* ECMA_DATE_MS_PER_HOUR == 3600000 */
#define ECMA_DATE_MS_PER_HOUR (ECMA_DATE_MS_PER_MINUTE * ECMA_DATE_MINUTES_PER_HOUR)
/* ECMA_DATE_MS_PER_DAY == 86400000 */
#define ECMA_DATE_MS_PER_DAY (ECMA_DATE_MS_PER_HOUR * ECMA_DATE_HOURS_PER_DAY)
/* This gives a range of 8,640,000,000,000,000 milliseconds
* to either side of 01 January, 1970 UTC.
*/
#define ECMA_DATE_MAX_VALUE 8.64e15
/* ecma-builtin-helpers-date.cpp */
extern ecma_number_t ecma_date_day (ecma_number_t time);
extern ecma_number_t ecma_date_time_within_day (ecma_number_t time);
@@ -63,6 +89,7 @@ extern ecma_number_t ecma_date_make_day (ecma_number_t year,
ecma_number_t date);
extern ecma_number_t ecma_date_make_date (ecma_number_t day, ecma_number_t time);
extern ecma_number_t ecma_date_time_clip (ecma_number_t time);
extern ecma_number_t ecma_date_timezone_offset (ecma_number_t time);
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN */
typedef struct