mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 22:20:37 +00:00
AsmWriter: Extract writeStringField(), NFCI
Extract logic for escaping a string field in the new debug info hierarchy from `GenericDebugNode`. A follow-up commit will use it far more widely (hence the dead code for `ShouldSkipEmpty`). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230873 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
45909778e7
commit
9973291e83
@ -1306,17 +1306,24 @@ static void writeTag(raw_ostream &Out, FieldSeparator &FS, const DebugNode *N) {
|
||||
Out << N->getTag();
|
||||
}
|
||||
|
||||
static void writeStringField(raw_ostream &Out, FieldSeparator &FS,
|
||||
StringRef Name, StringRef Value,
|
||||
bool ShouldSkipEmpty = true) {
|
||||
if (ShouldSkipEmpty && Value.empty())
|
||||
return;
|
||||
|
||||
Out << FS << Name << ": \"";
|
||||
PrintEscapedString(Value, Out);
|
||||
Out << "\"";
|
||||
}
|
||||
|
||||
static void writeGenericDebugNode(raw_ostream &Out, const GenericDebugNode *N,
|
||||
TypePrinting *TypePrinter,
|
||||
SlotTracker *Machine, const Module *Context) {
|
||||
Out << "!GenericDebugNode(";
|
||||
FieldSeparator FS;
|
||||
writeTag(Out, FS, N);
|
||||
if (!N->getHeader().empty()) {
|
||||
Out << FS << "header: \"";
|
||||
PrintEscapedString(N->getHeader(), Out);
|
||||
Out << "\"";
|
||||
}
|
||||
writeStringField(Out, FS, "header", N->getHeader());
|
||||
if (N->getNumDwarfOperands()) {
|
||||
Out << FS << "operands: {";
|
||||
FieldSeparator IFS;
|
||||
|
Loading…
Reference in New Issue
Block a user