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_OBJECTS_GENERAL_H 17 #define ECMA_OBJECTS_GENERAL_H 18 19 #include "ecma-conversion.h" 20 #include "ecma-globals.h" 21 22 /** \addtogroup ecma ECMA 23 * @{ 24 * 25 * \addtogroup ecmaobjectsinternalops ECMA objects' operations 26 * @{ 27 */ 28 29 ecma_value_t ecma_reject (bool is_throw); 30 ecma_object_t *ecma_op_create_object_object_noarg (void); 31 ecma_value_t ecma_op_create_object_object_arg (ecma_value_t value); 32 ecma_object_t *ecma_op_create_object_object_noarg_and_set_prototype (ecma_object_t *object_prototype_p); 33 34 ecma_value_t ecma_op_general_object_delete (ecma_object_t *obj_p, ecma_string_t *property_name_p, bool is_throw); 35 ecma_value_t ecma_op_general_object_default_value (ecma_object_t *obj_p, ecma_preferred_type_hint_t hint); 36 ecma_value_t ecma_op_general_object_ordinary_value (ecma_object_t *obj_p, ecma_preferred_type_hint_t hint); 37 ecma_value_t ecma_op_general_object_define_own_property (ecma_object_t *object_p, ecma_string_t *property_name_p, 38 const ecma_property_descriptor_t *property_desc_p); 39 40 #if ENABLED (JERRY_ES2015) 41 void ecma_op_to_complete_property_descriptor (ecma_property_descriptor_t *desc_p); 42 43 bool ecma_op_is_compatible_property_descriptor (const ecma_property_descriptor_t *desc_p, 44 const ecma_property_descriptor_t *current_p, 45 bool is_extensible); 46 #endif /* ENABLED (JERRY_ES2015) */ 47 48 /** 49 * @} 50 * @} 51 */ 52 53 #endif /* !ECMA_OBJECTS_GENERAL_H */ 54