Skip to content

Commit c1991d7

Browse files
committed
[Dependency Scanning][libSwiftScan] Deprecate scanner-global diagnostic collection
All clients are expected to have switched to the per-scan-query diagnostics using 'swiftscan_dependency_graph_get_diagnostics'
1 parent fd0e551 commit c1991d7

File tree

3 files changed

+6
-60
lines changed

3 files changed

+6
-60
lines changed

include/swift/DependencyScan/DependencyScanningTool.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,6 @@ class DependencyScanningTool {
8585
llvm::ErrorOr<swiftscan_import_set_t>
8686
getImports(ArrayRef<const char *> Command, StringRef WorkingDirectory);
8787

88-
/// Query diagnostics consumed so far.
89-
std::vector<DependencyScanDiagnosticCollector::ScannerDiagnosticInfo> getDiagnostics();
90-
/// Discared the collection of diagnostics encountered so far.
91-
void resetDiagnostics();
92-
9388
/// Using the specified invocation command, instantiate a CompilerInstance
9489
/// that will be used for this scan.
9590
llvm::ErrorOr<ScanQueryInstance>
@@ -104,9 +99,6 @@ class DependencyScanningTool {
10499

105100
/// Shared state mutual-exclusivity lock
106101
llvm::sys::SmartMutex<true> DependencyScanningToolStateLock;
107-
108-
/// A shared consumer that accumulates encountered diagnostics.
109-
DependencyScanDiagnosticCollector CDC;
110102
llvm::BumpPtrAllocator Alloc;
111103
llvm::StringSaver Saver;
112104
};

lib/DependencyScan/DependencyScanningTool.cpp

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ static swiftscan_import_set_t generateHollowDiagnosticOutputImportSet(
259259

260260
DependencyScanningTool::DependencyScanningTool()
261261
: ScanningService(std::make_unique<SwiftDependencyScanningService>()),
262-
CDC(), Alloc(), Saver(Alloc) {}
262+
Alloc(), Saver(Alloc) {}
263263

264264
llvm::ErrorOr<swiftscan_dependency_graph_t>
265265
DependencyScanningTool::getDependencies(
@@ -326,18 +326,6 @@ DependencyScanningTool::getImports(ArrayRef<const char *> Command,
326326
return std::move(*DependenciesOrErr);
327327
}
328328

329-
std::vector<
330-
DependencyScanDiagnosticCollector::ScannerDiagnosticInfo>
331-
DependencyScanningTool::getDiagnostics() {
332-
llvm::sys::SmartScopedLock<true> Lock(DependencyScanningToolStateLock);
333-
return CDC.Diagnostics;
334-
}
335-
336-
void DependencyScanningTool::resetDiagnostics() {
337-
llvm::sys::SmartScopedLock<true> Lock(DependencyScanningToolStateLock);
338-
CDC.reset();
339-
}
340-
341329
llvm::ErrorOr<ScanQueryInstance>
342330
DependencyScanningTool::initCompilerInstanceForScan(
343331
ArrayRef<const char *> CommandArgs,
@@ -353,10 +341,6 @@ DependencyScanningTool::initCompilerInstanceForScan(
353341

354342
// State unique to an individual scan
355343
auto Instance = std::make_unique<CompilerInstance>();
356-
357-
// FIXME: The shared CDC must be deprecated once all clients have switched
358-
// to using per-scan diagnostic output embedded in the `swiftscan_dependency_graph_s`
359-
Instance->addDiagnosticConsumer(&CDC);
360344
Instance->addDiagnosticConsumer(scannerDiagnosticsCollector.get());
361345

362346
// Basic error checking on the arguments

lib/Tooling/libSwiftScan/libSwiftScan.cpp

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -589,45 +589,15 @@ swiftscan_compiler_supported_features_query() {
589589
//=== Scanner Diagnostics -------------------------------------------------===//
590590
swiftscan_diagnostic_set_t*
591591
swiftscan_scanner_diagnostics_query(swiftscan_scanner_t scanner) {
592-
DependencyScanningTool *ScanningTool = unwrap(scanner);
593-
auto Diagnostics = ScanningTool->getDiagnostics();
594-
auto NumDiagnostics = Diagnostics.size();
595-
596-
swiftscan_diagnostic_set_t *Result = new swiftscan_diagnostic_set_t;
597-
Result->count = NumDiagnostics;
598-
Result->diagnostics = new swiftscan_diagnostic_info_t[NumDiagnostics];
599-
600-
for (size_t i = 0; i < NumDiagnostics; ++i) {
601-
const auto &Diagnostic = Diagnostics[i];
602-
swiftscan_diagnostic_info_s *DiagnosticInfo = new swiftscan_diagnostic_info_s;
603-
DiagnosticInfo->message = swift::c_string_utils::create_clone(Diagnostic.Message.c_str());
604-
switch (Diagnostic.Severity) {
605-
case llvm::SourceMgr::DK_Error:
606-
DiagnosticInfo->severity = SWIFTSCAN_DIAGNOSTIC_SEVERITY_ERROR;
607-
break;
608-
case llvm::SourceMgr::DK_Warning:
609-
DiagnosticInfo->severity = SWIFTSCAN_DIAGNOSTIC_SEVERITY_WARNING;
610-
break;
611-
case llvm::SourceMgr::DK_Note:
612-
DiagnosticInfo->severity = SWIFTSCAN_DIAGNOSTIC_SEVERITY_NOTE;
613-
break;
614-
case llvm::SourceMgr::DK_Remark:
615-
DiagnosticInfo->severity = SWIFTSCAN_DIAGNOSTIC_SEVERITY_REMARK;
616-
break;
617-
}
618-
// swiftscan_scanner_diagnostics_query is deprecated,
619-
// so it does not support source locations.
620-
DiagnosticInfo->source_location = nullptr;
621-
Result->diagnostics[i] = DiagnosticInfo;
622-
}
623-
624-
return Result;
592+
// This method is deprecated
593+
swiftscan_diagnostic_set_t *set = new swiftscan_diagnostic_set_t;
594+
set->count = 0;
595+
return set;
625596
}
626597

627598
void
628599
swiftscan_scanner_diagnostics_reset(swiftscan_scanner_t scanner) {
629-
DependencyScanningTool *ScanningTool = unwrap(scanner);
630-
ScanningTool->resetDiagnostics();
600+
// This method is deprecated
631601
}
632602

633603
swiftscan_string_ref_t

0 commit comments

Comments
 (0)