1 /* Copyright JS Foundation and other contributors, http://js.foundation 2 * 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef ECMA_SYMBOL_H 17 #define ECMA_SYMBOL_H 18 19 #if ENABLED (JERRY_ES2015) 20 #include "ecma-globals.h" 21 22 /** \addtogroup ecma ECMA 23 * @{ 24 * 25 * \addtogroup ecmasymbolobject ECMA Symbol object related routines 26 * @{ 27 */ 28 29 ecma_value_t 30 ecma_op_create_symbol (const ecma_value_t *arguments_list_p, ecma_length_t arguments_list_len); 31 32 ecma_value_t 33 ecma_op_create_symbol_object (const ecma_value_t value); 34 35 bool 36 ecma_prop_name_is_symbol (ecma_string_t *string_p); 37 38 ecma_string_t * 39 ecma_get_symbol_description (ecma_string_t *symbol_p); 40 41 ecma_value_t 42 ecma_symbol_to_string_helper (ecma_value_t this_arg, bool is_to_string); 43 44 ecma_value_t 45 ecma_get_symbol_descriptive_string (ecma_value_t symbol_value); 46 47 #endif /* ENABLED (JERRY_ES2015) */ 48 /** 49 * @} 50 * @} 51 */ 52 53 #endif /* !ECMA_SYMBOL_H */ 54