@@ -35,7 +35,7 @@ namespace iotjs {
35
35
((val_p)->type == JERRY_API_DATA_TYPE_OBJECT)
36
36
37
37
#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))
39
39
40
40
#define JVAL_IS_BOOLEAN (val_p ) \
41
41
((val_p)->type == JERRY_API_DATA_TYPE_BOOLEAN)
@@ -46,14 +46,14 @@ namespace iotjs {
46
46
((val_p)->type == JERRY_API_DATA_TYPE_UINT32))
47
47
48
48
#define JVAL_TO_BOOLEAN (val_p ) \
49
- (val_p)->v_bool
49
+ (val_p)->u. v_bool
50
50
51
51
#define JVAL_TO_NUMBER (val_p ) \
52
52
((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) : \
54
54
(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))
57
57
58
58
59
59
@@ -98,7 +98,7 @@ JObject::JObject(double v) {
98
98
JObject::JObject (const char * v) {
99
99
IOTJS_ASSERT (v != NULL );
100
100
_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 (
102
102
reinterpret_cast <const jerry_api_char_t *>(v));
103
103
_unref_at_close = true ;
104
104
}
@@ -107,7 +107,7 @@ JObject::JObject(const char* v) {
107
107
JObject::JObject (const String& v) {
108
108
IOTJS_ASSERT (!v.IsEmpty ());
109
109
_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 (
111
111
reinterpret_cast <const jerry_api_char_t *>(v.data ()));
112
112
_unref_at_close = true ;
113
113
}
@@ -126,8 +126,8 @@ JObject::JObject(const JRawValueType* val, bool need_unref) {
126
126
127
127
128
128
JObject::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 ));
131
131
_obj_val.type = JERRY_API_DATA_TYPE_OBJECT;
132
132
_unref_at_close = true ;
133
133
}
@@ -268,7 +268,7 @@ void JObject::SetProperty(const char* name, const JObject& val) {
268
268
IOTJS_ASSERT (IsObject ());
269
269
JRawValueType v = val.raw_value ();
270
270
bool is_ok = jerry_api_set_object_field_value (
271
- _obj_val.v_object ,
271
+ _obj_val.u . v_object ,
272
272
reinterpret_cast <const jerry_api_char_t *>(name),
273
273
&v);
274
274
IOTJS_ASSERT (is_ok);
@@ -283,7 +283,7 @@ void JObject::SetProperty(const String& name, const JObject& val) {
283
283
void JObject::SetProperty (const char * name, JRawValueType val) {
284
284
IOTJS_ASSERT (IsObject ());
285
285
bool is_ok = jerry_api_set_object_field_value (
286
- _obj_val.v_object ,
286
+ _obj_val.u . v_object ,
287
287
reinterpret_cast <const jerry_api_char_t *>(name),
288
288
&val);
289
289
IOTJS_ASSERT (is_ok);
@@ -299,7 +299,7 @@ JObject JObject::GetProperty(const char* name) {
299
299
IOTJS_ASSERT (IsObject ());
300
300
JRawValueType res;
301
301
bool is_ok = jerry_api_get_object_field_value (
302
- _obj_val.v_object ,
302
+ _obj_val.u . v_object ,
303
303
reinterpret_cast <const jerry_api_char_t *>(name),
304
304
&res);
305
305
IOTJS_ASSERT (is_ok);
@@ -314,18 +314,18 @@ JObject JObject::GetProperty(const String& name) {
314
314
315
315
void JObject::Ref () {
316
316
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 );
318
318
} 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 );
320
320
}
321
321
}
322
322
323
323
324
324
void JObject::Unref () {
325
325
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 );
327
327
} 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 );
329
329
}
330
330
}
331
331
@@ -367,14 +367,14 @@ bool JObject::IsFunction() {
367
367
368
368
void JObject::SetNative (uintptr_t ptr, JFreeHandlerType free_handler) {
369
369
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);
371
371
}
372
372
373
373
374
374
uintptr_t JObject::GetNative () {
375
375
IOTJS_ASSERT (IsObject ());
376
376
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);
378
378
return ptr;
379
379
}
380
380
@@ -383,7 +383,7 @@ JResult JObject::Call(JObject& this_, JArgList& arg) {
383
383
IOTJS_ASSERT (IsFunction ());
384
384
385
385
JRawObjectType* this_obj_p = this_.IsNull () ? NULL
386
- : this_.raw_value ().v_object ;
386
+ : this_.raw_value ().u . v_object ;
387
387
JRawValueType res;
388
388
JRawValueType* val_args = NULL ;
389
389
uint16_t val_argv = 0 ;
@@ -396,7 +396,7 @@ JResult JObject::Call(JObject& this_, JArgList& arg) {
396
396
}
397
397
}
398
398
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 ,
400
400
this_obj_p,
401
401
&res,
402
402
val_args,
@@ -444,13 +444,13 @@ double JObject::GetNumber() {
444
444
String JObject::GetString () {
445
445
IOTJS_ASSERT (IsString ());
446
446
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 );
448
448
449
449
String res (" " , size);
450
450
451
451
jerry_api_char_t * buffer = reinterpret_cast <jerry_api_char_t *>(res.data ());
452
452
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 ,
454
454
buffer,
455
455
size);
456
456
@@ -548,7 +548,7 @@ JRawValueType JVal::Null() {
548
548
JRawValueType JVal::Bool (bool v) {
549
549
JRawValueType val;
550
550
val.type = JERRY_API_DATA_TYPE_BOOLEAN;
551
- val.v_bool = v;
551
+ val.u . v_bool = v;
552
552
return val;
553
553
}
554
554
@@ -561,15 +561,15 @@ JRawValueType JVal::Number(int v) {
561
561
JRawValueType JVal::Number (double v) {
562
562
JRawValueType val;
563
563
val.type = JERRY_API_DATA_TYPE_FLOAT64;
564
- val.v_float64 = v;
564
+ val.u . v_float64 = v;
565
565
return val;
566
566
}
567
567
568
568
569
569
JRawValueType JVal::Object (const JRawObjectType* obj) {
570
570
JRawValueType val;
571
571
val.type = JERRY_API_DATA_TYPE_OBJECT;
572
- val.v_object = const_cast <JRawObjectType*>(obj);
572
+ val.u . v_object = const_cast <JRawObjectType*>(obj);
573
573
return val;
574
574
}
575
575
0 commit comments