|
18 | 18 | #include <stdint.h>
|
19 | 19 |
|
20 | 20 | #define SWIFTSCAN_VERSION_MAJOR 0
|
21 |
| -#define SWIFTSCAN_VERSION_MINOR 5 |
| 21 | +#define SWIFTSCAN_VERSION_MINOR 6 |
22 | 22 |
|
23 | 23 | //=== Public Scanner Data Types -------------------------------------------===//
|
24 | 24 |
|
@@ -78,17 +78,15 @@ typedef struct swiftscan_scan_invocation_s *swiftscan_scan_invocation_t;
|
78 | 78 | typedef void *swiftscan_scanner_t;
|
79 | 79 |
|
80 | 80 | //=== CAS/Caching Specification -------------------------------------------===//
|
81 |
| -typedef struct swiftscan_cas_s *swiftscan_cas_t; |
82 | 81 | typedef struct swiftscan_cas_options_s *swiftscan_cas_options_t;
|
83 |
| - |
84 |
| -typedef enum { |
85 |
| - SWIFTSCAN_OUTPUT_TYPE_OBJECT = 0, |
86 |
| - SWIFTSCAN_OUTPUT_TYPE_SWIFTMODULE = 1, |
87 |
| - SWIFTSCAN_OUTPUT_TYPE_SWIFTINTERFACE = 2, |
88 |
| - SWIFTSCAN_OUTPUT_TYPE_SWIFTPRIVATEINTERFACE = 3, |
89 |
| - SWIFTSCAN_OUTPUT_TYPE_CLANG_MODULE = 4, |
90 |
| - SWIFTSCAN_OUTPUT_TYPE_CLANG_PCH = 5 |
91 |
| -} swiftscan_output_kind_t; |
| 82 | +typedef struct swiftscan_cas_s *swiftscan_cas_t; |
| 83 | +typedef struct swiftscan_cached_compilation_s *swiftscan_cached_compilation_t; |
| 84 | +typedef struct swiftscan_cached_output_s *swiftscan_cached_output_t; |
| 85 | +typedef struct swiftscan_cache_replay_instance_s |
| 86 | + *swiftscan_cache_replay_instance_t; |
| 87 | +typedef struct swiftscan_cache_replay_result_s *swiftscan_cache_replay_result_t; |
| 88 | +typedef struct swiftscan_cache_cancellation_token_s |
| 89 | + *swiftscan_cache_cancellation_token_t; |
92 | 90 |
|
93 | 91 | //=== libSwiftScan Functions ------------------------------------------------===//
|
94 | 92 |
|
@@ -281,18 +279,74 @@ typedef struct {
|
281 | 279 | const char *path);
|
282 | 280 | void (*swiftscan_cas_options_set_plugin_path)(swiftscan_cas_options_t options,
|
283 | 281 | const char *path);
|
284 |
| - bool (*swiftscan_cas_options_set_option)(swiftscan_cas_options_t options, |
285 |
| - const char *name, const char *value, |
286 |
| - swiftscan_string_ref_t *error); |
| 282 | + bool (*swiftscan_cas_options_set_plugin_option)( |
| 283 | + swiftscan_cas_options_t options, const char *name, const char *value, |
| 284 | + swiftscan_string_ref_t *error); |
287 | 285 | swiftscan_cas_t (*swiftscan_cas_create_from_options)(
|
288 | 286 | swiftscan_cas_options_t options, swiftscan_string_ref_t *error);
|
289 | 287 | void (*swiftscan_cas_dispose)(swiftscan_cas_t cas);
|
290 | 288 | swiftscan_string_ref_t (*swiftscan_cas_store)(swiftscan_cas_t cas,
|
291 | 289 | uint8_t *data, unsigned size,
|
292 | 290 | swiftscan_string_ref_t *error);
|
293 |
| - swiftscan_string_ref_t (*swiftscan_compute_cache_key)( |
294 |
| - swiftscan_cas_t cas, int argc, const char *argv, const char *input, |
295 |
| - swiftscan_output_kind_t, swiftscan_string_ref_t *error); |
| 291 | + swiftscan_string_ref_t (*swiftscan_cache_compute_key)( |
| 292 | + swiftscan_cas_t cas, int argc, const char **argv, const char *input, |
| 293 | + swiftscan_string_ref_t *error); |
| 294 | + |
| 295 | + //=== Scanner Caching Query/Replay Operations -----------------------------===// |
| 296 | + swiftscan_cached_compilation_t (*swiftscan_cache_query)( |
| 297 | + swiftscan_cas_t cas, const char *key, bool globally, |
| 298 | + swiftscan_string_ref_t *error); |
| 299 | + void (*swiftscan_cache_query_async)( |
| 300 | + swiftscan_cas_t cas, const char *key, bool globally, void *ctx, |
| 301 | + void (*callback)(void *ctx, swiftscan_cached_compilation_t, |
| 302 | + swiftscan_string_ref_t error), |
| 303 | + swiftscan_cache_cancellation_token_t *); |
| 304 | + |
| 305 | + |
| 306 | + unsigned (*swiftscan_cached_compilation_get_num_outputs)( |
| 307 | + swiftscan_cached_compilation_t); |
| 308 | + swiftscan_cached_output_t (*swiftscan_cached_compilation_get_output)( |
| 309 | + swiftscan_cached_compilation_t, unsigned idx); |
| 310 | + bool (*swiftscan_cached_compilation_is_uncacheable)( |
| 311 | + swiftscan_cached_compilation_t); |
| 312 | + void (*swiftscan_cached_compilation_make_global_async)( |
| 313 | + swiftscan_cached_compilation_t, void *ctx, |
| 314 | + void (*callback)(void *ctx, swiftscan_string_ref_t error), |
| 315 | + swiftscan_cache_cancellation_token_t *); |
| 316 | + void (*swiftscan_cached_compilation_dispose)(swiftscan_cached_compilation_t); |
| 317 | + |
| 318 | + bool (*swiftscan_cached_output_load)(swiftscan_cached_output_t, |
| 319 | + swiftscan_string_ref_t *error); |
| 320 | + void (*swiftscan_cached_output_load_async)( |
| 321 | + swiftscan_cached_output_t, void *ctx, |
| 322 | + void (*callback)(void *ctx, bool success, swiftscan_string_ref_t error), |
| 323 | + swiftscan_cache_cancellation_token_t *); |
| 324 | + bool (*swiftscan_cached_output_is_materialized)(swiftscan_cached_output_t); |
| 325 | + swiftscan_string_ref_t (*swiftscan_cached_output_get_casid)( |
| 326 | + swiftscan_cached_output_t); |
| 327 | + swiftscan_string_ref_t (*swiftscan_cached_output_get_name)( |
| 328 | + swiftscan_cached_output_t); |
| 329 | + void (*swiftscan_cached_output_dispose)(swiftscan_cached_output_t); |
| 330 | + |
| 331 | + void (*swiftscan_cache_action_cancel)(swiftscan_cache_cancellation_token_t); |
| 332 | + void (*swiftscan_cache_cancellation_token_dispose)( |
| 333 | + swiftscan_cache_cancellation_token_t); |
| 334 | + |
| 335 | + swiftscan_cache_replay_instance_t (*swiftscan_cache_replay_instance_create)( |
| 336 | + int argc, const char **argv, swiftscan_string_ref_t *error); |
| 337 | + void (*swiftscan_cache_replay_instance_dispose)( |
| 338 | + swiftscan_cache_replay_instance_t); |
| 339 | + |
| 340 | + swiftscan_cache_replay_result_t (*swiftscan_cache_replay_compilation)( |
| 341 | + swiftscan_cache_replay_instance_t, swiftscan_cached_compilation_t, |
| 342 | + swiftscan_string_ref_t *error); |
| 343 | + |
| 344 | + swiftscan_string_ref_t (*swiftscan_cache_replay_result_get_stdout)( |
| 345 | + swiftscan_cache_replay_result_t); |
| 346 | + swiftscan_string_ref_t (*swiftscan_cache_replay_result_get_stderr)( |
| 347 | + swiftscan_cache_replay_result_t); |
| 348 | + void (*swiftscan_cache_replay_result_dispose)( |
| 349 | + swiftscan_cache_replay_result_t); |
296 | 350 |
|
297 | 351 | } swiftscan_functions_t;
|
298 | 352 |
|
|
0 commit comments