Skip to content

Commit feb3161

Browse files
authored
Merge pull request github#12908 from github/revert-12760-redsun82/swift-logging-compiler
Revert "Swift: route compiler diagnostics through our log"
2 parents bfe5db2 + 95ef7fb commit feb3161

File tree

3 files changed

+6
-48
lines changed

3 files changed

+6
-48
lines changed
Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "swift/extractor/invocation/SwiftDiagnosticsConsumer.h"
2-
#include "swift/extractor/trap/generated/TrapClasses.h"
2+
#include "swift/extractor/trap/generated/TrapEntries.h"
33
#include "swift/extractor/trap/TrapDomain.h"
44
#include "swift/extractor/infra/SwiftDiagnosticKind.h"
55

@@ -13,17 +13,13 @@ using namespace codeql;
1313

1414
void SwiftDiagnosticsConsumer::handleDiagnostic(swift::SourceManager& sourceManager,
1515
const swift::DiagnosticInfo& diagInfo) {
16-
if (diagInfo.IsChildNote) return;
17-
Diagnostics diag{trap.createLabel<DiagnosticsTag>()};
16+
auto message = getDiagMessage(sourceManager, diagInfo);
17+
DiagnosticsTrap diag{};
18+
diag.id = trap.createLabel<DiagnosticsTag>();
1819
diag.kind = translateDiagnosticsKind(diagInfo.Kind);
19-
diag.text = getDiagMessage(sourceManager, diagInfo);
20+
diag.text = message;
2021
trap.emit(diag);
21-
locationExtractor.attachLocation(sourceManager, diagInfo.Loc, diag.id);
22-
23-
forwardToLog(sourceManager, diagInfo, diag.text);
24-
for (const auto& child : diagInfo.ChildDiagnosticInfo) {
25-
forwardToLog(sourceManager, *child);
26-
}
22+
locationExtractor.attachLocation(sourceManager, diagInfo.Loc, diagInfo.Loc, diag.id);
2723
}
2824

2925
std::string SwiftDiagnosticsConsumer::getDiagMessage(swift::SourceManager& sourceManager,
@@ -33,29 +29,3 @@ std::string SwiftDiagnosticsConsumer::getDiagMessage(swift::SourceManager& sourc
3329
swift::DiagnosticEngine::formatDiagnosticText(out, diagInfo.FormatString, diagInfo.FormatArgs);
3430
return text.str().str();
3531
}
36-
37-
void SwiftDiagnosticsConsumer::forwardToLog(swift::SourceManager& sourceManager,
38-
const swift::DiagnosticInfo& diagInfo,
39-
const std::string& message) {
40-
auto file = sourceManager.getDisplayNameForLoc(diagInfo.Loc);
41-
auto [line, column] = sourceManager.getLineAndColumnInBuffer(diagInfo.Loc);
42-
using Kind = swift::DiagnosticKind;
43-
switch (diagInfo.Kind) {
44-
case Kind::Error:
45-
LOG_ERROR("{}:{}:{} {}", file, line, column, message);
46-
break;
47-
case Kind::Warning:
48-
LOG_WARNING("{}:{}:{} {}", file, line, column, message);
49-
break;
50-
case Kind::Remark:
51-
LOG_INFO("{}:{}:{} {}", file, line, column, message);
52-
break;
53-
case Kind::Note:
54-
LOG_DEBUG("{}:{}:{} {}", file, line, column, message);
55-
break;
56-
default:
57-
LOG_ERROR("unknown diagnostic kind {}, {}:{}:{} {}", diagInfo.Kind, file, line, column,
58-
message);
59-
break;
60-
}
61-
}

swift/extractor/invocation/SwiftDiagnosticsConsumer.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
#include <swift/AST/DiagnosticConsumer.h>
44
#include "swift/extractor/infra/SwiftLocationExtractor.h"
5-
#include "swift/extractor/infra/log/SwiftLogging.h"
65

76
namespace codeql {
87

@@ -18,17 +17,8 @@ class SwiftDiagnosticsConsumer : public swift::DiagnosticConsumer {
1817
private:
1918
static std::string getDiagMessage(swift::SourceManager& sourceManager,
2019
const swift::DiagnosticInfo& diagInfo);
21-
void forwardToLog(swift::SourceManager& sourceManager,
22-
const swift::DiagnosticInfo& diagInfo,
23-
const std::string& message);
24-
25-
void forwardToLog(swift::SourceManager& sourceManager, const swift::DiagnosticInfo& diagInfo) {
26-
forwardToLog(sourceManager, diagInfo, getDiagMessage(sourceManager, diagInfo));
27-
}
28-
2920
TrapDomain& trap;
3021
SwiftLocationExtractor locationExtractor;
31-
Logger logger{"compiler"};
3222
};
3323

3424
} // namespace codeql

swift/extractor/main.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ class Observer : public swift::FrontendObserver {
8686
}
8787

8888
void configuredCompiler(swift::CompilerInstance& instance) override {
89-
// remove default consumers to avoid double messaging
90-
instance.getDiags().takeConsumers();
9189
instance.addDiagnosticConsumer(&diagConsumer);
9290
}
9391

0 commit comments

Comments
 (0)