[lldb] Capture error messages from parseASTSection to log from the caller.

This helps fix a lldb console output mixup between the lldb logging
and the llvm::dbgs() messages from parseASTSection.
This commit is contained in:
Hiroshi Yamauchi
2023-08-09 10:26:53 -07:00
parent f02ca3b3ca
commit 24dfc905f5
6 changed files with 127 additions and 20 deletions

View File

@@ -514,6 +514,28 @@ static bool validateInputBlock(
return false;
}
std::string serialization::StatusToString(Status S) {
switch (S) {
case Status::Valid: return "Valid";
case Status::FormatTooOld: return "FormatTooOld";
case Status::FormatTooNew: return "FormatTooNew";
case Status::RevisionIncompatible: return "RevisionIncompatible";
case Status::NotInOSSA: return "NotInOSSA";
case Status::MissingDependency: return "MissingDependency";
case Status::MissingUnderlyingModule: return "MissingUnderlyingModule";
case Status::CircularDependency: return "CircularDependency";
case Status::FailedToLoadBridgingHeader: return "FailedToLoadBridgingHeader";
case Status::Malformed: return "Malformed";
case Status::MalformedDocumentation: return "MalformedDocumentation";
case Status::NameMismatch: return "NameMismatch";
case Status::TargetIncompatible: return "TargetIncompatible";
case Status::TargetTooNew: return "TargetTooNew";
case Status::SDKMismatch: return "SDKMismatch";
default:
llvm_unreachable("The switch should cover all cases");
}
}
bool serialization::isSerializedAST(StringRef data) {
StringRef signatureStr(reinterpret_cast<const char *>(SWIFTMODULE_SIGNATURE),
std::size(SWIFTMODULE_SIGNATURE));