Skip to content

Commit 1bcf4e4

Browse files
authored
Merge pull request #58 from owenv/diag-info-refactor
[Diagnostics] Update SwiftASTContext to use the new DiagnosticConsumer interface
2 parents 757d5e7 + 2d530c8 commit 1bcf4e4

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

lldb/source/Symbol/SwiftASTContext.cpp

+10-14
Original file line numberDiff line numberDiff line change
@@ -2853,24 +2853,20 @@ class StoringDiagnosticConsumer : public swift::DiagnosticConsumer {
28532853
m_ast_context.GetDiagnosticEngine().takeConsumers();
28542854
}
28552855

2856-
virtual void
2857-
handleDiagnostic(swift::SourceManager &source_mgr,
2858-
swift::SourceLoc source_loc, swift::DiagnosticKind kind,
2859-
llvm::StringRef formatString,
2860-
llvm::ArrayRef<swift::DiagnosticArgument> formatArgs,
2861-
const swift::DiagnosticInfo &info,
2862-
const swift::SourceLoc bufferIndirectlyCausingDiagnostic) {
2856+
virtual void handleDiagnostic(swift::SourceManager &source_mgr,
2857+
const swift::DiagnosticInfo &info) {
28632858
llvm::StringRef bufferName = "<anonymous>";
28642859
unsigned bufferID = 0;
28652860
std::pair<unsigned, unsigned> line_col = {0, 0};
28662861

28672862
llvm::SmallString<256> text;
28682863
{
28692864
llvm::raw_svector_ostream out(text);
2870-
swift::DiagnosticEngine::formatDiagnosticText(out, formatString,
2871-
formatArgs);
2865+
swift::DiagnosticEngine::formatDiagnosticText(out, info.FormatString,
2866+
info.FormatArgs);
28722867
}
28732868

2869+
swift::SourceLoc source_loc = info.Loc;
28742870
if (source_loc.isValid()) {
28752871
bufferID = source_mgr.findBufferContainingLoc(source_loc);
28762872
bufferName = source_mgr.getDisplayNameForLoc(source_loc);
@@ -2884,7 +2880,7 @@ class StoringDiagnosticConsumer : public swift::DiagnosticConsumer {
28842880
// we want to use its fixits:
28852881
bool use_fixits = false;
28862882
llvm::SourceMgr::DiagKind source_mgr_kind;
2887-
switch (kind) {
2883+
switch (info.Kind) {
28882884
default:
28892885
case swift::DiagnosticKind::Error:
28902886
source_mgr_kind = llvm::SourceMgr::DK_Error;
@@ -2921,23 +2917,23 @@ class StoringDiagnosticConsumer : public swift::DiagnosticConsumer {
29212917

29222918
if (message_ref.empty())
29232919
m_diagnostics.push_back(RawDiagnostic(
2924-
text.str(), kind, bufferName, bufferID, line_col.first,
2920+
text.str(), info.Kind, bufferName, bufferID, line_col.first,
29252921
line_col.second,
29262922
use_fixits ? info.FixIts
29272923
: llvm::ArrayRef<swift::Diagnostic::FixIt>()));
29282924
else
29292925
m_diagnostics.push_back(RawDiagnostic(
2930-
message_ref, kind, bufferName, bufferID, line_col.first,
2926+
message_ref, info.Kind, bufferName, bufferID, line_col.first,
29312927
line_col.second,
29322928
use_fixits ? info.FixIts
29332929
: llvm::ArrayRef<swift::Diagnostic::FixIt>()));
29342930
} else {
29352931
m_diagnostics.push_back(RawDiagnostic(
2936-
text.str(), kind, bufferName, bufferID, line_col.first,
2932+
text.str(), info.Kind, bufferName, bufferID, line_col.first,
29372933
line_col.second, llvm::ArrayRef<swift::Diagnostic::FixIt>()));
29382934
}
29392935

2940-
if (kind == swift::DiagnosticKind::Error)
2936+
if (info.Kind == swift::DiagnosticKind::Error)
29412937
m_num_errors++;
29422938
}
29432939

0 commit comments

Comments
 (0)