1425bb815Sopenharmony_ci/* Copyright JS Foundation and other contributors, http://js.foundation
2425bb815Sopenharmony_ci *
3425bb815Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4425bb815Sopenharmony_ci * you may not use this file except in compliance with the License.
5425bb815Sopenharmony_ci * You may obtain a copy of the License at
6425bb815Sopenharmony_ci *
7425bb815Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8425bb815Sopenharmony_ci *
9425bb815Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10425bb815Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS
11425bb815Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12425bb815Sopenharmony_ci * See the License for the specific language governing permissions and
13425bb815Sopenharmony_ci * limitations under the License.
14425bb815Sopenharmony_ci */
15425bb815Sopenharmony_ci
16425bb815Sopenharmony_ci#ifndef ECMA_SYMBOL_H
17425bb815Sopenharmony_ci#define ECMA_SYMBOL_H
18425bb815Sopenharmony_ci
19425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
20425bb815Sopenharmony_ci#include "ecma-globals.h"
21425bb815Sopenharmony_ci
22425bb815Sopenharmony_ci/** \addtogroup ecma ECMA
23425bb815Sopenharmony_ci * @{
24425bb815Sopenharmony_ci *
25425bb815Sopenharmony_ci * \addtogroup ecmasymbolobject ECMA Symbol object related routines
26425bb815Sopenharmony_ci * @{
27425bb815Sopenharmony_ci */
28425bb815Sopenharmony_ci
29425bb815Sopenharmony_ciecma_value_t
30425bb815Sopenharmony_ciecma_op_create_symbol (const ecma_value_t *arguments_list_p, ecma_length_t arguments_list_len);
31425bb815Sopenharmony_ci
32425bb815Sopenharmony_ciecma_value_t
33425bb815Sopenharmony_ciecma_op_create_symbol_object (const ecma_value_t value);
34425bb815Sopenharmony_ci
35425bb815Sopenharmony_cibool
36425bb815Sopenharmony_ciecma_prop_name_is_symbol (ecma_string_t *string_p);
37425bb815Sopenharmony_ci
38425bb815Sopenharmony_ciecma_string_t *
39425bb815Sopenharmony_ciecma_get_symbol_description (ecma_string_t *symbol_p);
40425bb815Sopenharmony_ci
41425bb815Sopenharmony_ciecma_value_t
42425bb815Sopenharmony_ciecma_symbol_to_string_helper (ecma_value_t this_arg, bool is_to_string);
43425bb815Sopenharmony_ci
44425bb815Sopenharmony_ciecma_value_t
45425bb815Sopenharmony_ciecma_get_symbol_descriptive_string (ecma_value_t symbol_value);
46425bb815Sopenharmony_ci
47425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015) */
48425bb815Sopenharmony_ci/**
49425bb815Sopenharmony_ci * @}
50425bb815Sopenharmony_ci * @}
51425bb815Sopenharmony_ci */
52425bb815Sopenharmony_ci
53425bb815Sopenharmony_ci#endif /* !ECMA_SYMBOL_H */
54