JERRY_BUILTIN_xxx macros should depend on JERRY_ESNEXT (#3920)
JERRY_BUILTIN_xxx (ES2015+) features don't build without enabling JERRY_ESNEXT macro, this invalid configuration shouldn't be allowed. Additionally remove unnecessary JERRY_ESNEXT ifdef guards. JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác oszi@inf.u-szeged.hu
This commit is contained in:
committed by
GitHub
parent
c0b594fa69
commit
122480aa61
+16
-1
@@ -559,6 +559,21 @@
|
|||||||
|| ((JERRY_MODULE_SYSTEM != 0) && (JERRY_MODULE_SYSTEM != 1))
|
|| ((JERRY_MODULE_SYSTEM != 0) && (JERRY_MODULE_SYSTEM != 1))
|
||||||
# error "Invalid value for JERRY_MODULE_SYSTEM macro."
|
# error "Invalid value for JERRY_MODULE_SYSTEM macro."
|
||||||
#endif
|
#endif
|
||||||
|
#if (JERRY_ESNEXT == 0) \
|
||||||
|
&& ((JERRY_BUILTIN_DATAVIEW == 1) \
|
||||||
|
|| (JERRY_BUILTIN_MAP == 1) \
|
||||||
|
|| (JERRY_BUILTIN_SET == 1) \
|
||||||
|
|| (JERRY_BUILTIN_WEAKMAP == 1) \
|
||||||
|
|| (JERRY_BUILTIN_WEAKSET == 1) \
|
||||||
|
|| (JERRY_BUILTIN_PROMISE == 1) \
|
||||||
|
|| (JERRY_BUILTIN_PROXY == 1) \
|
||||||
|
|| (JERRY_BUILTIN_REFLECT == 1) \
|
||||||
|
|| (JERRY_BUILTIN_TYPEDARRAY == 1))
|
||||||
|
# error "JERRY_ESNEXT should be enabled too to enable JERRY_BUILTIN_xxxxx macro."
|
||||||
|
#endif
|
||||||
|
#if (JERRY_ESNEXT == 0) && (JERRY_MODULE_SYSTEM == 1)
|
||||||
|
# error "JERRY_ESNEXT should be enabled too to enable JERRY_MODULE_SYSTEM macro."
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal options.
|
* Internal options.
|
||||||
@@ -685,7 +700,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resource name relatey types into a single guard
|
* Resource name related types into a single guard
|
||||||
*/
|
*/
|
||||||
#if ENABLED (JERRY_LINE_INFO) || ENABLED (JERRY_ERROR_MESSAGES) || ENABLED (JERRY_MODULE_SYSTEM)
|
#if ENABLED (JERRY_LINE_INFO) || ENABLED (JERRY_ERROR_MESSAGES) || ENABLED (JERRY_MODULE_SYSTEM)
|
||||||
# define JERRY_RESOURCE_NAME 1
|
# define JERRY_RESOURCE_NAME 1
|
||||||
|
|||||||
@@ -33,12 +33,10 @@ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_BYTE_LENGTH_UL,
|
|||||||
ecma_builtin_arraybuffer_prototype_bytelength_getter,
|
ecma_builtin_arraybuffer_prototype_bytelength_getter,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 24.1.4.4 */
|
/* ECMA-262 v6, 24.1.4.4 */
|
||||||
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
LIT_MAGIC_STRING_ARRAY_BUFFER_UL,
|
LIT_MAGIC_STRING_ARRAY_BUFFER_UL,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
|
|||||||
@@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
ECMA_BUILTIN_ID_DATAVIEW,
|
ECMA_BUILTIN_ID_DATAVIEW,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 23.2.4.21 */
|
/* ECMA-262 v6, 23.2.4.21 */
|
||||||
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
LIT_MAGIC_STRING_DATAVIEW_UL,
|
LIT_MAGIC_STRING_DATAVIEW_UL,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
|
|||||||
@@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
ECMA_BUILTIN_ID_MAP,
|
ECMA_BUILTIN_ID_MAP,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 23.1.3.13 */
|
/* ECMA-262 v6, 23.1.3.13 */
|
||||||
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
LIT_MAGIC_STRING_MAP_UL,
|
LIT_MAGIC_STRING_MAP_UL,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
@@ -44,12 +42,10 @@ ROUTINE (LIT_MAGIC_STRING_FOR_EACH_UL, ECMA_CONTAINER_ROUTINE_FOREACH, 2, 1)
|
|||||||
ROUTINE (LIT_MAGIC_STRING_GET, ECMA_CONTAINER_ROUTINE_GET, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_GET, ECMA_CONTAINER_ROUTINE_GET, 1, 1)
|
||||||
ROUTINE (LIT_MAGIC_STRING_HAS, ECMA_CONTAINER_ROUTINE_HAS, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_HAS, ECMA_CONTAINER_ROUTINE_HAS, 1, 1)
|
||||||
ROUTINE (LIT_MAGIC_STRING_SET, ECMA_CONTAINER_ROUTINE_SET, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SET, ECMA_CONTAINER_ROUTINE_SET, 2, 2)
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
||||||
ROUTINE (LIT_MAGIC_STRING_VALUES, ECMA_CONTAINER_ROUTINE_VALUES, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUES, ECMA_CONTAINER_ROUTINE_VALUES, 0, 0)
|
||||||
ROUTINE (LIT_MAGIC_STRING_KEYS, ECMA_CONTAINER_ROUTINE_KEYS, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_KEYS, ECMA_CONTAINER_ROUTINE_KEYS, 0, 0)
|
||||||
ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* ECMA-262 v6, 23.1.3.10 */
|
/* ECMA-262 v6, 23.1.3.10 */
|
||||||
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE,
|
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE,
|
||||||
|
|||||||
@@ -24,12 +24,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
ECMA_BUILTIN_ID_PROMISE,
|
ECMA_BUILTIN_ID_PROMISE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 25.4.5.4 */
|
/* ECMA-262 v6, 25.4.5.4 */
|
||||||
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
LIT_MAGIC_STRING_PROMISE_UL,
|
LIT_MAGIC_STRING_PROMISE_UL,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
ROUTINE (LIT_MAGIC_STRING_THEN, ecma_builtin_promise_prototype_then, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_THEN, ecma_builtin_promise_prototype_then, 2, 2)
|
||||||
ROUTINE (LIT_MAGIC_STRING_CATCH, ecma_builtin_promise_prototype_catch, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_CATCH, ecma_builtin_promise_prototype_catch, 1, 1)
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
* \addtogroup set ECMA Set object built-in
|
* \addtogroup set ECMA Set object built-in
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/**
|
/**
|
||||||
* Dispatcher of the built-in's routines
|
* Dispatcher of the built-in's routines
|
||||||
*
|
*
|
||||||
@@ -58,11 +57,10 @@ ecma_builtin_set_prototype_dispatch_routine (uint16_t builtin_routine_id, /**< b
|
|||||||
arguments_list_p,
|
arguments_list_p,
|
||||||
LIT_MAGIC_STRING_SET_UL);
|
LIT_MAGIC_STRING_SET_UL);
|
||||||
} /* ecma_builtin_set_prototype_dispatch_routine */
|
} /* ecma_builtin_set_prototype_dispatch_routine */
|
||||||
#endif /* ENABLED (JERRY_ES2015) */
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
* @}
|
* @}
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
#endif /* ENABLED (JERRY_BUILTIN_SET) */
|
||||||
|
|||||||
@@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
ECMA_BUILTIN_ID_SET,
|
ECMA_BUILTIN_ID_SET,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 23.1.3.13 */
|
/* ECMA-262 v6, 23.1.3.13 */
|
||||||
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
LIT_MAGIC_STRING_SET_UL,
|
LIT_MAGIC_STRING_SET_UL,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
@@ -43,7 +41,6 @@ ROUTINE (LIT_MAGIC_STRING_ADD, ECMA_CONTAINER_ROUTINE_ADD, 1, 1)
|
|||||||
ROUTINE (LIT_MAGIC_STRING_DELETE, ECMA_CONTAINER_ROUTINE_DELETE, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_DELETE, ECMA_CONTAINER_ROUTINE_DELETE, 1, 1)
|
||||||
ROUTINE (LIT_MAGIC_STRING_FOR_EACH_UL, ECMA_CONTAINER_ROUTINE_FOREACH, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_FOR_EACH_UL, ECMA_CONTAINER_ROUTINE_FOREACH, 2, 1)
|
||||||
ROUTINE (LIT_MAGIC_STRING_HAS, ECMA_CONTAINER_ROUTINE_HAS, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_HAS, ECMA_CONTAINER_ROUTINE_HAS, 1, 1)
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0)
|
||||||
INTRINSIC_PROPERTY (LIT_MAGIC_STRING_VALUES, LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS,
|
INTRINSIC_PROPERTY (LIT_MAGIC_STRING_VALUES, LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
@@ -52,8 +49,6 @@ INTRINSIC_PROPERTY (LIT_GLOBAL_SYMBOL_ITERATOR, LIT_INTERNAL_MAGIC_STRING_SET_PR
|
|||||||
INTRINSIC_PROPERTY (LIT_MAGIC_STRING_KEYS, LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS,
|
INTRINSIC_PROPERTY (LIT_MAGIC_STRING_KEYS, LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS,
|
||||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||||
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE,
|
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE,
|
||||||
ECMA_CONTAINER_ROUTINE_SIZE_GETTER,
|
ECMA_CONTAINER_ROUTINE_SIZE_GETTER,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
|
|||||||
@@ -147,7 +147,6 @@ ecma_builtin_typedarray_prototype_length_getter (ecma_value_t this_arg) /**< thi
|
|||||||
return ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a TypedArray."));
|
return ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a TypedArray."));
|
||||||
} /* ecma_builtin_typedarray_prototype_length_getter */
|
} /* ecma_builtin_typedarray_prototype_length_getter */
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/**
|
/**
|
||||||
* The %TypedArray%.prototype[Symbol.toStringTag] accessor
|
* The %TypedArray%.prototype[Symbol.toStringTag] accessor
|
||||||
*
|
*
|
||||||
@@ -167,7 +166,6 @@ ecma_builtin_typedarray_prototype_to_string_tag_getter (ecma_value_t this_arg) /
|
|||||||
|
|
||||||
return ecma_make_magic_string_value (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)));
|
return ecma_make_magic_string_value (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)));
|
||||||
} /* ecma_builtin_typedarray_prototype_to_string_tag_getter */
|
} /* ecma_builtin_typedarray_prototype_to_string_tag_getter */
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type of routine.
|
* Type of routine.
|
||||||
@@ -332,8 +330,6 @@ ecma_builtin_typedarray_prototype_for_each (ecma_value_t this_arg, /**< this arg
|
|||||||
TYPEDARRAY_ROUTINE_FOREACH);
|
TYPEDARRAY_ROUTINE_FOREACH);
|
||||||
} /* ecma_builtin_typedarray_prototype_for_each */
|
} /* ecma_builtin_typedarray_prototype_for_each */
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper function for typedArray.prototype object's {'keys', 'values', 'entries', '@@iterator'}
|
* Helper function for typedArray.prototype object's {'keys', 'values', 'entries', '@@iterator'}
|
||||||
* routines common parts.
|
* routines common parts.
|
||||||
@@ -415,8 +411,6 @@ ecma_builtin_typedarray_prototype_entries (ecma_value_t this_arg) /**< this argu
|
|||||||
return ecma_builtin_typedarray_iterators_helper (this_arg, ECMA_ITERATOR_KEYS_VALUES);
|
return ecma_builtin_typedarray_iterators_helper (this_arg, ECMA_ITERATOR_KEYS_VALUES);
|
||||||
} /* ecma_builtin_typedarray_prototype_entries */
|
} /* ecma_builtin_typedarray_prototype_entries */
|
||||||
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The %TypedArray%.prototype object's 'map' routine
|
* The %TypedArray%.prototype object's 'map' routine
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -45,12 +45,10 @@ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_LENGTH,
|
|||||||
ecma_builtin_typedarray_prototype_length_getter,
|
ecma_builtin_typedarray_prototype_length_getter,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
/* ECMA-262 v6, 23.1.3.13 */
|
/* ECMA-262 v6, 23.1.3.13 */
|
||||||
ACCESSOR_READ_ONLY (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
ACCESSOR_READ_ONLY (LIT_GLOBAL_SYMBOL_TO_STRING_TAG,
|
||||||
ecma_builtin_typedarray_prototype_to_string_tag_getter,
|
ecma_builtin_typedarray_prototype_to_string_tag_getter,
|
||||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
@@ -75,16 +73,11 @@ ROUTINE (LIT_MAGIC_STRING_LAST_INDEX_OF_UL, ecma_builtin_typedarray_prototype_la
|
|||||||
ROUTINE (LIT_MAGIC_STRING_COPY_WITHIN, ecma_builtin_typedarray_prototype_copy_within, NON_FIXED, 2)
|
ROUTINE (LIT_MAGIC_STRING_COPY_WITHIN, ecma_builtin_typedarray_prototype_copy_within, NON_FIXED, 2)
|
||||||
ROUTINE (LIT_MAGIC_STRING_SLICE, ecma_builtin_typedarray_prototype_slice, NON_FIXED, 2)
|
ROUTINE (LIT_MAGIC_STRING_SLICE, ecma_builtin_typedarray_prototype_slice, NON_FIXED, 2)
|
||||||
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_typedarray_prototype_to_locale_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_typedarray_prototype_to_locale_string, 0, 0)
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
|
|
||||||
ROUTINE (LIT_MAGIC_STRING_KEYS, ecma_builtin_typedarray_prototype_keys, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_KEYS, ecma_builtin_typedarray_prototype_keys, 0, 0)
|
||||||
ROUTINE (LIT_MAGIC_STRING_VALUES, ecma_builtin_typedarray_prototype_values, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUES, ecma_builtin_typedarray_prototype_values, 0, 0)
|
||||||
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ecma_builtin_typedarray_prototype_entries, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_ENTRIES, ecma_builtin_typedarray_prototype_entries, 0, 0)
|
||||||
ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ecma_builtin_typedarray_prototype_values, 0, 0)
|
ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ecma_builtin_typedarray_prototype_values, 0, 0)
|
||||||
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
#endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */
|
#endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */
|
||||||
|
|
||||||
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
||||||
|
|||||||
@@ -179,12 +179,10 @@ ecma_op_object_get_own_property (ecma_object_t *object_p, /**< the object */
|
|||||||
/* ES2015 9.4.5.1 */
|
/* ES2015 9.4.5.1 */
|
||||||
if (ecma_object_is_typedarray (object_p))
|
if (ecma_object_is_typedarray (object_p))
|
||||||
{
|
{
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (ecma_prop_name_is_symbol (property_name_p))
|
if (ecma_prop_name_is_symbol (property_name_p))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
uint32_t array_index = ecma_string_get_array_index (property_name_p);
|
uint32_t array_index = ecma_string_get_array_index (property_name_p);
|
||||||
|
|
||||||
@@ -2167,12 +2165,12 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */
|
|||||||
{
|
{
|
||||||
case ECMA_OBJECT_TYPE_PSEUDO_ARRAY:
|
case ECMA_OBJECT_TYPE_PSEUDO_ARRAY:
|
||||||
{
|
{
|
||||||
#if ENABLED (JERRY_BUILTIN_TYPEDARRAY)
|
#if ENABLED (JERRY_BUILTIN_TYPEDARRAY)
|
||||||
if (ecma_object_is_typedarray (obj_p))
|
if (ecma_object_is_typedarray (obj_p))
|
||||||
{
|
{
|
||||||
ecma_op_typedarray_list_lazy_property_names (obj_p, prop_names_p);
|
ecma_op_typedarray_list_lazy_property_names (obj_p, prop_names_p);
|
||||||
}
|
}
|
||||||
#endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */
|
#endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ECMA_OBJECT_TYPE_FUNCTION:
|
case ECMA_OBJECT_TYPE_FUNCTION:
|
||||||
|
|||||||
@@ -413,7 +413,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL, "symbol")
|
|||||||
|| ENABLED (JERRY_BUILTIN_JSON)
|
|| ENABLED (JERRY_BUILTIN_JSON)
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_JSON_UL, "toJSON")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_JSON_UL, "toJSON")
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
#if ENABLED (JERRY_BUILTIN_MAP) \
|
||||||
|
|| ENABLED (JERRY_BUILTIN_SET) \
|
||||||
|
|| ENABLED (JERRY_BUILTIN_TYPEDARRAY) \
|
||||||
|
|| ENABLED (JERRY_ESNEXT)
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_VALUES, "values")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_VALUES, "values")
|
||||||
#endif
|
#endif
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN_UL, "Boolean")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN_UL, "Boolean")
|
||||||
@@ -445,7 +448,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COMPILE, "compile")
|
|||||||
|| ENABLED (JERRY_MODULE_SYSTEM)
|
|| ENABLED (JERRY_MODULE_SYSTEM)
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFAULT, "default")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFAULT, "default")
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
#if ENABLED (JERRY_BUILTIN_MAP) \
|
||||||
|
|| ENABLED (JERRY_BUILTIN_SET) \
|
||||||
|
|| ENABLED (JERRY_BUILTIN_TYPEDARRAY) \
|
||||||
|
|| ENABLED (JERRY_ESNEXT)
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENTRIES, "entries")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENTRIES, "entries")
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED (JERRY_BUILTIN_ARRAY) \
|
#if ENABLED (JERRY_BUILTIN_ARRAY) \
|
||||||
|
|||||||
@@ -463,13 +463,11 @@ parser_module_parse_import_clause (parser_context_t *context_p) /**< parser cont
|
|||||||
parser_raise_error (context_p, PARSER_ERR_IDENTIFIER_EXPECTED);
|
parser_raise_error (context_p, PARSER_ERR_IDENTIFIER_EXPECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (context_p->next_scanner_info_p->source_p == context_p->source_p)
|
if (context_p->next_scanner_info_p->source_p == context_p->source_p)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (context_p->next_scanner_info_p->type == SCANNER_TYPE_ERR_REDECLARED);
|
JERRY_ASSERT (context_p->next_scanner_info_p->type == SCANNER_TYPE_ERR_REDECLARED);
|
||||||
parser_raise_error (context_p, PARSER_ERR_VARIABLE_REDECLARED);
|
parser_raise_error (context_p, PARSER_ERR_VARIABLE_REDECLARED);
|
||||||
}
|
}
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
ecma_string_t *import_name_p = NULL;
|
ecma_string_t *import_name_p = NULL;
|
||||||
ecma_string_t *local_name_p = NULL;
|
ecma_string_t *local_name_p = NULL;
|
||||||
@@ -490,13 +488,11 @@ parser_module_parse_import_clause (parser_context_t *context_p) /**< parser cont
|
|||||||
parser_raise_error (context_p, PARSER_ERR_IDENTIFIER_EXPECTED);
|
parser_raise_error (context_p, PARSER_ERR_IDENTIFIER_EXPECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (context_p->next_scanner_info_p->source_p == context_p->source_p)
|
if (context_p->next_scanner_info_p->source_p == context_p->source_p)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (context_p->next_scanner_info_p->type == SCANNER_TYPE_ERR_REDECLARED);
|
JERRY_ASSERT (context_p->next_scanner_info_p->type == SCANNER_TYPE_ERR_REDECLARED);
|
||||||
parser_raise_error (context_p, PARSER_ERR_VARIABLE_REDECLARED);
|
parser_raise_error (context_p, PARSER_ERR_VARIABLE_REDECLARED);
|
||||||
}
|
}
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
lexer_construct_literal_object (context_p, &context_p->token.lit_location, LEXER_NEW_IDENT_LITERAL);
|
lexer_construct_literal_object (context_p, &context_p->token.lit_location, LEXER_NEW_IDENT_LITERAL);
|
||||||
|
|
||||||
|
|||||||
@@ -1483,12 +1483,8 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
{
|
{
|
||||||
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
scanner_detect_invalid_let (context_p, literal_p);
|
scanner_detect_invalid_let (context_p, literal_p);
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
||||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_NO_REG;
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
lexer_next_token (context_p);
|
lexer_next_token (context_p);
|
||||||
|
|
||||||
@@ -1522,12 +1518,8 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
|
|
||||||
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
scanner_detect_invalid_let (context_p, literal_p);
|
scanner_detect_invalid_let (context_p, literal_p);
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
||||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_NO_REG;
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
lexer_next_token (context_p);
|
lexer_next_token (context_p);
|
||||||
}
|
}
|
||||||
@@ -1543,9 +1535,7 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
scanner_raise_error (context_p);
|
scanner_raise_error (context_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
const uint8_t *source_p = context_p->source_p;
|
const uint8_t *source_p = context_p->source_p;
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
if (lexer_check_next_character (context_p, LIT_CHAR_LOWERCASE_A))
|
if (lexer_check_next_character (context_p, LIT_CHAR_LOWERCASE_A))
|
||||||
{
|
{
|
||||||
@@ -1564,14 +1554,11 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
scanner_raise_error (context_p);
|
scanner_raise_error (context_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
source_p = context_p->source_p;
|
source_p = context_p->source_p;
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
lexer_lit_location_t *literal_p = scanner_add_literal (context_p, scanner_context_p);
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (literal_p->type & (SCANNER_LITERAL_IS_ARG
|
if (literal_p->type & (SCANNER_LITERAL_IS_ARG
|
||||||
| SCANNER_LITERAL_IS_VAR
|
| SCANNER_LITERAL_IS_VAR
|
||||||
| SCANNER_LITERAL_IS_LOCAL))
|
| SCANNER_LITERAL_IS_LOCAL))
|
||||||
@@ -1586,9 +1573,6 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
}
|
}
|
||||||
|
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
literal_p->type |= SCANNER_LITERAL_IS_LOCAL | SCANNER_LITERAL_NO_REG;
|
||||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
|
||||||
literal_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_NO_REG;
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
lexer_next_token (context_p);
|
lexer_next_token (context_p);
|
||||||
|
|
||||||
@@ -1649,16 +1633,12 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
{
|
{
|
||||||
lexer_lit_location_t *location_p = scanner_add_literal (context_p, scanner_context_p);
|
lexer_lit_location_t *location_p = scanner_add_literal (context_p, scanner_context_p);
|
||||||
|
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (location_p->type & SCANNER_LITERAL_IS_LOCAL
|
if (location_p->type & SCANNER_LITERAL_IS_LOCAL
|
||||||
&& !(location_p->type & SCANNER_LITERAL_IS_FUNC))
|
&& !(location_p->type & SCANNER_LITERAL_IS_FUNC))
|
||||||
{
|
{
|
||||||
scanner_raise_redeclaration_error (context_p);
|
scanner_raise_redeclaration_error (context_p);
|
||||||
}
|
}
|
||||||
location_p->type |= SCANNER_LITERAL_IS_FUNC | SCANNER_LITERAL_IS_LET;
|
location_p->type |= SCANNER_LITERAL_IS_FUNC | SCANNER_LITERAL_IS_LET;
|
||||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
|
||||||
location_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_IS_FUNC;
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
lexer_next_token (context_p);
|
lexer_next_token (context_p);
|
||||||
}
|
}
|
||||||
@@ -1668,11 +1648,7 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
location_p = scanner_add_custom_literal (context_p,
|
location_p = scanner_add_custom_literal (context_p,
|
||||||
scanner_context_p->active_literal_pool_p,
|
scanner_context_p->active_literal_pool_p,
|
||||||
&lexer_default_literal);
|
&lexer_default_literal);
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
location_p->type |= SCANNER_LITERAL_IS_FUNC | SCANNER_LITERAL_IS_LET;
|
location_p->type |= SCANNER_LITERAL_IS_FUNC | SCANNER_LITERAL_IS_LET;
|
||||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
|
||||||
location_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_IS_FUNC;
|
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
scanner_push_literal_pool (context_p, scanner_context_p, SCANNER_LITERAL_POOL_FUNCTION);
|
scanner_push_literal_pool (context_p, scanner_context_p, SCANNER_LITERAL_POOL_FUNCTION);
|
||||||
@@ -1681,7 +1657,6 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
scanner_context_p->mode = SCAN_MODE_FUNCTION_ARGUMENTS;
|
scanner_context_p->mode = SCAN_MODE_FUNCTION_ARGUMENTS;
|
||||||
return SCAN_KEEP_TOKEN;
|
return SCAN_KEEP_TOKEN;
|
||||||
}
|
}
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
if (context_p->token.type == LEXER_KEYW_CLASS)
|
if (context_p->token.type == LEXER_KEYW_CLASS)
|
||||||
{
|
{
|
||||||
scanner_push_class_declaration (context_p, scanner_context_p, SCAN_STACK_CLASS_STATEMENT);
|
scanner_push_class_declaration (context_p, scanner_context_p, SCAN_STACK_CLASS_STATEMENT);
|
||||||
@@ -1703,7 +1678,6 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
literal_p->type |= SCANNER_LITERAL_IS_LET | SCANNER_LITERAL_NO_REG;
|
literal_p->type |= SCANNER_LITERAL_IS_LET | SCANNER_LITERAL_NO_REG;
|
||||||
return SCAN_KEEP_TOKEN;
|
return SCAN_KEEP_TOKEN;
|
||||||
}
|
}
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
|
|
||||||
/* Assignment expression. */
|
/* Assignment expression. */
|
||||||
lexer_lit_location_t *location_p;
|
lexer_lit_location_t *location_p;
|
||||||
@@ -1803,11 +1777,9 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */
|
|||||||
|
|
||||||
switch (context_p->token.type)
|
switch (context_p->token.type)
|
||||||
{
|
{
|
||||||
#if ENABLED (JERRY_ESNEXT)
|
|
||||||
case LEXER_KEYW_CLASS:
|
case LEXER_KEYW_CLASS:
|
||||||
case LEXER_KEYW_LET:
|
case LEXER_KEYW_LET:
|
||||||
case LEXER_KEYW_CONST:
|
case LEXER_KEYW_CONST:
|
||||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
|
||||||
case LEXER_KEYW_VAR:
|
case LEXER_KEYW_VAR:
|
||||||
{
|
{
|
||||||
scanner_context_p->active_literal_pool_p->status_flags |= SCANNER_LITERAL_POOL_IN_EXPORT;
|
scanner_context_p->active_literal_pool_p->status_flags |= SCANNER_LITERAL_POOL_IN_EXPORT;
|
||||||
|
|||||||
Reference in New Issue
Block a user