Modernize doc comments for SourceMgr.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211086 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jordan Rose 2014-06-17 02:15:36 +00:00
parent dcc9291851
commit ecb1c3aa8c
2 changed files with 39 additions and 51 deletions

View File

@ -30,7 +30,7 @@ namespace llvm {
class Twine; class Twine;
class raw_ostream; class raw_ostream;
/// SourceMgr - This owns the files read by a parser, handles include stacks, /// This owns the files read by a parser, handles include stacks,
/// and handles diagnostic wrangling. /// and handles diagnostic wrangling.
class SourceMgr { class SourceMgr {
public: public:
@ -40,29 +40,27 @@ public:
DK_Note DK_Note
}; };
/// DiagHandlerTy - Clients that want to handle their own diagnostics in a /// Clients that want to handle their own diagnostics in a custom way can
/// custom way can register a function pointer+context as a diagnostic /// register a function pointer+context as a diagnostic handler.
/// handler. It gets called each time PrintMessage is invoked. /// It gets called each time PrintMessage is invoked.
typedef void (*DiagHandlerTy)(const SMDiagnostic &, void *Context); typedef void (*DiagHandlerTy)(const SMDiagnostic &, void *Context);
private: private:
struct SrcBuffer { struct SrcBuffer {
/// Buffer - The memory buffer for the file. /// The memory buffer for the file.
MemoryBuffer *Buffer; MemoryBuffer *Buffer;
/// IncludeLoc - This is the location of the parent include, or null if at /// This is the location of the parent include, or null if at the top level.
/// the top level.
SMLoc IncludeLoc; SMLoc IncludeLoc;
}; };
/// Buffers - This is all of the buffers that we are reading from. /// This is all of the buffers that we are reading from.
std::vector<SrcBuffer> Buffers; std::vector<SrcBuffer> Buffers;
// IncludeDirectories - This is the list of directories we should search for // This is the list of directories we should search for include files in.
// include files in.
std::vector<std::string> IncludeDirectories; std::vector<std::string> IncludeDirectories;
/// LineNoCache - This is a cache for line number queries, its implementation /// This is a cache for line number queries, its implementation is really
/// is really private to SourceMgr.cpp. /// private to SourceMgr.cpp.
mutable void *LineNoCache; mutable void *LineNoCache;
DiagHandlerTy DiagHandler; DiagHandlerTy DiagHandler;
@ -79,8 +77,8 @@ public:
IncludeDirectories = Dirs; IncludeDirectories = Dirs;
} }
/// setDiagHandler - Specify a diagnostic handler to be invoked every time /// Specify a diagnostic handler to be invoked every time PrintMessage is
/// PrintMessage is called. Ctx is passed into the handler when it is invoked. /// called. \p Ctx is passed into the handler when it is invoked.
void setDiagHandler(DiagHandlerTy DH, void *Ctx = nullptr) { void setDiagHandler(DiagHandlerTy DH, void *Ctx = nullptr) {
DiagHandler = DH; DiagHandler = DH;
DiagContext = Ctx; DiagContext = Ctx;
@ -108,8 +106,8 @@ public:
return Buffers[i].IncludeLoc; return Buffers[i].IncludeLoc;
} }
/// AddNewSourceBuffer - Add a new source buffer to this source manager. This /// Add a new source buffer to this source manager. This takes ownership of
/// takes ownership of the memory buffer. /// the memory buffer.
size_t AddNewSourceBuffer(MemoryBuffer *F, SMLoc IncludeLoc) { size_t AddNewSourceBuffer(MemoryBuffer *F, SMLoc IncludeLoc) {
SrcBuffer NB; SrcBuffer NB;
NB.Buffer = F; NB.Buffer = F;
@ -118,32 +116,34 @@ public:
return Buffers.size() - 1; return Buffers.size() - 1;
} }
/// AddIncludeFile - Search for a file with the specified name in the current /// Search for a file with the specified name in the current directory or in
/// directory or in one of the IncludeDirs. If no file is found, this returns /// one of the IncludeDirs.
/// ~0, otherwise it returns the buffer ID of the stacked file. ///
/// The full path to the included file can be found in IncludedFile. /// If no file is found, this returns ~0, otherwise it returns the buffer ID
/// of the stacked file. The full path to the included file can be found in
/// \p IncludedFile.
size_t AddIncludeFile(const std::string &Filename, SMLoc IncludeLoc, size_t AddIncludeFile(const std::string &Filename, SMLoc IncludeLoc,
std::string &IncludedFile); std::string &IncludedFile);
/// FindBufferContainingLoc - Return the ID of the buffer containing the /// Return the ID of the buffer containing the specified location.
/// specified location, returning -1 if not found. ///
/// -1 is returned if the buffer is not found.
int FindBufferContainingLoc(SMLoc Loc) const; int FindBufferContainingLoc(SMLoc Loc) const;
/// FindLineNumber - Find the line number for the specified location in the /// Find the line number for the specified location in the specified file.
/// specified file. This is not a fast method. /// This is not a fast method.
unsigned FindLineNumber(SMLoc Loc, int BufferID = -1) const { unsigned FindLineNumber(SMLoc Loc, int BufferID = -1) const {
return getLineAndColumn(Loc, BufferID).first; return getLineAndColumn(Loc, BufferID).first;
} }
/// getLineAndColumn - Find the line and column number for the specified /// Find the line and column number for the specified location in the
/// location in the specified file. This is not a fast method. /// specified file. This is not a fast method.
std::pair<unsigned, unsigned> std::pair<unsigned, unsigned>
getLineAndColumn(SMLoc Loc, int BufferID = -1) const; getLineAndColumn(SMLoc Loc, int BufferID = -1) const;
/// PrintMessage - Emit a message about the specified location with the /// Emit a message about the specified location with the specified string.
/// specified string.
/// ///
/// @param ShowColors - Display colored messages if output is a terminal and /// \param ShowColors Display colored messages if output is a terminal and
/// the default error handler is used. /// the default error handler is used.
void PrintMessage(raw_ostream &OS, SMLoc Loc, DiagKind Kind, void PrintMessage(raw_ostream &OS, SMLoc Loc, DiagKind Kind,
const Twine &Msg, const Twine &Msg,
@ -157,21 +157,21 @@ public:
ArrayRef<SMFixIt> FixIts = None, ArrayRef<SMFixIt> FixIts = None,
bool ShowColors = true) const; bool ShowColors = true) const;
/// GetMessage - Return an SMDiagnostic at the specified location with the /// Return an SMDiagnostic at the specified location with the specified
/// specified string. /// string.
/// ///
/// @param Msg If non-null, the kind of message (e.g., "error") which is /// \param Msg If non-null, the kind of message (e.g., "error") which is
/// prefixed to the message. /// prefixed to the message.
SMDiagnostic GetMessage(SMLoc Loc, DiagKind Kind, const Twine &Msg, SMDiagnostic GetMessage(SMLoc Loc, DiagKind Kind, const Twine &Msg,
ArrayRef<SMRange> Ranges = None, ArrayRef<SMRange> Ranges = None,
ArrayRef<SMFixIt> FixIts = None) const; ArrayRef<SMFixIt> FixIts = None) const;
/// PrintIncludeStack - Prints the names of included files and the line of the /// Prints the names of included files and the line of the file they were
/// file they were included from. A diagnostic handler can use this before /// included from. A diagnostic handler can use this before printing its
/// printing its custom formatted message. /// custom formatted message.
/// ///
/// @param IncludeLoc - The line of the include. /// \param IncludeLoc The location of the include.
/// @param OS the raw_ostream to print on. /// \param OS the raw_ostream to print on.
void PrintIncludeStack(SMLoc IncludeLoc, raw_ostream &OS) const; void PrintIncludeStack(SMLoc IncludeLoc, raw_ostream &OS) const;
}; };
@ -208,8 +208,8 @@ public:
}; };
/// SMDiagnostic - Instances of this class encapsulate one diagnostic report, /// Instances of this class encapsulate one diagnostic report, allowing
/// allowing printing to a raw_ostream as a caret diagnostic. /// printing to a raw_ostream as a caret diagnostic.
class SMDiagnostic { class SMDiagnostic {
const SourceMgr *SM; const SourceMgr *SM;
SMLoc Loc; SMLoc Loc;

View File

@ -49,9 +49,6 @@ SourceMgr::~SourceMgr() {
} }
} }
/// AddIncludeFile - Search for a file with the specified name in the current
/// directory or in one of the IncludeDirs. If no file is found, this returns
/// ~0, otherwise it returns the buffer ID of the stacked file.
size_t SourceMgr::AddIncludeFile(const std::string &Filename, size_t SourceMgr::AddIncludeFile(const std::string &Filename,
SMLoc IncludeLoc, SMLoc IncludeLoc,
std::string &IncludedFile) { std::string &IncludedFile) {
@ -71,8 +68,6 @@ size_t SourceMgr::AddIncludeFile(const std::string &Filename,
} }
/// FindBufferContainingLoc - Return the ID of the buffer containing the
/// specified location, returning -1 if not found.
int SourceMgr::FindBufferContainingLoc(SMLoc Loc) const { int SourceMgr::FindBufferContainingLoc(SMLoc Loc) const {
for (unsigned i = 0, e = Buffers.size(); i != e; ++i) for (unsigned i = 0, e = Buffers.size(); i != e; ++i)
if (Loc.getPointer() >= Buffers[i].Buffer->getBufferStart() && if (Loc.getPointer() >= Buffers[i].Buffer->getBufferStart() &&
@ -83,8 +78,6 @@ int SourceMgr::FindBufferContainingLoc(SMLoc Loc) const {
return -1; return -1;
} }
/// getLineAndColumn - Find the line and column number for the specified
/// location in the specified file. This is not a fast method.
std::pair<unsigned, unsigned> std::pair<unsigned, unsigned>
SourceMgr::getLineAndColumn(SMLoc Loc, int BufferID) const { SourceMgr::getLineAndColumn(SMLoc Loc, int BufferID) const {
if (BufferID == -1) BufferID = FindBufferContainingLoc(Loc); if (BufferID == -1) BufferID = FindBufferContainingLoc(Loc);
@ -143,11 +136,6 @@ void SourceMgr::PrintIncludeStack(SMLoc IncludeLoc, raw_ostream &OS) const {
} }
/// GetMessage - Return an SMDiagnostic at the specified location with the
/// specified string.
///
/// @param Type - If non-null, the kind of message (e.g., "error") which is
/// prefixed to the message.
SMDiagnostic SourceMgr::GetMessage(SMLoc Loc, SourceMgr::DiagKind Kind, SMDiagnostic SourceMgr::GetMessage(SMLoc Loc, SourceMgr::DiagKind Kind,
const Twine &Msg, const Twine &Msg,
ArrayRef<SMRange> Ranges, ArrayRef<SMRange> Ranges,