Introduce a define to switch on debug output.
After re-writing the same loop multiple times, we deicided it's time to
add this as an optional debugging help.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172050 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp
index 9b2a1e9..c09ee31 100644
--- a/lib/Format/UnwrappedLineParser.cpp
+++ b/lib/Format/UnwrappedLineParser.cpp
@@ -19,6 +19,11 @@
#include "UnwrappedLineParser.h"
#include "llvm/Support/raw_ostream.h"
+// Uncomment to get debug output from the UnwrappedLineParser.
+// Use in combination with --gtest_filter=*TestName* to limit the output to a
+// single test.
+// #define UNWRAPPED_LINE_PARSER_DEBUG_OUTPUT
+
namespace clang {
namespace format {
@@ -80,6 +85,9 @@
}
bool UnwrappedLineParser::parse() {
+#ifdef UNWRAPPED_LINE_PARSER_DEBUG_OUTPUT
+ llvm::errs() << "----\n";
+#endif
readToken();
return parseFile();
}
@@ -576,6 +584,15 @@
FormatTok.Tok.is(tok::comment)) {
nextToken();
}
+#ifdef UNWRAPPED_LINE_PARSER_DEBUG_OUTPUT
+ FormatToken* NextToken = &Line->RootToken;
+ llvm::errs() << "Line: ";
+ while (NextToken) {
+ llvm::errs() << NextToken->Tok.getName() << " ";
+ NextToken = NextToken->Children.empty() ? NULL : &NextToken->Children[0];
+ }
+ llvm::errs() << "\n";
+#endif
Callback.consumeUnwrappedLine(*Line);
RootTokenInitialized = false;
LastInCurrentLine = NULL;