parent
c82b86dfaa
commit
69329a52cf
|
@ -20,6 +20,7 @@
|
||||||
#include "clang/Basic/SourceManager.h"
|
#include "clang/Basic/SourceManager.h"
|
||||||
#include "clang/Basic/FileManager.h"
|
#include "clang/Basic/FileManager.h"
|
||||||
#include "clang/AST/ASTContext.h"
|
#include "clang/AST/ASTContext.h"
|
||||||
|
#include "llvm/Support/MemoryBuffer.h"
|
||||||
|
|
||||||
using namespace clang;
|
using namespace clang;
|
||||||
|
|
||||||
|
@ -62,9 +63,17 @@ HTMLPrinter::~HTMLPrinter() {
|
||||||
// Format the file.
|
// Format the file.
|
||||||
FileID FID = R.getSourceMgr().getMainFileID();
|
FileID FID = R.getSourceMgr().getMainFileID();
|
||||||
const FileEntry* Entry = R.getSourceMgr().getFileEntryForID(FID);
|
const FileEntry* Entry = R.getSourceMgr().getFileEntryForID(FID);
|
||||||
|
const char* Name;
|
||||||
|
// In some cases, in particular the case where the input is from stdin,
|
||||||
|
// there is no entry. Fall back to the memory buffer for a name in those
|
||||||
|
// cases.
|
||||||
|
if (Entry)
|
||||||
|
Name = Entry->getName();
|
||||||
|
else
|
||||||
|
Name = R.getSourceMgr().getBuffer(FID)->getBufferIdentifier();
|
||||||
|
|
||||||
html::AddLineNumbers(R, FID);
|
html::AddLineNumbers(R, FID);
|
||||||
html::AddHeaderFooterInternalBuiltinCSS(R, FID, Entry->getName());
|
html::AddHeaderFooterInternalBuiltinCSS(R, FID, Name);
|
||||||
|
|
||||||
// If we have a preprocessor, relex the file and syntax highlight.
|
// If we have a preprocessor, relex the file and syntax highlight.
|
||||||
// We might not have a preprocessor if we come from a deserialized AST file,
|
// We might not have a preprocessor if we come from a deserialized AST file,
|
||||||
|
|
Loading…
Reference in New Issue