From 122480aa6121b04abf1b97f33d215762b7a52d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Csaba=20Osztrogon=C3=A1c?= Date: Tue, 30 Jun 2020 13:54:50 +0200 Subject: [PATCH] JERRY_BUILTIN_xxx macros should depend on JERRY_ESNEXT (#3920) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- jerry-core/config.h | 17 ++++++++++- .../ecma-builtin-arraybuffer-prototype.inc.h | 2 -- .../ecma-builtin-dataview-prototype.inc.h | 2 -- .../ecma-builtin-map-prototype.inc.h | 4 --- .../ecma-builtin-promise-prototype.inc.h | 2 -- .../ecma-builtin-set-prototype.c | 4 +-- .../ecma-builtin-set-prototype.inc.h | 5 ---- .../ecma-builtin-typedarray-prototype.c | 6 ---- .../ecma-builtin-typedarray-prototype.inc.h | 7 ----- jerry-core/ecma/operations/ecma-objects.c | 6 ++-- jerry-core/lit/lit-magic-strings.inc.h | 10 +++++-- jerry-core/parser/js/js-parser-module.c | 4 --- jerry-core/parser/js/js-scanner.c | 28 ------------------- 13 files changed, 27 insertions(+), 70 deletions(-) diff --git a/jerry-core/config.h b/jerry-core/config.h index 49efcd4f6..3d848f799 100644 --- a/jerry-core/config.h +++ b/jerry-core/config.h @@ -559,6 +559,21 @@ || ((JERRY_MODULE_SYSTEM != 0) && (JERRY_MODULE_SYSTEM != 1)) # error "Invalid value for JERRY_MODULE_SYSTEM macro." #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. @@ -685,7 +700,7 @@ #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) # define JERRY_RESOURCE_NAME 1 diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer-prototype.inc.h index ed3725f49..9b1ebb5e1 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer-prototype.inc.h @@ -33,12 +33,10 @@ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_BYTE_LENGTH_UL, ecma_builtin_arraybuffer_prototype_bytelength_getter, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 24.1.4.4 */ STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, LIT_MAGIC_STRING_ARRAY_BUFFER_UL, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ /* Routine properties: * (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.inc.h index 1b301ba7e..158c78888 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.inc.h @@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR, ECMA_BUILTIN_ID_DATAVIEW, ECMA_PROPERTY_CONFIGURABLE_WRITABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 23.2.4.21 */ STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, LIT_MAGIC_STRING_DATAVIEW_UL, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ /* Routine properties: * (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-map-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-map-prototype.inc.h index 94b73b130..bc75896fb 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-map-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-map-prototype.inc.h @@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR, ECMA_BUILTIN_ID_MAP, ECMA_PROPERTY_CONFIGURABLE_WRITABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 23.1.3.13 */ STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, LIT_MAGIC_STRING_MAP_UL, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ /* Routine properties: * (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_HAS, ECMA_CONTAINER_ROUTINE_HAS, 1, 1) 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_VALUES, ECMA_CONTAINER_ROUTINE_VALUES, 0, 0) ROUTINE (LIT_MAGIC_STRING_KEYS, ECMA_CONTAINER_ROUTINE_KEYS, 0, 0) ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ECMA_CONTAINER_ROUTINE_ENTRIES, 0, 0) -#endif /* ENABLED (JERRY_ESNEXT) */ /* ECMA-262 v6, 23.1.3.10 */ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE, diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h index e4715482c..de5d07ec2 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h @@ -24,12 +24,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR, ECMA_BUILTIN_ID_PROMISE, ECMA_PROPERTY_CONFIGURABLE_WRITABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 25.4.5.4 */ STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, LIT_MAGIC_STRING_PROMISE_UL, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ ROUTINE (LIT_MAGIC_STRING_THEN, ecma_builtin_promise_prototype_then, 2, 2) ROUTINE (LIT_MAGIC_STRING_CATCH, ecma_builtin_promise_prototype_catch, 1, 1) diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.c b/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.c index deb371116..44dd8fb17 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.c @@ -37,7 +37,6 @@ * \addtogroup set ECMA Set object built-in * @{ */ -#if ENABLED (JERRY_ESNEXT) /** * 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, LIT_MAGIC_STRING_SET_UL); } /* ecma_builtin_set_prototype_dispatch_routine */ -#endif /* ENABLED (JERRY_ES2015) */ /** * @} * @} * @} */ -#endif /* ENABLED (JERRY_ESNEXT) */ +#endif /* ENABLED (JERRY_BUILTIN_SET) */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.inc.h index f745a57c6..4263c5d30 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.inc.h @@ -29,12 +29,10 @@ OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR, ECMA_BUILTIN_ID_SET, ECMA_PROPERTY_CONFIGURABLE_WRITABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 23.1.3.13 */ STRING_VALUE (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, LIT_MAGIC_STRING_SET_UL, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ /* Routine properties: * (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_FOR_EACH_UL, ECMA_CONTAINER_ROUTINE_FOREACH, 2, 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) INTRINSIC_PROPERTY (LIT_MAGIC_STRING_VALUES, LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS, 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, ECMA_PROPERTY_CONFIGURABLE_WRITABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ - ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_SIZE, ECMA_CONTAINER_ROUTINE_SIZE_GETTER, ECMA_PROPERTY_FLAG_CONFIGURABLE) diff --git a/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c b/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c index c03317db1..da7b04e03 100644 --- a/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c +++ b/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c @@ -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.")); } /* ecma_builtin_typedarray_prototype_length_getter */ -#if ENABLED (JERRY_ESNEXT) /** * 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))); } /* ecma_builtin_typedarray_prototype_to_string_tag_getter */ -#endif /* ENABLED (JERRY_ESNEXT) */ /** * Type of routine. @@ -332,8 +330,6 @@ ecma_builtin_typedarray_prototype_for_each (ecma_value_t this_arg, /**< this arg TYPEDARRAY_ROUTINE_FOREACH); } /* ecma_builtin_typedarray_prototype_for_each */ -#if ENABLED (JERRY_ESNEXT) - /** * Helper function for typedArray.prototype object's {'keys', 'values', 'entries', '@@iterator'} * 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); } /* ecma_builtin_typedarray_prototype_entries */ -#endif /* ENABLED (JERRY_ESNEXT) */ - /** * The %TypedArray%.prototype object's 'map' routine * diff --git a/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.inc.h b/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.inc.h index 1057cb5af..0ce3d1a4b 100644 --- a/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.inc.h @@ -45,12 +45,10 @@ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_LENGTH, ecma_builtin_typedarray_prototype_length_getter, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#if ENABLED (JERRY_ESNEXT) /* ECMA-262 v6, 23.1.3.13 */ ACCESSOR_READ_ONLY (LIT_GLOBAL_SYMBOL_TO_STRING_TAG, ecma_builtin_typedarray_prototype_to_string_tag_getter, ECMA_PROPERTY_FLAG_CONFIGURABLE) -#endif /* ENABLED (JERRY_ESNEXT) */ /* Routine properties: * (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_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) - -#if ENABLED (JERRY_ESNEXT) - 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_ENTRIES, ecma_builtin_typedarray_prototype_entries, 0, 0) ROUTINE (LIT_GLOBAL_SYMBOL_ITERATOR, ecma_builtin_typedarray_prototype_values, 0, 0) -#endif /* ENABLED (JERRY_ESNEXT) */ - #endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */ #include "ecma-builtin-helpers-macro-undefs.inc.h" diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c index 60d51068a..2226b11ca 100644 --- a/jerry-core/ecma/operations/ecma-objects.c +++ b/jerry-core/ecma/operations/ecma-objects.c @@ -179,12 +179,10 @@ ecma_op_object_get_own_property (ecma_object_t *object_p, /**< the object */ /* ES2015 9.4.5.1 */ if (ecma_object_is_typedarray (object_p)) { -#if ENABLED (JERRY_ESNEXT) if (ecma_prop_name_is_symbol (property_name_p)) { break; } -#endif /* ENABLED (JERRY_ESNEXT) */ 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: { - #if ENABLED (JERRY_BUILTIN_TYPEDARRAY) +#if ENABLED (JERRY_BUILTIN_TYPEDARRAY) if (ecma_object_is_typedarray (obj_p)) { ecma_op_typedarray_list_lazy_property_names (obj_p, prop_names_p); } - #endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */ +#endif /* ENABLED (JERRY_BUILTIN_TYPEDARRAY) */ break; } case ECMA_OBJECT_TYPE_FUNCTION: diff --git a/jerry-core/lit/lit-magic-strings.inc.h b/jerry-core/lit/lit-magic-strings.inc.h index fa76f091a..93da94331 100644 --- a/jerry-core/lit/lit-magic-strings.inc.h +++ b/jerry-core/lit/lit-magic-strings.inc.h @@ -413,7 +413,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL, "symbol") || ENABLED (JERRY_BUILTIN_JSON) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_JSON_UL, "toJSON") #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") #endif 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) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFAULT, "default") #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") #endif #if ENABLED (JERRY_BUILTIN_ARRAY) \ diff --git a/jerry-core/parser/js/js-parser-module.c b/jerry-core/parser/js/js-parser-module.c index b89bd1504..861ae4d71 100644 --- a/jerry-core/parser/js/js-parser-module.c +++ b/jerry-core/parser/js/js-parser-module.c @@ -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); } -#if ENABLED (JERRY_ESNEXT) 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); parser_raise_error (context_p, PARSER_ERR_VARIABLE_REDECLARED); } -#endif /* ENABLED (JERRY_ESNEXT) */ ecma_string_t *import_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); } -#if ENABLED (JERRY_ESNEXT) 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); 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); diff --git a/jerry-core/parser/js/js-scanner.c b/jerry-core/parser/js/js-scanner.c index aed97c0f5..bdd5a8f08 100644 --- a/jerry-core/parser/js/js-scanner.c +++ b/jerry-core/parser/js/js-scanner.c @@ -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); -#if ENABLED (JERRY_ESNEXT) scanner_detect_invalid_let (context_p, literal_p); 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); @@ -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); -#if ENABLED (JERRY_ESNEXT) scanner_detect_invalid_let (context_p, literal_p); 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); } @@ -1543,9 +1535,7 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */ scanner_raise_error (context_p); } -#if ENABLED (JERRY_ESNEXT) const uint8_t *source_p = context_p->source_p; -#endif /* ENABLED (JERRY_ESNEXT) */ 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); } -#if ENABLED (JERRY_ESNEXT) source_p = context_p->source_p; -#endif /* ENABLED (JERRY_ESNEXT) */ } 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 | SCANNER_LITERAL_IS_VAR | 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; -#else /* !ENABLED (JERRY_ESNEXT) */ - literal_p->type |= SCANNER_LITERAL_IS_VAR | SCANNER_LITERAL_NO_REG; -#endif /* ENABLED (JERRY_ESNEXT) */ 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); -#if ENABLED (JERRY_ESNEXT) if (location_p->type & SCANNER_LITERAL_IS_LOCAL && !(location_p->type & SCANNER_LITERAL_IS_FUNC)) { scanner_raise_redeclaration_error (context_p); } 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); } @@ -1668,11 +1648,7 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */ location_p = scanner_add_custom_literal (context_p, scanner_context_p->active_literal_pool_p, &lexer_default_literal); -#if ENABLED (JERRY_ESNEXT) 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); @@ -1681,7 +1657,6 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */ scanner_context_p->mode = SCAN_MODE_FUNCTION_ARGUMENTS; return SCAN_KEEP_TOKEN; } -#if ENABLED (JERRY_ESNEXT) if (context_p->token.type == LEXER_KEYW_CLASS) { 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; return SCAN_KEEP_TOKEN; } -#endif /* ENABLED (JERRY_ESNEXT) */ /* Assignment expression. */ lexer_lit_location_t *location_p; @@ -1803,11 +1777,9 @@ scanner_scan_statement (parser_context_t *context_p, /**< context */ switch (context_p->token.type) { -#if ENABLED (JERRY_ESNEXT) case LEXER_KEYW_CLASS: case LEXER_KEYW_LET: case LEXER_KEYW_CONST: -#endif /* ENABLED (JERRY_ESNEXT) */ case LEXER_KEYW_VAR: { scanner_context_p->active_literal_pool_p->status_flags |= SCANNER_LITERAL_POOL_IN_EXPORT;