您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ECMA_ERR_MSG函数代码示例

51自学网 2021-06-01 20:30:54
  C++
这篇教程C++ ECMA_ERR_MSG函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ECMA_ERR_MSG函数的典型用法代码示例。如果您正苦于以下问题:C++ ECMA_ERR_MSG函数的具体用法?C++ ECMA_ERR_MSG怎么用?C++ ECMA_ERR_MSG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ECMA_ERR_MSG函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ecma_builtin_typedarray_from

/** * The %TypedArray%.from routine * * See also: *         ES2015 22.2.2.1 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_typedarray_from (ecma_value_t this_arg, /**< 'this' argument */                              const ecma_value_t *arguments_list_p, /**< arguments list */                              ecma_length_t arguments_list_len) /**< number of arguments */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  if (!ecma_is_constructor (this_arg))  {    return ecma_raise_type_error (ECMA_ERR_MSG ("'this' is not a constructor."));  }  ecma_value_t source;  ecma_value_t map_fn = ECMA_VALUE_UNDEFINED;  ecma_value_t this_in_fn = ECMA_VALUE_UNDEFINED;  if (arguments_list_len == 0)  {    return ecma_raise_type_error (ECMA_ERR_MSG ("no source argument"));  }  source = arguments_list_p[0];  if (arguments_list_len > 1)  {    map_fn = arguments_list_p[1];    if (!ecma_op_is_callable (map_fn))    {      return ecma_raise_type_error (ECMA_ERR_MSG ("mapfn argument is not callable"));    }    if (arguments_list_len > 2)    {      this_in_fn = arguments_list_p[2];    }  }  ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);  const uint8_t builtin_id = ecma_get_object_builtin_id (obj_p);  if (!ecma_typedarray_helper_is_typedarray (builtin_id))  {    return ecma_raise_type_error (ECMA_ERR_MSG ("'this' is not a typedarray constructor"));  }  ecma_object_t *proto_p = ecma_builtin_get (ecma_typedarray_helper_get_prototype_id (builtin_id));  const uint8_t element_size_shift = ecma_typedarray_helper_get_shift_size (builtin_id);  const lit_magic_string_id_t class_id = ecma_typedarray_helper_get_magic_string (builtin_id);  return ecma_op_typedarray_from (source,                                  map_fn,                                  this_in_fn,                                  proto_p,                                  element_size_shift,                                  class_id);} /* ecma_builtin_typedarray_from */
开发者ID:Samsung,项目名称:jerryscript,代码行数:68,


示例2: ecma_op_resolve_reference_value

/** * Resolve value corresponding to reference. * * @return value of the reference */ecma_value_tecma_op_resolve_reference_value (ecma_object_t *lex_env_p, /**< starting lexical environment */                                 ecma_string_t *name_p, /**< identifier's name */                                 bool is_strict) /**< strict mode */{  JERRY_ASSERT (lex_env_p != NULL);  while (lex_env_p != NULL)  {    if (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE)    {      ecma_property_t *property_p = ecma_find_named_property (lex_env_p, name_p);      if (property_p != NULL)      {        ecma_value_t prop_value = ecma_get_named_data_property_value (property_p);        /* is the binding mutable? */        if (unlikely (!ecma_is_property_writable (property_p)                      && ecma_is_value_empty (prop_value)))        {          /* unitialized mutable binding */          if (is_strict)          {            return ecma_raise_reference_error (ECMA_ERR_MSG (""));          }          else          {            return ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED);          }        }        return ecma_fast_copy_value (prop_value);      }    }    else    {      JERRY_ASSERT (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_OBJECT_BOUND                    || ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_THIS_OBJECT_BOUND);      ecma_object_t *binding_obj_p = ecma_get_lex_env_binding_object (lex_env_p);      ecma_property_t *property_p = ecma_op_object_get_property (binding_obj_p, name_p);      if (property_p != NULL)      {        return ecma_op_object_get (binding_obj_p, name_p);      }    }    lex_env_p = ecma_get_lex_env_outer_reference (lex_env_p);  }  return ecma_raise_reference_error (ECMA_ERR_MSG (""));} /* ecma_op_resolve_reference_value */
开发者ID:dmethvin,项目名称:jerryscript,代码行数:59,


示例3: ecma_builtin_object_prototype_object_to_locale_string

/** * The Object.prototype object's 'toLocaleString' routine * * See also: *          ECMA-262 v5, 15.2.4.3 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_object_prototype_object_to_locale_string (ecma_value_t this_arg) /**< this argument */{  ecma_value_t return_value = ECMA_VALUE_EMPTY;  /* 1. */  ECMA_TRY_CATCH (obj_val,                  ecma_op_to_object (this_arg),                  return_value);  ecma_object_t *obj_p = ecma_get_object_from_value (obj_val);  /* 2. */  ECMA_TRY_CATCH (to_string_val,                  ecma_op_object_get_by_magic_id (obj_p, LIT_MAGIC_STRING_TO_STRING_UL),                  return_value);  /* 3. */  if (!ecma_op_is_callable (to_string_val))  {    return_value = ecma_raise_type_error (ECMA_ERR_MSG ("'toString is missing or not a function.'"));  }  else  {    /* 4. */    ecma_object_t *to_string_func_obj_p = ecma_get_object_from_value (to_string_val);    return_value = ecma_op_function_call (to_string_func_obj_p, this_arg, NULL, 0);  }  ECMA_FINALIZE (to_string_val);  ECMA_FINALIZE (obj_val);  return return_value;} /* ecma_builtin_object_prototype_object_to_locale_string */
开发者ID:grgustaf,项目名称:jerryscript,代码行数:42,


示例4: ecma_builtin_number_prototype_object_value_of

/** * The Number.prototype object's 'valueOf' routine * * See also: *          ECMA-262 v5, 15.7.4.4 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_number_prototype_object_value_of (ecma_value_t this_arg) /**< this argument */{  if (ecma_is_value_number (this_arg))  {    return ecma_copy_value (this_arg);  }  else if (ecma_is_value_object (this_arg))  {    ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);    if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_NUMBER_UL)    {      ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,                                                                       ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);      ecma_number_t *prim_value_num_p;      prim_value_num_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_number_t,                                                          ecma_get_internal_property_value (prim_value_prop_p));      ecma_number_t *ret_num_p = ecma_alloc_number ();      *ret_num_p = *prim_value_num_p;      return ecma_make_number_value (ret_num_p);    }  }  return ecma_raise_type_error (ECMA_ERR_MSG (""));} /* ecma_builtin_number_prototype_object_value_of */
开发者ID:Akromx16,项目名称:jerryscript,代码行数:38,


示例5: ecma_builtin_date_prototype_to_json

/** * The Date.prototype object's 'toJSON' routine * * See also: *          ECMA-262 v5, 15.9.5.44 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_prototype_to_json (ecma_value_t this_arg, /**< this argument */                                     ecma_value_t arg) /**< key */{  JERRY_UNUSED (arg);  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  /* 1. */  ECMA_TRY_CATCH (obj,                  ecma_op_to_object (this_arg),                  ret_value);  /* 2. */  ECMA_TRY_CATCH (tv,                  ecma_op_to_primitive (obj, ECMA_PREFERRED_TYPE_NUMBER),                  ret_value);  /* 3. */  if (ecma_is_value_number (tv))  {    ecma_number_t num_value = ecma_get_number_from_value (tv);    if (ecma_number_is_nan (num_value) || ecma_number_is_infinity (num_value))    {      ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_NULL);    }  }  if (ecma_is_value_empty (ret_value))  {    ecma_string_t *to_iso_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_TO_ISO_STRING_UL);    ecma_object_t *value_obj_p = ecma_get_object_from_value (obj);    /* 4. */    ECMA_TRY_CATCH (to_iso,                    ecma_op_object_get (value_obj_p, to_iso_str_p),                    ret_value);    /* 5. */    if (!ecma_op_is_callable (to_iso))    {      ret_value = ecma_raise_type_error (ECMA_ERR_MSG (""));    }    /* 6. */    else    {      ecma_object_t *to_iso_obj_p = ecma_get_object_from_value (to_iso);      ret_value = ecma_op_function_call (to_iso_obj_p, this_arg, NULL, 0);    }    ECMA_FINALIZE (to_iso);    ecma_deref_ecma_string (to_iso_str_p);  }  ECMA_FINALIZE (tv);  ECMA_FINALIZE (obj);  return ret_value;} /* ecma_builtin_date_prototype_to_json */
开发者ID:robertsipka,项目名称:jerryscript,代码行数:69,


示例6: opfunc_in

/** * 'in' opcode handler. * * See also: ECMA-262 v5, 11.8.7 * * @return ecma value *         returned value must be freed with ecma_free_value. */ecma_value_topfunc_in (ecma_value_t left_value, /**< left value */           ecma_value_t right_value) /**< right value */{  if (!ecma_is_value_object (right_value))  {    return ecma_raise_type_error (ECMA_ERR_MSG ("Expected an object in 'in' check."));  }  bool to_string = !ecma_is_value_string (left_value);  if (to_string)  {    left_value = ecma_op_to_string (left_value);    if (ECMA_IS_VALUE_ERROR (left_value))    {      return left_value;    }  }  ecma_string_t *left_value_prop_name_p = ecma_get_string_from_value (left_value);  ecma_object_t *right_value_obj_p = ecma_get_object_from_value (right_value);  ecma_value_t result = ecma_make_boolean_value (ecma_op_object_has_property (right_value_obj_p,                                                                              left_value_prop_name_p));  if (to_string)  {    ecma_free_value (left_value);  }  return result;} /* opfunc_in */
开发者ID:Samsung,项目名称:jerryscript,代码行数:41,


示例7: opfunc_in

/** * 'in' opcode handler. * * See also: ECMA-262 v5, 11.8.7 * * @return ecma value *         returned value must be freed with ecma_free_value. */ecma_value_topfunc_in (ecma_value_t left_value, /**< left value */           ecma_value_t right_value) /**< right value */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_is_value_object (right_value))  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    ECMA_TRY_CATCH (str_left_value, ecma_op_to_string (left_value), ret_value);    ecma_string_t *left_value_prop_name_p = ecma_get_string_from_value (str_left_value);    ecma_object_t *right_value_obj_p = ecma_get_object_from_value (right_value);    if (ecma_op_object_get_property (right_value_obj_p, left_value_prop_name_p) != NULL)    {      ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_TRUE);    }    else    {      ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_FALSE);    }    ECMA_FINALIZE (str_left_value);  }  return ret_value;} /* opfunc_in */
开发者ID:dmethvin,项目名称:jerryscript,代码行数:39,


示例8: ecma_op_to_object

/** * ToObject operation. * * See also: *          ECMA-262 v5, 9.9 * * @return ecma value *         Returned value must be freed with ecma_free_value */ecma_value_tecma_op_to_object (ecma_value_t value) /**< ecma value */{  ecma_check_value_type_is_spec_defined (value);  if (ecma_is_value_number (value))  {    return ecma_op_create_number_object (value);  }  else if (ecma_is_value_string (value))  {    return ecma_op_create_string_object (&value, 1);  }  else if (ecma_is_value_object (value))  {    return ecma_copy_value (value);  }  else  {    if (ecma_is_value_undefined (value)        || ecma_is_value_null (value))    {      return ecma_raise_type_error (ECMA_ERR_MSG (""));    }    else    {      JERRY_ASSERT (ecma_is_value_boolean (value));      return ecma_op_create_boolean_object (value);    }  }} /* ecma_op_to_object */
开发者ID:vvreal,项目名称:jerryscript,代码行数:41,


示例9: opfunc_instanceof

/** * 'instanceof' opcode handler. * * See also: ECMA-262 v5, 11.8.6 * * @return ecma value *         returned value must be freed with ecma_free_value. */ecma_value_topfunc_instanceof (ecma_value_t left_value, /**< left value */                   ecma_value_t right_value) /**< right value */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_is_value_object (right_value))  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Expected an object in 'instanceof' check."));  }  else  {    ecma_object_t *right_value_obj_p = ecma_get_object_from_value (right_value);    ECMA_TRY_CATCH (is_instance_of,                    ecma_op_object_has_instance (right_value_obj_p, left_value),                    ret_value);    ret_value = is_instance_of;    ECMA_FINALIZE (is_instance_of);  }  return ret_value;} /* opfunc_instanceof */
开发者ID:drashti304,项目名称:TizenRT,代码行数:33,


示例10: ecma_builtin_helper_get_to_locale_string_at_index

/** * The Array.prototype's 'toLocaleString' single element operation routine * * See also: *          ECMA-262 v5, 15.4.4.3 steps 6-8 and 10.b-d * * @return ecma value *         Returned value must be freed with ecma_free_value. */ecma_value_tecma_builtin_helper_get_to_locale_string_at_index (ecma_object_t *obj_p, /**< this object */                                                   uint32_t index) /**< array index */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  ecma_string_t *index_string_p = ecma_new_ecma_string_from_uint32 (index);  ECMA_TRY_CATCH (index_value,                  ecma_op_object_get (obj_p, index_string_p),                  ret_value);  if (ecma_is_value_undefined (index_value) || ecma_is_value_null (index_value))  {    ecma_string_t *return_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);    ret_value = ecma_make_string_value (return_string_p);  }  else  {    ECMA_TRY_CATCH (index_obj_value,                    ecma_op_to_object (index_value),                    ret_value);    ecma_object_t *index_obj_p = ecma_get_object_from_value (index_obj_value);    ecma_string_t *locale_string_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL);    ECMA_TRY_CATCH (to_locale_value,                    ecma_op_object_get (index_obj_p, locale_string_magic_string_p),                    ret_value);    if (ecma_op_is_callable (to_locale_value))    {      ecma_object_t *locale_func_obj_p = ecma_get_object_from_value (to_locale_value);      ECMA_TRY_CATCH (call_value,                      ecma_op_function_call (locale_func_obj_p,                                             ecma_make_object_value (index_obj_p),                                             NULL,                                             0),                      ret_value);      ret_value = ecma_op_to_string (call_value);      ECMA_FINALIZE (call_value);    }    else    {      ret_value = ecma_raise_type_error (ECMA_ERR_MSG (""));    }    ECMA_FINALIZE (to_locale_value);    ecma_deref_ecma_string (locale_string_magic_string_p);    ECMA_FINALIZE (index_obj_value);  }  ECMA_FINALIZE (index_value);  ecma_deref_ecma_string (index_string_p);  return ret_value;} /* ecma_builtin_helper_get_to_locale_string_at_index */
开发者ID:gudbooy,项目名称:jerryscript,代码行数:69,


示例11: ecma_builtin_date_prototype_set_time

/** * The Date.prototype object's 'setTime' routine * * See also: *          ECMA-262 v5, 15.9.5.27 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_prototype_set_time (ecma_value_t this_arg, /**< this argument */                                      ecma_value_t time) /**< time */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_is_value_object (this_arg)      || ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != LIT_MAGIC_STRING_DATE_UL)  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Incompatible type"));  }  else  {    /* 1. */    ECMA_OP_TO_NUMBER_TRY_CATCH (t, time, ret_value);    ecma_number_t *value_p = ecma_alloc_number ();    *value_p = ecma_date_time_clip (t);    /* 2. */    ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);    ecma_property_t *prim_prop_p = ecma_get_internal_property (obj_p,                                                               ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);    ecma_number_t *prim_value_num_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_number_t,                                                                       ecma_get_internal_property_value (prim_prop_p));    *prim_value_num_p = *value_p;    /* 3. */    ret_value = ecma_make_number_value (value_p);    ECMA_OP_TO_NUMBER_FINALIZE (t);  }  return ret_value;} /* ecma_builtin_date_prototype_set_time */
开发者ID:Akromx16,项目名称:jerryscript,代码行数:44,


示例12: ecma_builtin_function_prototype_object_call

/** * The Function.prototype object's 'call' routine * * See also: *          ECMA-262 v5, 15.3.4.4 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_function_prototype_object_call (ecma_value_t this_arg, /**< this argument */                                             const ecma_value_t *arguments_list_p, /**< list of arguments */                                             ecma_length_t arguments_number) /**< number of arguments */{  if (!ecma_op_is_callable (this_arg))  {    return ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    ecma_object_t *func_obj_p = ecma_get_object_from_value (this_arg);    if (arguments_number == 0)    {      /* Even a 'this' argument is missing. */      return ecma_op_function_call (func_obj_p,                                    ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED),                                    NULL,                                    0);    }    else    {      return ecma_op_function_call (func_obj_p,                                    arguments_list_p[0],                                    arguments_list_p + 1,                                    (ecma_length_t) (arguments_number - 1u));    }  }} /* ecma_builtin_function_prototype_object_call */
开发者ID:robertsipka,项目名称:jerryscript,代码行数:39,


示例13: ecma_builtin_uint16array_dispatch_call

/** * Handle calling [[Call]] of Uint16Array * * @return ecma value */ecma_value_tecma_builtin_uint16array_dispatch_call (const ecma_value_t *arguments_list_p, /**< arguments list */                                        ecma_length_t arguments_list_len) /**< number of arguments */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  return ecma_raise_type_error (ECMA_ERR_MSG ("Uint16Array cannot be directly called"));} /* ecma_builtin_uint16array_dispatch_call */
开发者ID:drashti304,项目名称:TizenRT,代码行数:13,


示例14: ecma_builtin_typedarray_dispatch_construct

/** * Handle calling [[Construct]] of built-in %TypedArray% object * * ES2015 22.2.1 If %TypedArray% is directly called or * called as part of a new expression an exception is thrown * * @return ecma value */ecma_value_tecma_builtin_typedarray_dispatch_construct (const ecma_value_t *arguments_list_p, /**< arguments list */                                            ecma_length_t arguments_list_len) /**< number of arguments */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  return ecma_raise_type_error (ECMA_ERR_MSG ("TypedArray intrinstic cannot be called by a 'new' expression"));} /* ecma_builtin_typedarray_dispatch_construct */
开发者ID:Samsung,项目名称:jerryscript,代码行数:16,


示例15: ecma_builtin_arraybuffer_dispatch_call

/** * Handle calling [[Call]] of built-in ArrayBuffer object * * ES2015 24.1.2 ArrayBuffer is not intended to be called as * a function and will throw an exception when called in * that manner. * * @return ecma value */ecma_value_tecma_builtin_arraybuffer_dispatch_call (const ecma_value_t *arguments_list_p, /**< arguments list */                                        ecma_length_t arguments_list_len) /**< number of arguments */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  return ecma_raise_type_error (ECMA_ERR_MSG ("Constructor ArrayBuffer requires 'new'"));} /* ecma_builtin_arraybuffer_dispatch_call */
开发者ID:garryxin,项目名称:HelloX_OS,代码行数:17,


示例16: ecma_builtin_function_prototype_dispatch_construct

/** * Handle calling [[Construct]] of built-in Function.prototype object * * @return ecma value */ecma_value_tecma_builtin_function_prototype_dispatch_construct (const ecma_value_t *arguments_list_p, /**< arguments list */                                                    ecma_length_t arguments_list_len) /**< number of arguments */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  return ecma_raise_type_error (ECMA_ERR_MSG (""));} /* ecma_builtin_function_prototype_dispatch_construct */
开发者ID:robertsipka,项目名称:jerryscript,代码行数:13,


示例17: ecma_builtin_date_prototype_to_json

/** * The Date.prototype object's 'toJSON' routine * * See also: *          ECMA-262 v5, 15.9.5.44 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_prototype_to_json (ecma_value_t this_arg) /**< this argument */{  ecma_value_t ret_value = ECMA_VALUE_EMPTY;  /* 1. */  ECMA_TRY_CATCH (obj,                  ecma_op_to_object (this_arg),                  ret_value);  /* 2. */  ECMA_TRY_CATCH (tv,                  ecma_op_to_primitive (obj, ECMA_PREFERRED_TYPE_NUMBER),                  ret_value);  /* 3. */  if (ecma_is_value_number (tv))  {    ecma_number_t num_value = ecma_get_number_from_value (tv);    if (ecma_number_is_nan (num_value) || ecma_number_is_infinity (num_value))    {      ret_value = ECMA_VALUE_NULL;    }  }  if (ecma_is_value_empty (ret_value))  {    ecma_object_t *value_obj_p = ecma_get_object_from_value (obj);    /* 4. */    ECMA_TRY_CATCH (to_iso,                    ecma_op_object_get_by_magic_id (value_obj_p, LIT_MAGIC_STRING_TO_ISO_STRING_UL),                    ret_value);    /* 5. */    if (!ecma_op_is_callable (to_iso))    {      ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("'toISOString' is missing or not a function."));    }    /* 6. */    else    {      ecma_object_t *to_iso_obj_p = ecma_get_object_from_value (to_iso);      ret_value = ecma_op_function_call (to_iso_obj_p, this_arg, NULL, 0);    }    ECMA_FINALIZE (to_iso);  }  ECMA_FINALIZE (tv);  ECMA_FINALIZE (obj);  return ret_value;} /* ecma_builtin_date_prototype_to_json */
开发者ID:jimmy-huang,项目名称:jerryscript,代码行数:64,


示例18: opfunc_instanceof

/** * 'instanceof' opcode handler. * * See also: ECMA-262 v5, 11.8.6 * * @return ecma value *         returned value must be freed with ecma_free_value. */ecma_value_topfunc_instanceof (ecma_value_t left_value, /**< left value */                   ecma_value_t right_value) /**< right value */{  if (!ecma_is_value_object (right_value))  {    return ecma_raise_type_error (ECMA_ERR_MSG ("Expected an object in 'instanceof' check."));  }  ecma_object_t *right_value_obj_p = ecma_get_object_from_value (right_value);  return ecma_op_object_has_instance (right_value_obj_p, left_value);} /* opfunc_instanceof */
开发者ID:Samsung,项目名称:jerryscript,代码行数:20,


示例19: ecma_builtin_regexp_prototype_exec

/** * The RegExp.prototype object's 'exec' routine * * See also: *          ECMA-262 v5, 15.10.6.2 * * @return array object containing the results - if the matched *         null                                - otherwise * *         May raise error, so returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_regexp_prototype_exec (ecma_value_t this_arg, /**< this argument */                                    ecma_value_t arg) /**< routine's argument */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_is_value_object (this_arg)      || ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != LIT_MAGIC_STRING_REGEXP_UL)  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Incomplete RegExp type"));  }  else  {    ECMA_TRY_CATCH (obj_this, ecma_op_to_object (this_arg), ret_value);    ECMA_TRY_CATCH (input_str_value,                    ecma_op_to_string (arg),                    ret_value);    ecma_property_t *bytecode_prop_p;    ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);    bytecode_prop_p = ecma_get_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_REGEXP_BYTECODE);    void *bytecode_p = ECMA_GET_INTERNAL_VALUE_POINTER (void, ecma_get_internal_property_value (bytecode_prop_p));    if (bytecode_p == NULL)    {      /* Missing bytecode means empty RegExp: '/(?:)/', so always return empty string. */      ecma_string_t *capture_str_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);      ecma_value_t arguments_list[1];      arguments_list[0] = ecma_make_string_value (capture_str_p);      ret_value = ecma_op_create_array_object (arguments_list, 1, false);      ecma_deref_ecma_string (capture_str_p);      re_set_result_array_properties (ecma_get_object_from_value (ret_value),                                      ecma_get_string_from_value (input_str_value),                                      1,                                      0);    }    else    {      ret_value = ecma_regexp_exec_helper (obj_this, input_str_value, false);    }    ECMA_FINALIZE (input_str_value);    ECMA_FINALIZE (obj_this);  }  return ret_value;} /* ecma_builtin_regexp_prototype_exec */
开发者ID:jjykh,项目名称:jerryscript,代码行数:64,


示例20: ecma_reject

/** * Reject sequence * * @return ecma value *         Returned value must be freed with ecma_free_value */ecma_value_tecma_reject (bool is_throw) /**< Throw flag */{  if (is_throw)  {    return ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    return ecma_make_simple_value (ECMA_SIMPLE_VALUE_FALSE);  }} /* ecma_reject */
开发者ID:davidgs,项目名称:jerryscript,代码行数:18,


示例21: ecma_builtin_function_prototype_object_to_string

/** * The Function.prototype object's 'toString' routine * * See also: *          ECMA-262 v5, 15.3.4.2 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_function_prototype_object_to_string (ecma_value_t this_arg) /**< this argument */{  ecma_value_t ret_value = ECMA_VALUE_EMPTY;  if (!ecma_op_is_callable (this_arg))  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a function."));  }  else  {    ret_value = ecma_make_magic_string_value (LIT_MAGIC_STRING__FUNCTION_TO_STRING);  }  return ret_value;} /* ecma_builtin_function_prototype_object_to_string */
开发者ID:grgustaf,项目名称:jerryscript,代码行数:24,


示例22: ecma_op_check_object_coercible

/** * CheckObjectCoercible operation. * * See also: *          ECMA-262 v5, 9.10 * * @return ecma value *         Returned value must be freed with ecma_free_value */ecma_value_tecma_op_check_object_coercible (ecma_value_t value) /**< ecma value */{  ecma_check_value_type_is_spec_defined (value);  if (ecma_is_value_undefined (value)      || ecma_is_value_null (value))  {    return ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    return ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  }} /* ecma_op_check_object_coercible */
开发者ID:vvreal,项目名称:jerryscript,代码行数:24,


示例23: ecma_builtin_function_prototype_object_to_string

/** * The Function.prototype object's 'toString' routine * * See also: *          ECMA-262 v5, 15.3.4.2 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_function_prototype_object_to_string (ecma_value_t this_arg) /**< this argument */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_op_is_callable (this_arg))  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    ecma_string_t *function_to_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__FUNCTION_TO_STRING);    ret_value = ecma_make_string_value (function_to_string_p);  }  return ret_value;} /* ecma_builtin_function_prototype_object_to_string */
开发者ID:robertsipka,项目名称:jerryscript,代码行数:25,


示例24: ecma_op_set_mutable_binding

/** * SetMutableBinding operation. * * See also: ECMA-262 v5, 10.2.1 * * @return ecma value *         Returned value must be freed with ecma_free_value. */ecma_value_tecma_op_set_mutable_binding (ecma_object_t *lex_env_p, /**< lexical environment */                             ecma_string_t *name_p, /**< argument N */                             ecma_value_t value, /**< argument V */                             bool is_strict) /**< argument S */{  JERRY_ASSERT (lex_env_p != NULL                && ecma_is_lexical_environment (lex_env_p));  JERRY_ASSERT (name_p != NULL);  if (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE)  {    ecma_property_t *property_p = ecma_find_named_property (lex_env_p, name_p);    JERRY_ASSERT (property_p != NULL                  && ECMA_PROPERTY_GET_TYPE (*property_p) == ECMA_PROPERTY_TYPE_NAMEDDATA);    if (ecma_is_property_writable (*property_p))    {      ecma_named_data_property_assign_value (lex_env_p, ECMA_PROPERTY_VALUE_PTR (property_p), value);    }    else if (is_strict)    {      return ecma_raise_type_error (ECMA_ERR_MSG ("Binding cannot be set."));    }  }  else  {    JERRY_ASSERT (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_THIS_OBJECT_BOUND);    ecma_object_t *binding_obj_p = ecma_get_lex_env_binding_object (lex_env_p);    ecma_value_t completion = ecma_op_object_put (binding_obj_p,                                                  name_p,                                                  value,                                                  is_strict);    if (ECMA_IS_VALUE_ERROR (completion))    {      return completion;    }    JERRY_ASSERT (ecma_is_value_boolean (completion));  }  return ECMA_VALUE_EMPTY;} /* ecma_op_set_mutable_binding */
开发者ID:Samsung,项目名称:jerryscript,代码行数:55,


示例25: ecma_op_create_arraybuffer_object

/** * ArrayBuffer object creation operation. * * See also: ES2015 24.1.1.1 * * @return ecma value *         Returned value must be freed with ecma_free_value */ecma_value_tecma_op_create_arraybuffer_object (const ecma_value_t *arguments_list_p, /**< list of arguments that                                                                          *   are passed to String constructor */                                   ecma_length_t arguments_list_len) /**< length of the arguments' list */{  JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);  ecma_number_t length_num = 0;  if (arguments_list_len > 0)  {    if (ecma_is_value_number (arguments_list_p[0]))    {      length_num = ecma_get_number_from_value (arguments_list_p[0]);    }    else    {      ecma_value_t to_number_value = ecma_op_to_number (arguments_list_p[0]);      if (ECMA_IS_VALUE_ERROR (to_number_value))      {        return to_number_value;      }      length_num = ecma_get_number_from_value (to_number_value);      ecma_free_value (to_number_value);    }    if (ecma_number_is_nan (length_num))    {      length_num = 0;    }    const uint32_t maximum_size_in_byte = UINT32_MAX - sizeof (ecma_extended_object_t) - JMEM_ALIGNMENT + 1;    if (length_num <= -1.0 || length_num > (double) maximum_size_in_byte + 0.5)    {      return ecma_raise_range_error (ECMA_ERR_MSG ("Invalid ArrayBuffer length."));    }  }  uint32_t length_uint32 = ecma_number_to_uint32 (length_num);  return ecma_make_object_value (ecma_arraybuffer_new_object (length_uint32));} /* ecma_op_create_arraybuffer_object */
开发者ID:grgustaf,项目名称:jerryscript,代码行数:55,


示例26: ecma_builtin_date_prototype_get_time

/** * The Date.prototype object's 'getTime' routine * * See also: *          ECMA-262 v5, 15.9.5.9 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_prototype_get_time (ecma_value_t this_arg) /**< this argument */{  if (ecma_is_value_object (this_arg))  {    ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);    if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_DATE_UL)    {      ecma_value_t *date_prop_p = ecma_get_internal_property (obj_p,                                                              ECMA_INTERNAL_PROPERTY_DATE_FLOAT);      ecma_number_t *date_num_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_number_t, *date_prop_p);      return ecma_make_number_value (*date_num_p);    }  }  return ecma_raise_type_error (ECMA_ERR_MSG (""));} /* ecma_builtin_date_prototype_get_time */
开发者ID:robertsipka,项目名称:jerryscript,代码行数:27,


示例27: ecma_builtin_date_now

/** * The Date object's 'now' routine * * See also: *          ECMA-262 v5, 15.9.4.4 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_now (ecma_value_t this_arg __attr_unused___) /**< this argument */{  ecma_number_t *now_num_p = ecma_alloc_number ();  *now_num_p = ECMA_NUMBER_ZERO;#ifdef JERRY_ENABLE_DATE_SYS_CALLS  struct timeval tv;  if (gettimeofday (&tv, NULL) != 0)  {    return ecma_raise_type_error (ECMA_ERR_MSG ("gettimeofday failed"));  }  *now_num_p = ((ecma_number_t) tv.tv_sec) * 1000.0 + ((ecma_number_t) (tv.tv_usec / 1000));#endif /* JERRY_ENABLE_DATE_SYS_CALLS */  return ecma_make_number_value (now_num_p);} /* ecma_builtin_date_now */
开发者ID:esevan,项目名称:jerryscript,代码行数:28,


示例28: ecma_op_general_object_delete

/** * [[Delete]] ecma general object's operation * * See also: *          ECMA-262 v5, 8.6.2; ECMA-262 v5, Table 8 *          ECMA-262 v5, 8.12.7 * * @return ecma value *         Returned value must be freed with ecma_free_value */ecma_value_tecma_op_general_object_delete (ecma_object_t *obj_p, /**< the object */                               ecma_string_t *property_name_p, /**< property name */                               bool is_throw) /**< flag that controls failure handling */{  JERRY_ASSERT (obj_p != NULL                && !ecma_is_lexical_environment (obj_p));  JERRY_ASSERT (property_name_p != NULL);  // 1.  ecma_property_t *desc_p = ecma_op_object_get_own_property (obj_p, property_name_p);  // 2.  if (desc_p == NULL)  {    return ecma_make_simple_value (ECMA_SIMPLE_VALUE_TRUE);  }  // 3.  if (ecma_is_property_configurable (desc_p))  {    // a.    ecma_delete_property (obj_p, desc_p);    // b.    return ecma_make_simple_value (ECMA_SIMPLE_VALUE_TRUE);  }  else if (is_throw)  {    // 4.    return ecma_raise_type_error (ECMA_ERR_MSG (""));  }  else  {    // 5.    return ecma_make_simple_value (ECMA_SIMPLE_VALUE_FALSE);  }  JERRY_UNREACHABLE ();} /* ecma_op_general_object_delete */
开发者ID:davidgs,项目名称:jerryscript,代码行数:50,


示例29: ecma_op_get_binding_value

/** * GetBindingValue operation. * * See also: ECMA-262 v5, 10.2.1 * * @return ecma value *         Returned value must be freed with ecma_free_value. */ecma_value_tecma_op_get_binding_value (ecma_object_t *lex_env_p, /**< lexical environment */                           ecma_string_t *name_p, /**< argument N */                           bool is_strict) /**< argument S */{  JERRY_ASSERT (lex_env_p != NULL                && ecma_is_lexical_environment (lex_env_p));  JERRY_ASSERT (name_p != NULL);  if (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE)  {    ecma_property_value_t *prop_value_p = ecma_get_named_data_property (lex_env_p, name_p);    return ecma_copy_value (prop_value_p->value);  }  else  {    JERRY_ASSERT (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_THIS_OBJECT_BOUND);    ecma_object_t *binding_obj_p = ecma_get_lex_env_binding_object (lex_env_p);    ecma_value_t result = ecma_op_object_find (binding_obj_p, name_p);    if (!ecma_is_value_found (result))    {      if (is_strict)      {        result = ecma_raise_reference_error (ECMA_ERR_MSG ("Binding does not exist or is uninitialised."));      }      else      {        result = ECMA_VALUE_UNDEFINED;      }    }    return result;  }} /* ecma_op_get_binding_value */
开发者ID:Samsung,项目名称:jerryscript,代码行数:46,


示例30: ecma_builtin_date_prototype_to_date_string

/** * The Date.prototype object's 'toDateString' routine * * See also: *          ECMA-262 v5, 15.9.5.3 * * @return ecma value *         Returned value must be freed with ecma_free_value. */static ecma_value_tecma_builtin_date_prototype_to_date_string (ecma_value_t this_arg) /**< this argument */{  ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);  if (!ecma_is_value_object (this_arg)      || ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != LIT_MAGIC_STRING_DATE_UL)  {    ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Incompatible type"));  }  else  {    ECMA_TRY_CATCH (obj_this,                    ecma_op_to_object (this_arg),                    ret_value);    ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);    ecma_property_t *prim_prop_p = ecma_get_internal_property (obj_p,                                                               ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);    ecma_number_t *prim_value_num_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_number_t,                                                                       ecma_get_internal_property_value (prim_prop_p));    if (ecma_number_is_nan (*prim_value_num_p))    {      ecma_string_t *magic_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_INVALID_DATE_UL);      ret_value = ecma_make_string_value (magic_str_p);    }    else    {      ret_value = ecma_date_value_to_date_string (*prim_value_num_p);    }    ECMA_FINALIZE (obj_this);  }  return ret_value;} /* ecma_builtin_date_prototype_to_date_string */
开发者ID:Akromx16,项目名称:jerryscript,代码行数:46,



注:本文中的ECMA_ERR_MSG函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ECMA_FINALIZE函数代码示例
C++ ECHECK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。