diff --git a/jerry-core/ecma/operations/ecma-symbol-object.c b/jerry-core/ecma/operations/ecma-symbol-object.c index 16294ec95..36ae69a9b 100644 --- a/jerry-core/ecma/operations/ecma-symbol-object.c +++ b/jerry-core/ecma/operations/ecma-symbol-object.c @@ -22,6 +22,7 @@ #include "ecma-objects.h" #include "ecma-objects-general.h" #include "ecma-symbol-object.h" +#include "lit-char-helpers.h" #if ENABLED (JERRY_ES2015) @@ -127,13 +128,14 @@ ecma_get_symbol_descriptive_string (ecma_value_t symbol_value) /**< symbol to st ecma_string_t *symbol_p = ecma_get_symbol_from_value (symbol_value); ecma_string_t *string_desc_p = ecma_get_symbol_description (symbol_p); + ecma_stringbuilder_t builder = ecma_stringbuilder_create (); + /* 5. */ - ecma_string_t *concat_p = ecma_concat_ecma_strings (ecma_get_magic_string (LIT_MAGIC_STRING_SYMBOL_LEFT_PAREN_UL), - string_desc_p); + ecma_stringbuilder_append_raw (&builder, (lit_utf8_byte_t *) ("Symbol("), 7); + ecma_stringbuilder_append (&builder, string_desc_p); + ecma_stringbuilder_append_byte (&builder, LIT_CHAR_RIGHT_PAREN); - ecma_string_t *final_str_p = ecma_append_magic_string_to_string (concat_p, LIT_MAGIC_STRING_RIGHT_PAREN); - - return ecma_make_string_value (final_str_p); + return ecma_make_string_value (ecma_stringbuilder_finalize (&builder)); } /* ecma_get_symbol_descriptive_string */ /** diff --git a/jerry-core/lit/lit-magic-strings.inc.h b/jerry-core/lit/lit-magic-strings.inc.h index 29dbc1138..f46fa2622 100644 --- a/jerry-core/lit/lit-magic-strings.inc.h +++ b/jerry-core/lit/lit-magic-strings.inc.h @@ -18,9 +18,6 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING__EMPTY, "") LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPACE_CHAR, " ") -#if ENABLED (JERRY_ES2015) -LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RIGHT_PAREN, ")") -#endif #if ENABLED (JERRY_ES2015_MODULE_SYSTEM) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ASTERIX_CHAR, "*") #endif @@ -377,7 +374,6 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REFLECT_UL, "Reflect") LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SQRT1_2_U, "SQRT1_2") #endif #if ENABLED (JERRY_ES2015) -LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_LEFT_PAREN_UL, "Symbol(") LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_DOT_UL, "Symbol.") #endif #if ENABLED (JERRY_ES2015_BUILTIN_CONTAINER) \ diff --git a/jerry-core/lit/lit-magic-strings.ini b/jerry-core/lit/lit-magic-strings.ini index f19030a33..304b2283e 100644 --- a/jerry-core/lit/lit-magic-strings.ini +++ b/jerry-core/lit/lit-magic-strings.ini @@ -25,7 +25,6 @@ LIT_MAGIC_STRING__EMPTY = "" LIT_MAGIC_STRING_ASTERIX_CHAR = "*" LIT_MAGIC_STRING_SPACE_CHAR = " " -LIT_MAGIC_STRING_RIGHT_PAREN = ")" LIT_MAGIC_STRING_COMMA_CHAR = "," LIT_MAGIC_STRING_COLON_CHAR = ":" LIT_MAGIC_STRING_E_U = "E" @@ -161,7 +160,6 @@ LIT_MAGIC_STRING_BOOLEAN_UL = "Boolean" LIT_MAGIC_STRING_PROMISE_UL = "Promise" LIT_MAGIC_STRING_REFLECT_UL = "Reflect" LIT_MAGIC_STRING_SQRT1_2_U = "SQRT1_2" -LIT_MAGIC_STRING_SYMBOL_LEFT_PAREN_UL = "Symbol(" LIT_MAGIC_STRING_SYMBOL_DOT_UL = "Symbol." LIT_MAGIC_STRING_BOOLEAN = "boolean" LIT_MAGIC_STRING_COMPILE = "compile"