Skip to content

Commit a0bedaa

Browse files
committed
Remove EXTERN_C macros and use block based solution
Related issue: #900 JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
1 parent b2edaaf commit a0bedaa

File tree

14 files changed

+138
-204
lines changed

14 files changed

+138
-204
lines changed

jerry-core/jerry-api.h

Lines changed: 33 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
/* Copyright 2015 Samsung Electronics Co., Ltd.
1+
/* Copyright 2015-2016 Samsung Electronics Co., Ltd.
2+
* Copyright 2016 University of Szeged.
23
*
34
* Licensed under the Apache License, Version 2.0 (the "License");
45
* you may not use this file except in compliance with the License.
@@ -22,9 +23,8 @@
2223
#include <sys/types.h>
2324

2425
#ifdef __cplusplus
25-
# define EXTERN_C "C"
26-
#else /* !__cplusplus */
27-
# define EXTERN_C
26+
extern "C"
27+
{
2828
#endif /* !__cplusplus */
2929

3030
/** \addtogroup jerry Jerry engine interface
@@ -147,47 +147,40 @@ typedef bool (*jerry_object_field_foreach_t) (const jerry_api_string_t *field_na
147147
/**
148148
* Returns whether the given jerry_api_value_t is void.
149149
*/
150-
extern EXTERN_C bool
151-
jerry_api_value_is_void (const jerry_api_value_t *value_p);
150+
bool jerry_api_value_is_void (const jerry_api_value_t *value_p);
152151

153152
/**
154153
* Returns whether the given jerry_api_value_t is null.
155154
*/
156-
extern EXTERN_C bool
157-
jerry_api_value_is_null (const jerry_api_value_t *value_p);
155+
bool jerry_api_value_is_null (const jerry_api_value_t *value_p);
158156

159157
/**
160158
* Returns whether the given jerry_api_value_t is undefined.
161159
*/
162-
extern EXTERN_C bool
163-
jerry_api_value_is_undefined (const jerry_api_value_t *value_p);
160+
bool jerry_api_value_is_undefined (const jerry_api_value_t *value_p);
164161

165162
/**
166163
* Returns whether the given jerry_api_value_t has boolean type.
167164
*/
168-
extern EXTERN_C bool
169-
jerry_api_value_is_boolean (const jerry_api_value_t *value_p);
165+
bool jerry_api_value_is_boolean (const jerry_api_value_t *value_p);
170166

171167
/**
172168
* Returns whether the given jerry_api_value_t is number.
173169
*
174170
* More specifically, returns true if the type is JERRY_API_DATA_TYPE_FLOAT32,
175171
* JERRY_API_DATA_TYPE_FLOAT64 or JERRY_API_DATA_TYPE_UINT32, false otherwise.
176172
*/
177-
extern EXTERN_C bool
178-
jerry_api_value_is_number (const jerry_api_value_t *value_p);
173+
bool jerry_api_value_is_number (const jerry_api_value_t *value_p);
179174

180175
/**
181176
* Returns whether the given jerry_api_value_t is string.
182177
*/
183-
extern EXTERN_C bool
184-
jerry_api_value_is_string (const jerry_api_value_t *value_p);
178+
bool jerry_api_value_is_string (const jerry_api_value_t *value_p);
185179

186180
/**
187181
* Returns whether the given jerry_api_value_t is object.
188182
*/
189-
extern EXTERN_C bool
190-
jerry_api_value_is_object (const jerry_api_value_t *value_p);
183+
bool jerry_api_value_is_object (const jerry_api_value_t *value_p);
191184

192185
/**
193186
* Returns whether the given jerry_api_value_t is a function object.
@@ -197,16 +190,14 @@ jerry_api_value_is_object (const jerry_api_value_t *value_p);
197190
* jerry_api_is_function() functiron return true for its v_object member,
198191
* otherwise false.
199192
*/
200-
extern EXTERN_C bool
201-
jerry_api_value_is_function (const jerry_api_value_t *value_p);
193+
bool jerry_api_value_is_function (const jerry_api_value_t *value_p);
202194

203195
/**
204196
* Returns the boolean v_bool member of the given jerry_api_value_t structure.
205197
* If the given jerry_api_value_t structure has type other than
206198
* JERRY_API_DATA_TYPE_BOOLEAN, JERRY_ASSERT fails.
207199
*/
208-
extern EXTERN_C bool
209-
jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
200+
bool jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
210201

211202
/**
212203
* Returns the number value of the given jerry_api_value_t structure
@@ -219,171 +210,120 @@ jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
219210
* JERRY_API_DATA_TYPE_FLOAT64 the function returns the v_float64 member.
220211
* As long as the type is none of the above, JERRY_ASSERT falis.
221212
*/
222-
extern EXTERN_C double
223-
jerry_api_get_number_value (const jerry_api_value_t *value_p);
213+
double jerry_api_get_number_value (const jerry_api_value_t *value_p);
224214

225215
/**
226216
* Returns the v_string member of the given jerry_api_value_t structure.
227217
* If the given jerry_api_value_t structure has type other than
228218
* JERRY_API_DATA_TYPE_STRING, JERRY_ASSERT fails.
229219
*/
230-
extern EXTERN_C jerry_api_string_t *
231-
jerry_api_get_string_value (const jerry_api_value_t *value_p);
220+
jerry_api_string_t *jerry_api_get_string_value (const jerry_api_value_t *value_p);
232221

233222
/**
234223
* Returns the v_object member of the given jerry_api_value_t structure.
235224
* If the given jerry_api_value_t structure has type other than
236225
* JERRY_API_DATA_TYPE_OBJECT, JERRY_ASSERT fails.
237226
*/
238-
extern EXTERN_C jerry_api_object_t *
239-
jerry_api_get_object_value (const jerry_api_value_t *value_p);
227+
jerry_api_object_t *jerry_api_get_object_value (const jerry_api_value_t *value_p);
240228

241229
/**
242230
* Creates and returns a jerry_api_value_t with type
243231
* JERRY_API_DATA_TYPE_VOID.
244232
*/
245-
extern EXTERN_C jerry_api_value_t
246-
jerry_api_create_void_value (void);
233+
jerry_api_value_t jerry_api_create_void_value (void);
247234

248235
/**
249236
* Creates and returns a jerry_api_value_t with type
250237
* JERRY_API_DATA_TYPE_NULL.
251238
*/
252-
extern EXTERN_C jerry_api_value_t
253-
jerry_api_create_null_value (void);
239+
jerry_api_value_t jerry_api_create_null_value (void);
254240

255241
/**
256242
* Creates and returns a jerry_api_value_t with type
257243
* JERRY_API_DATA_TYPE_UNDEFINED.
258244
*/
259-
extern EXTERN_C jerry_api_value_t
260-
jerry_api_create_undefined_value (void);
245+
jerry_api_value_t jerry_api_create_undefined_value (void);
261246

262247
/**
263248
* Creates a JERRY_API_DATA_TYPE_BOOLEAN jerry_api_value_t from the given
264249
* boolean parameter and returns with it.
265250
*/
266-
extern EXTERN_C jerry_api_value_t
267-
jerry_api_create_boolean_value (bool value);
251+
jerry_api_value_t jerry_api_create_boolean_value (bool value);
268252

269253
/**
270254
* Creates a jerry_api_value_t from the given double parameter and returns
271255
* with it.
272256
* The v_float64 member will be set and the will be JERRY_API_DATA_TYPE_FLOAT64.
273257
*/
274-
extern EXTERN_C jerry_api_value_t
275-
jerry_api_create_number_value (double value);
258+
jerry_api_value_t jerry_api_create_number_value (double value);
276259

277260
/**
278261
* Creates a JERRY_API_DATA_TYPE_OBJECT type jerry_api_value_t from the
279262
* given jerry_api_object_t *parameter and returns with it.
280263
*/
281-
extern EXTERN_C jerry_api_value_t
282-
jerry_api_create_object_value (jerry_api_object_t *value);
264+
jerry_api_value_t jerry_api_create_object_value (jerry_api_object_t *value);
283265

284266
/**
285267
* Creates a JERRY_API_DATA_TYPE_STRING type jerry_api_value_t from the
286268
* given jerry_api_string_t *parameter and returns with it.
287269
*/
288-
extern EXTERN_C jerry_api_value_t
289-
jerry_api_create_string_value (jerry_api_string_t *value);
270+
jerry_api_value_t jerry_api_create_string_value (jerry_api_string_t *value);
290271

291-
extern EXTERN_C ssize_t
292-
jerry_api_string_to_char_buffer (const jerry_api_string_t *, jerry_api_char_t *, ssize_t);
293-
extern EXTERN_C
272+
ssize_t jerry_api_string_to_char_buffer (const jerry_api_string_t *, jerry_api_char_t *, ssize_t);
294273
jerry_api_string_t *jerry_api_acquire_string (jerry_api_string_t *);
295-
extern EXTERN_C
296-
void jerry_api_release_string (jerry_api_string_t *);
297-
298-
extern EXTERN_C
299274
jerry_api_object_t *jerry_api_acquire_object (jerry_api_object_t *);
300-
extern EXTERN_C
301-
void jerry_api_release_object (jerry_api_object_t *);
302275

303-
extern EXTERN_C
276+
void jerry_api_release_object (jerry_api_object_t *);
277+
void jerry_api_release_string (jerry_api_string_t *);
304278
void jerry_api_release_value (jerry_api_value_t *);
305279

306-
extern EXTERN_C
280+
jerry_api_object_t *jerry_api_create_array_object (jerry_api_size_t);
281+
jerry_api_object_t *jerry_api_create_object (void);
307282
jerry_api_string_t *jerry_api_create_string (const jerry_api_char_t *);
308-
extern EXTERN_C
309283
jerry_api_string_t *jerry_api_create_string_sz (const jerry_api_char_t *, jerry_api_size_t);
310-
extern EXTERN_C
311-
jerry_api_object_t *jerry_api_create_object (void);
312284

313-
extern EXTERN_C
314-
jerry_api_object_t *jerry_api_create_array_object (jerry_api_size_t);
315-
extern EXTERN_C
316285
bool jerry_api_set_array_index_value (jerry_api_object_t *, jerry_api_length_t, jerry_api_value_t *);
317-
extern EXTERN_C
318286
bool jerry_api_get_array_index_value (jerry_api_object_t *, jerry_api_length_t, jerry_api_value_t *);
319287

320-
extern EXTERN_C
321288
jerry_api_object_t *jerry_api_create_error (jerry_api_error_t, const jerry_api_char_t *);
322-
extern EXTERN_C
323289
jerry_api_object_t *jerry_api_create_error_sz (jerry_api_error_t, const jerry_api_char_t *, jerry_api_size_t);
324-
extern EXTERN_C
325290
jerry_api_object_t *jerry_api_create_external_function (jerry_external_handler_t);
326291

327-
extern EXTERN_C
328-
bool jerry_api_is_function (const jerry_api_object_t *);
329-
extern EXTERN_C
330292
bool jerry_api_is_constructor (const jerry_api_object_t *);
293+
bool jerry_api_is_function (const jerry_api_object_t *);
331294

332-
extern EXTERN_C
333295
bool jerry_api_add_object_field (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_size_t,
334296
const jerry_api_value_t *, bool);
335-
extern EXTERN_C
336297
bool jerry_api_delete_object_field (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_size_t);
337-
extern EXTERN_C
338-
bool jerry_api_get_object_field_value (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_value_t *);
339298

340-
extern EXTERN_C
299+
bool jerry_api_get_object_field_value (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_value_t *);
341300
bool jerry_api_get_object_field_value_sz (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_size_t,
342301
jerry_api_value_t *);
343302

344-
extern EXTERN_C
345303
bool jerry_api_set_object_field_value (jerry_api_object_t *, const jerry_api_char_t *, const jerry_api_value_t *);
346-
347-
extern EXTERN_C
348304
bool jerry_api_set_object_field_value_sz (jerry_api_object_t *, const jerry_api_char_t *, jerry_api_size_t,
349305
const jerry_api_value_t *);
350306

351-
extern EXTERN_C
352307
bool jerry_api_foreach_object_field (jerry_api_object_t *, jerry_object_field_foreach_t, void *);
353-
354-
extern EXTERN_C
355308
bool jerry_api_get_object_native_handle (jerry_api_object_t *, uintptr_t *);
356-
357-
extern EXTERN_C
358309
void jerry_api_set_object_native_handle (jerry_api_object_t *, uintptr_t, jerry_object_free_callback_t);
359-
360-
extern EXTERN_C
361310
bool jerry_api_call_function (jerry_api_object_t *, jerry_api_object_t *, jerry_api_value_t *,
362311
const jerry_api_value_t[], uint16_t);
363-
364-
extern EXTERN_C
365312
bool jerry_api_construct_object (jerry_api_object_t *, jerry_api_value_t *, const jerry_api_value_t[], uint16_t);
366-
367-
extern EXTERN_C
368313
jerry_completion_code_t jerry_api_eval (const jerry_api_char_t *, size_t, bool, bool, jerry_api_value_t *);
369-
370-
extern EXTERN_C
371314
jerry_api_object_t *jerry_api_get_global (void);
372315

373-
extern EXTERN_C
374316
void jerry_api_gc (void);
375-
376-
extern EXTERN_C
377317
void jerry_register_external_magic_strings (const jerry_api_char_ptr_t *, uint32_t, const jerry_api_length_t *);
378318

379-
extern EXTERN_C
380319
size_t jerry_parse_and_save_snapshot (const jerry_api_char_t *, size_t, bool, uint8_t *, size_t);
381-
382-
extern EXTERN_C
383320
jerry_completion_code_t jerry_exec_snapshot (const void *, size_t, bool, jerry_api_value_t *);
384321

385322
/**
386323
* @}
387324
*/
388325

326+
#ifdef __cplusplus
327+
}
328+
#endif /* !__cplusplus */
389329
#endif /* !JERRY_API_H */

jerry-core/jerry-port.h

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
/* Copyright 2015 Samsung Electronics Co., Ltd.
1+
/* Copyright 2015-2016 Samsung Electronics Co., Ltd.
2+
* Copyright 2016 University of Szeged.
23
*
34
* Licensed under the Apache License, Version 2.0 (the "License");
45
* you may not use this file except in compliance with the License.
@@ -19,9 +20,8 @@
1920
#include <stdio.h>
2021

2122
#ifdef __cplusplus
22-
# define EXTERN_C "C"
23-
#else /* !__cplusplus */
24-
# define EXTERN_C
23+
extern "C"
24+
{
2525
#endif /* !__cplusplus */
2626

2727
/** \addtogroup jerry_port Jerry engine port
@@ -31,17 +31,15 @@
3131
/**
3232
* Target port functions for console output
3333
*/
34-
extern EXTERN_C
3534
int jerry_port_logmsg (FILE *stream, const char *format, ...);
36-
37-
extern EXTERN_C
3835
int jerry_port_errormsg (const char *format, ...);
39-
40-
extern EXTERN_C
4136
int jerry_port_putchar (int c);
4237

4338
/**
4439
* @}
4540
*/
4641

47-
#endif /* !JERRY_API_H */
42+
#ifdef __cplusplus
43+
}
44+
#endif /* !__cplusplus */
45+
#endif /* !JERRY_PORT_H */

0 commit comments

Comments
 (0)