From 5ddff028610e471ff689006a04d59dcbe61fe49e Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Wed, 19 Mar 2008 01:30:02 +0000 Subject: More cleanups to HTML rewriter API: remove the InsertTag method; was too complicated and clients can achieve a cleaner design just by inserting tags directly. Reserve the "html" namespace for meta-level operations (e.g., escaping text, etc.) llvm-svn: 48524 --- clang/Driver/HTMLPrint.cpp | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'clang/Driver/HTMLPrint.cpp') diff --git a/clang/Driver/HTMLPrint.cpp b/clang/Driver/HTMLPrint.cpp index 6c8a1d1aadb..acb011c2160 100644 --- a/clang/Driver/HTMLPrint.cpp +++ b/clang/Driver/HTMLPrint.cpp @@ -50,22 +50,32 @@ HTMLPrinter::~HTMLPrinter() { html::EscapeText(R, FileID); html::AddLineNumbers(R, FileID); - html::InsertOuterTag(R, html::PRE, StartLoc, EndLoc, 0, 0, true); - html::InsertOuterTag(R, html::BODY, StartLoc, EndLoc, NULL, "\n", true); - // Generate CSS. + // Generate header + + { + std::ostringstream os; - std::ostringstream css; - css << "\n \n"; + os << "\n\n" + << " \n" + << "\n" + << "\n
";
 
+    R.InsertTextBefore(StartLoc, os.str().c_str(), os.str().size());
+  }
   
-  // Add  and  tags.
+  // Generate footer
   
-  html::InsertTagBefore(R, html::HEAD, StartLoc, StartLoc, 0,css.str().c_str());
-  html::InsertOuterTag(R, html::HTML, StartLoc, EndLoc, 0, "\n");
+  {
+    std::ostringstream os;
+    
+    os << "
\n\n"; + R.InsertTextAfter(EndLoc, os.str().c_str(), os.str().size()); + } + // Emit the HTML. -- cgit v1.2.3