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
29ecma_value_t
30ecma_op_create_symbol (const ecma_value_t *arguments_list_p, ecma_length_t arguments_list_len);
31
32ecma_value_t
33ecma_op_create_symbol_object (const ecma_value_t value);
34
35bool
36ecma_prop_name_is_symbol (ecma_string_t *string_p);
37
38ecma_string_t *
39ecma_get_symbol_description (ecma_string_t *symbol_p);
40
41ecma_value_t
42ecma_symbol_to_string_helper (ecma_value_t this_arg, bool is_to_string);
43
44ecma_value_t
45ecma_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