@@ -42,22 +42,6 @@ typedef enum
42
42
JERRY_COMPLETION_CODE_INVALID_SNAPSHOT_FORMAT = 3 , /**< snapshot format is not valid */
43
43
} jerry_completion_code_t ;
44
44
45
- /**
46
- * Jerry API data types
47
- */
48
- typedef enum
49
- {
50
- JERRY_DATA_TYPE_VOID , /**< no return value */
51
- JERRY_DATA_TYPE_UNDEFINED , /**< undefined */
52
- JERRY_DATA_TYPE_NULL , /**< null */
53
- JERRY_DATA_TYPE_BOOLEAN , /**< bool */
54
- JERRY_DATA_TYPE_FLOAT32 , /**< 32-bit float */
55
- JERRY_DATA_TYPE_FLOAT64 , /**< 64-bit float */
56
- JERRY_DATA_TYPE_UINT32 , /**< number converted to 32-bit unsigned integer */
57
- JERRY_DATA_TYPE_STRING , /**< string */
58
- JERRY_DATA_TYPE_OBJECT /**< object */
59
- } jerry_data_type_t ;
60
-
61
45
/**
62
46
* Jerry API Error object types
63
47
*/
@@ -103,32 +87,15 @@ typedef struct ecma_string_t jerry_string_t;
103
87
typedef struct ecma_object_t jerry_object_t ;
104
88
105
89
/**
106
- * Description of an extension function's argument
90
+ * Description of a JerryScript value
107
91
*/
108
- typedef struct jerry_value_t
109
- {
110
- jerry_data_type_t type ; /**< argument data type */
111
-
112
- union
113
- {
114
- bool v_bool ; /**< boolean */
115
-
116
- float v_float32 ; /**< 32-bit float */
117
- double v_float64 ; /**< 64-bit float */
118
-
119
- uint32_t v_uint32 ; /**< number converted 32-bit unsigned integer */
120
-
121
- jerry_string_t * v_string ; /**< pointer to a JS string */
122
- jerry_object_t * v_object ; /**< pointer to a JS object */
123
-
124
- } u ;
125
- } jerry_value_t ;
92
+ typedef uint32_t jerry_value_t ;
126
93
127
94
/**
128
95
* Type of an external function handler
129
96
*/
130
97
typedef bool (* jerry_external_handler_t ) (const jerry_object_t * function_obj_p ,
131
- const jerry_value_t * this_p ,
98
+ const jerry_value_t this_val ,
132
99
jerry_value_t * ret_val_p ,
133
100
const jerry_value_t args_p [],
134
101
const jerry_length_t args_count );
@@ -142,7 +109,7 @@ typedef void (*jerry_object_free_callback_t) (const uintptr_t native_p);
142
109
* Function type applied for each fields in objects
143
110
*/
144
111
typedef bool (* jerry_object_field_foreach_t ) (const jerry_string_t * field_name_p ,
145
- const jerry_value_t * field_value_p ,
112
+ const jerry_value_t field_value_p ,
146
113
void * user_data_p );
147
114
148
115
/**
@@ -153,52 +120,51 @@ jerry_object_t *jerry_get_global (void);
153
120
/**
154
121
* Checker functions of 'jerry_value_t'
155
122
*/
156
- bool jerry_value_is_void (const jerry_value_t * value_p );
157
- bool jerry_value_is_null (const jerry_value_t * value_p );
158
- bool jerry_value_is_undefined (const jerry_value_t * value_p );
159
- bool jerry_value_is_boolean (const jerry_value_t * value_p );
160
- bool jerry_value_is_number (const jerry_value_t * value_p );
161
- bool jerry_value_is_string (const jerry_value_t * value_p );
162
- bool jerry_value_is_object (const jerry_value_t * value_p );
163
- bool jerry_value_is_function (const jerry_value_t * value_p );
123
+ bool jerry_value_is_boolean (const jerry_value_t );
124
+ bool jerry_value_is_error (const jerry_value_t );
125
+ bool jerry_value_is_function (const jerry_value_t );
126
+ bool jerry_value_is_number (const jerry_value_t );
127
+ bool jerry_value_is_null (const jerry_value_t );
128
+ bool jerry_value_is_object (const jerry_value_t );
129
+ bool jerry_value_is_string (const jerry_value_t );
130
+ bool jerry_value_is_undefined (const jerry_value_t );
164
131
165
132
/**
166
133
* Getter functions of 'jerry_value_t'
167
134
*/
168
- bool jerry_get_boolean_value (const jerry_value_t * value_p );
169
- double jerry_get_number_value (const jerry_value_t * value_p );
170
- jerry_string_t * jerry_get_string_value (const jerry_value_t * value_p );
171
- jerry_object_t * jerry_get_object_value (const jerry_value_t * value_p );
135
+ bool jerry_get_boolean_value (const jerry_value_t );
136
+ double jerry_get_number_value (const jerry_value_t );
137
+ jerry_string_t * jerry_get_string_value (const jerry_value_t );
138
+ jerry_object_t * jerry_get_object_value (const jerry_value_t );
172
139
173
140
/**
174
141
* Converters of 'jerry_value_t'
175
142
*/
176
- jerry_string_t * jerry_value_to_string (const jerry_value_t * );
143
+ jerry_value_t jerry_value_to_string (const jerry_value_t );
177
144
178
145
/**
179
146
* Create functions of 'jerry_value_t'
180
147
*/
181
- jerry_value_t jerry_create_void_value (void );
182
148
jerry_value_t jerry_create_null_value (void );
183
149
jerry_value_t jerry_create_undefined_value (void );
184
- jerry_value_t jerry_create_boolean_value (bool value );
185
- jerry_value_t jerry_create_number_value (double value );
186
- jerry_value_t jerry_create_object_value (jerry_object_t * value );
187
- jerry_value_t jerry_create_string_value (jerry_string_t * value );
150
+ jerry_value_t jerry_create_boolean_value (bool );
151
+ jerry_value_t jerry_create_number_value (double );
152
+ jerry_value_t jerry_create_object_value (jerry_object_t * );
153
+ jerry_value_t jerry_create_string_value (jerry_string_t * );
188
154
189
155
/**
190
156
* Acquire types with reference counter (increase the references)
191
157
*/
192
158
jerry_string_t * jerry_acquire_string (jerry_string_t * );
193
159
jerry_object_t * jerry_acquire_object (jerry_object_t * );
194
- jerry_value_t * jerry_acquire_value (jerry_value_t * );
160
+ jerry_value_t jerry_acquire_value (jerry_value_t );
195
161
196
162
/**
197
163
* Relase the referenced values
198
164
*/
199
165
void jerry_release_object (jerry_object_t * );
200
166
void jerry_release_string (jerry_string_t * );
201
- void jerry_release_value (jerry_value_t * );
167
+ void jerry_release_value (jerry_value_t );
202
168
203
169
/**
204
170
* Create functions of API objects
@@ -214,7 +180,7 @@ jerry_string_t *jerry_create_string_sz (const jerry_char_t *, jerry_size_t);
214
180
/**
215
181
* Functions of array objects
216
182
*/
217
- bool jerry_set_array_index_value (jerry_object_t * , jerry_length_t , jerry_value_t * );
183
+ bool jerry_set_array_index_value (jerry_object_t * , jerry_length_t , jerry_value_t );
218
184
bool jerry_get_array_index_value (jerry_object_t * , jerry_length_t , jerry_value_t * );
219
185
220
186
/**
@@ -229,12 +195,12 @@ jerry_size_t jerry_string_to_char_buffer (const jerry_string_t *, jerry_char_t *
229
195
*/
230
196
bool jerry_is_constructor (const jerry_object_t * );
231
197
bool jerry_is_function (const jerry_object_t * );
232
- bool jerry_add_object_field (jerry_object_t * , const jerry_char_t * , jerry_size_t , const jerry_value_t * , bool );
198
+ bool jerry_add_object_field (jerry_object_t * , const jerry_char_t * , jerry_size_t , const jerry_value_t , bool );
233
199
bool jerry_delete_object_field (jerry_object_t * , const jerry_char_t * , jerry_size_t );
234
200
bool jerry_get_object_field_value (jerry_object_t * , const jerry_char_t * , jerry_value_t * );
235
201
bool jerry_get_object_field_value_sz (jerry_object_t * , const jerry_char_t * , jerry_size_t , jerry_value_t * );
236
- bool jerry_set_object_field_value (jerry_object_t * , const jerry_char_t * , const jerry_value_t * );
237
- bool jerry_set_object_field_value_sz (jerry_object_t * , const jerry_char_t * , jerry_size_t , const jerry_value_t * );
202
+ bool jerry_set_object_field_value (jerry_object_t * , const jerry_char_t * , const jerry_value_t );
203
+ bool jerry_set_object_field_value_sz (jerry_object_t * , const jerry_char_t * , jerry_size_t , const jerry_value_t );
238
204
bool jerry_foreach_object_field (jerry_object_t * , jerry_object_field_foreach_t , void * );
239
205
bool jerry_get_object_native_handle (jerry_object_t * , uintptr_t * );
240
206
void jerry_set_object_native_handle (jerry_object_t * , uintptr_t , jerry_object_free_callback_t );
0 commit comments