[Dependency Scanning] Use DEFINE_SIMPLE_CONVERSION_FUNCTIONS macro instead of defining own wrap/unwrap functions for the opaque scanner type.

This commit is contained in:
Artem Chikin
2020-12-09 11:58:28 -08:00
parent 41a09a4092
commit d621e22ffe
2 changed files with 7 additions and 16 deletions

View File

@@ -156,15 +156,4 @@ struct swiftscan_scan_invocation_s {
swiftscan_string_set_t *argv; swiftscan_string_set_t *argv;
}; };
inline swift::dependencies::DependencyScanningTool *
unwrap_scanner(swiftscan_scanner_t P) {
return reinterpret_cast<swift::dependencies::DependencyScanningTool *>(P);
}
inline swiftscan_scanner_t
wrap_scanner(const swift::dependencies::DependencyScanningTool *P) {
return reinterpret_cast<swiftscan_scanner_t>(
const_cast<swift::dependencies::DependencyScanningTool *>(P));
}
#endif // SWIFT_C_DEPENDENCY_SCAN_IMPL_H #endif // SWIFT_C_DEPENDENCY_SCAN_IMPL_H

View File

@@ -20,6 +20,8 @@
using namespace swift::dependencies; using namespace swift::dependencies;
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(DependencyScanningTool, swiftscan_scanner_t);
//=== String Functions ----------------------------------------------------===// //=== String Functions ----------------------------------------------------===//
const char *swiftscan_get_C_string(swiftscan_string_ref_t string) { const char *swiftscan_get_C_string(swiftscan_string_ref_t string) {
@@ -108,17 +110,17 @@ void swiftscan_dependency_set_dispose(swiftscan_dependency_set_t *set) {
//=== Scanner Functions ---------------------------------------------------===// //=== Scanner Functions ---------------------------------------------------===//
swiftscan_scanner_t swiftscan_scanner_create(void) { swiftscan_scanner_t swiftscan_scanner_create(void) {
return wrap_scanner(new DependencyScanningTool()); return wrap(new DependencyScanningTool());
} }
void swiftscan_scanner_dispose(swiftscan_scanner_t c_scanner) { void swiftscan_scanner_dispose(swiftscan_scanner_t c_scanner) {
delete unwrap_scanner(c_scanner); delete unwrap(c_scanner);
} }
swiftscan_dependency_graph_t swiftscan_dependency_graph_t
swiftscan_dependency_graph_create(swiftscan_scanner_t scanner, swiftscan_dependency_graph_create(swiftscan_scanner_t scanner,
swiftscan_scan_invocation_t invocation) { swiftscan_scan_invocation_t invocation) {
DependencyScanningTool *ScanningTool = unwrap_scanner(scanner); DependencyScanningTool *ScanningTool = unwrap(scanner);
int argc = invocation->argv->count; int argc = invocation->argv->count;
std::vector<const char *> Compilation; std::vector<const char *> Compilation;
for (int i = 0; i < argc; ++i) for (int i = 0; i < argc; ++i)
@@ -136,7 +138,7 @@ swiftscan_batch_scan_result_t *
swiftscan_batch_scan_result_create(swiftscan_scanner_t scanner, swiftscan_batch_scan_result_create(swiftscan_scanner_t scanner,
swiftscan_batch_scan_input_t *batch_input, swiftscan_batch_scan_input_t *batch_input,
swiftscan_scan_invocation_t invocation) { swiftscan_scan_invocation_t invocation) {
DependencyScanningTool *ScanningTool = unwrap_scanner(scanner); DependencyScanningTool *ScanningTool = unwrap(scanner);
int argc = invocation->argv->count; int argc = invocation->argv->count;
std::vector<const char *> Compilation; std::vector<const char *> Compilation;
for (int i = 0; i < argc; ++i) for (int i = 0; i < argc; ++i)
@@ -170,7 +172,7 @@ swiftscan_batch_scan_result_create(swiftscan_scanner_t scanner,
swiftscan_import_set_t swiftscan_import_set_t
swiftscan_import_set_create(swiftscan_scanner_t scanner, swiftscan_import_set_create(swiftscan_scanner_t scanner,
swiftscan_scan_invocation_t invocation) { swiftscan_scan_invocation_t invocation) {
DependencyScanningTool *ScanningTool = unwrap_scanner(scanner); DependencyScanningTool *ScanningTool = unwrap(scanner);
int argc = invocation->argv->count; int argc = invocation->argv->count;
std::vector<const char *> Compilation; std::vector<const char *> Compilation;
for (int i = 0; i < argc; ++i) for (int i = 0; i < argc; ++i)