@@ -35,7 +35,7 @@ namespace iotjs {
3535 ((val_p)->type == JERRY_API_DATA_TYPE_OBJECT)
3636
3737#define JVAL_IS_FUNCTION (val_p ) \
38- (JVAL_IS_OBJECT(val_p) && jerry_api_is_function((val_p)->v_object))
38+ (JVAL_IS_OBJECT(val_p) && jerry_api_is_function((val_p)->u. v_object))
3939
4040#define JVAL_IS_BOOLEAN (val_p ) \
4141 ((val_p)->type == JERRY_API_DATA_TYPE_BOOLEAN)
@@ -46,14 +46,14 @@ namespace iotjs {
4646 ((val_p)->type == JERRY_API_DATA_TYPE_UINT32))
4747
4848#define JVAL_TO_BOOLEAN (val_p ) \
49- (val_p)->v_bool
49+ (val_p)->u. v_bool
5050
5151#define JVAL_TO_NUMBER (val_p ) \
5252 ((val_p)->type == JERRY_API_DATA_TYPE_FLOAT32 ? \
53- static_cast <double >((val_p)->v_float32) : \
53+ static_cast <double >((val_p)->u. v_float32) : \
5454 (val_p)->type == JERRY_API_DATA_TYPE_FLOAT64 ? \
55- static_cast <double >((val_p)->v_float64) : \
56- static_cast <double >((val_p)->v_uint32))
55+ static_cast <double >((val_p)->u. v_float64) : \
56+ static_cast <double >((val_p)->u. v_uint32))
5757
5858
5959
@@ -98,7 +98,7 @@ JObject::JObject(double v) {
9898JObject::JObject (const char * v) {
9999 IOTJS_ASSERT (v != NULL );
100100 _obj_val.type = JERRY_API_DATA_TYPE_STRING;
101- _obj_val.v_string = jerry_api_create_string (
101+ _obj_val.u . v_string = jerry_api_create_string (
102102 reinterpret_cast <const jerry_api_char_t *>(v));
103103 _unref_at_close = true ;
104104}
@@ -107,7 +107,7 @@ JObject::JObject(const char* v) {
107107JObject::JObject (const String& v) {
108108 IOTJS_ASSERT (!v.IsEmpty ());
109109 _obj_val.type = JERRY_API_DATA_TYPE_STRING;
110- _obj_val.v_string = jerry_api_create_string (
110+ _obj_val.u . v_string = jerry_api_create_string (
111111 reinterpret_cast <const jerry_api_char_t *>(v.data ()));
112112 _unref_at_close = true ;
113113}
@@ -126,8 +126,8 @@ JObject::JObject(const JRawValueType* val, bool need_unref) {
126126
127127
128128JObject::JObject (JHandlerType handler) {
129- _obj_val.v_object = jerry_api_create_external_function (handler);
130- IOTJS_ASSERT (jerry_api_is_constructor (_obj_val.v_object ));
129+ _obj_val.u . v_object = jerry_api_create_external_function (handler);
130+ IOTJS_ASSERT (jerry_api_is_constructor (_obj_val.u . v_object ));
131131 _obj_val.type = JERRY_API_DATA_TYPE_OBJECT;
132132 _unref_at_close = true ;
133133}
@@ -268,7 +268,7 @@ void JObject::SetProperty(const char* name, const JObject& val) {
268268 IOTJS_ASSERT (IsObject ());
269269 JRawValueType v = val.raw_value ();
270270 bool is_ok = jerry_api_set_object_field_value (
271- _obj_val.v_object ,
271+ _obj_val.u . v_object ,
272272 reinterpret_cast <const jerry_api_char_t *>(name),
273273 &v);
274274 IOTJS_ASSERT (is_ok);
@@ -283,7 +283,7 @@ void JObject::SetProperty(const String& name, const JObject& val) {
283283void JObject::SetProperty (const char * name, JRawValueType val) {
284284 IOTJS_ASSERT (IsObject ());
285285 bool is_ok = jerry_api_set_object_field_value (
286- _obj_val.v_object ,
286+ _obj_val.u . v_object ,
287287 reinterpret_cast <const jerry_api_char_t *>(name),
288288 &val);
289289 IOTJS_ASSERT (is_ok);
@@ -299,7 +299,7 @@ JObject JObject::GetProperty(const char* name) {
299299 IOTJS_ASSERT (IsObject ());
300300 JRawValueType res;
301301 bool is_ok = jerry_api_get_object_field_value (
302- _obj_val.v_object ,
302+ _obj_val.u . v_object ,
303303 reinterpret_cast <const jerry_api_char_t *>(name),
304304 &res);
305305 IOTJS_ASSERT (is_ok);
@@ -314,18 +314,18 @@ JObject JObject::GetProperty(const String& name) {
314314
315315void JObject::Ref () {
316316 if (JVAL_IS_STRING (&_obj_val)) {
317- jerry_api_acquire_string (_obj_val.v_string );
317+ jerry_api_acquire_string (_obj_val.u . v_string );
318318 } else if (JVAL_IS_OBJECT (&_obj_val)) {
319- jerry_api_acquire_object (_obj_val.v_object );
319+ jerry_api_acquire_object (_obj_val.u . v_object );
320320 }
321321}
322322
323323
324324void JObject::Unref () {
325325 if (JVAL_IS_STRING (&_obj_val)) {
326- jerry_api_release_string (_obj_val.v_string );
326+ jerry_api_release_string (_obj_val.u . v_string );
327327 } else if (JVAL_IS_OBJECT (&_obj_val)) {
328- jerry_api_release_object (_obj_val.v_object );
328+ jerry_api_release_object (_obj_val.u . v_object );
329329 }
330330}
331331
@@ -367,14 +367,14 @@ bool JObject::IsFunction() {
367367
368368void JObject::SetNative (uintptr_t ptr, JFreeHandlerType free_handler) {
369369 IOTJS_ASSERT (IsObject ());
370- jerry_api_set_object_native_handle (_obj_val.v_object , ptr, free_handler);
370+ jerry_api_set_object_native_handle (_obj_val.u . v_object , ptr, free_handler);
371371}
372372
373373
374374uintptr_t JObject::GetNative () {
375375 IOTJS_ASSERT (IsObject ());
376376 uintptr_t ptr;
377- jerry_api_get_object_native_handle (_obj_val.v_object , &ptr);
377+ jerry_api_get_object_native_handle (_obj_val.u . v_object , &ptr);
378378 return ptr;
379379}
380380
@@ -383,7 +383,7 @@ JResult JObject::Call(JObject& this_, JArgList& arg) {
383383 IOTJS_ASSERT (IsFunction ());
384384
385385 JRawObjectType* this_obj_p = this_.IsNull () ? NULL
386- : this_.raw_value ().v_object ;
386+ : this_.raw_value ().u . v_object ;
387387 JRawValueType res;
388388 JRawValueType* val_args = NULL ;
389389 uint16_t val_argv = 0 ;
@@ -396,7 +396,7 @@ JResult JObject::Call(JObject& this_, JArgList& arg) {
396396 }
397397 }
398398
399- bool is_ok = jerry_api_call_function (_obj_val.v_object ,
399+ bool is_ok = jerry_api_call_function (_obj_val.u . v_object ,
400400 this_obj_p,
401401 &res,
402402 val_args,
@@ -444,13 +444,13 @@ double JObject::GetNumber() {
444444String JObject::GetString () {
445445 IOTJS_ASSERT (IsString ());
446446
447- size_t size = - jerry_api_string_to_char_buffer (_obj_val.v_string , NULL , 0 );
447+ jerry_api_size_t size = jerry_api_get_string_size (_obj_val.u . v_string );
448448
449449 String res (" " , size);
450450
451451 jerry_api_char_t * buffer = reinterpret_cast <jerry_api_char_t *>(res.data ());
452452
453- size_t check = jerry_api_string_to_char_buffer (_obj_val.v_string ,
453+ size_t check = jerry_api_string_to_char_buffer (_obj_val.u . v_string ,
454454 buffer,
455455 size);
456456
@@ -548,7 +548,7 @@ JRawValueType JVal::Null() {
548548JRawValueType JVal::Bool (bool v) {
549549 JRawValueType val;
550550 val.type = JERRY_API_DATA_TYPE_BOOLEAN;
551- val.v_bool = v;
551+ val.u . v_bool = v;
552552 return val;
553553}
554554
@@ -561,15 +561,15 @@ JRawValueType JVal::Number(int v) {
561561JRawValueType JVal::Number (double v) {
562562 JRawValueType val;
563563 val.type = JERRY_API_DATA_TYPE_FLOAT64;
564- val.v_float64 = v;
564+ val.u . v_float64 = v;
565565 return val;
566566}
567567
568568
569569JRawValueType JVal::Object (const JRawObjectType* obj) {
570570 JRawValueType val;
571571 val.type = JERRY_API_DATA_TYPE_OBJECT;
572- val.v_object = const_cast <JRawObjectType*>(obj);
572+ val.u . v_object = const_cast <JRawObjectType*>(obj);
573573 return val;
574574}
575575
0 commit comments