aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/TGSourceMgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/TableGen/TGSourceMgr.h')
-rw-r--r--utils/TableGen/TGSourceMgr.h106
1 files changed, 0 insertions, 106 deletions
diff --git a/utils/TableGen/TGSourceMgr.h b/utils/TableGen/TGSourceMgr.h
deleted file mode 100644
index 69fb74ca20..0000000000
--- a/utils/TableGen/TGSourceMgr.h
+++ /dev/null
@@ -1,106 +0,0 @@
-//===- TGSourceMgr.h - Manager for Source Buffers & Diagnostics -*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file declares the TGSourceMgr class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef TGSOURCEMGR_H
-#define TGSOURCEMGR_H
-
-#include <string>
-#include <vector>
-#include <cassert>
-
-namespace llvm {
- class MemoryBuffer;
- class TGSourceMgr;
-
-class TGLoc {
- const char *Ptr;
-public:
- TGLoc() : Ptr(0) {}
- TGLoc(const TGLoc &RHS) : Ptr(RHS.Ptr) {}
-
- bool operator==(const TGLoc &RHS) const { return RHS.Ptr == Ptr; }
- bool operator!=(const TGLoc &RHS) const { return RHS.Ptr != Ptr; }
-
- const char *getPointer() const { return Ptr; }
-
- static TGLoc getFromPointer(const char *Ptr) {
- TGLoc L;
- L.Ptr = Ptr;
- return L;
- }
-};
-
-/// TGSourceMgr - This owns the files read by tblgen, handles include stacks,
-/// and handles printing of diagnostics.
-class TGSourceMgr {
- struct SrcBuffer {
- /// Buffer - The memory buffer for the file.
- MemoryBuffer *Buffer;
-
- /// IncludeLoc - This is the location of the parent include, or null if at
- /// the top level.
- TGLoc IncludeLoc;
- };
-
- /// Buffers - This is all of the buffers that we are reading from.
- std::vector<SrcBuffer> Buffers;
-
- TGSourceMgr(const TGSourceMgr&); // DO NOT IMPLEMENT
- void operator=(const TGSourceMgr&); // DO NOT IMPLEMENT
-public:
- TGSourceMgr() {}
- ~TGSourceMgr();
-
- const SrcBuffer &getBufferInfo(unsigned i) const {
- assert(i < Buffers.size() && "Invalid Buffer ID!");
- return Buffers[i];
- }
-
- const MemoryBuffer *getMemoryBuffer(unsigned i) const {
- assert(i < Buffers.size() && "Invalid Buffer ID!");
- return Buffers[i].Buffer;
- }
-
- TGLoc getParentIncludeLoc(unsigned i) const {
- assert(i < Buffers.size() && "Invalid Buffer ID!");
- return Buffers[i].IncludeLoc;
- }
-
- unsigned AddNewSourceBuffer(MemoryBuffer *F, TGLoc IncludeLoc) {
- SrcBuffer NB;
- NB.Buffer = F;
- NB.IncludeLoc = IncludeLoc;
- Buffers.push_back(NB);
- return Buffers.size()-1;
- }
-
- /// FindBufferContainingLoc - Return the ID of the buffer containing the
- /// specified location, returning -1 if not found.
- int FindBufferContainingLoc(TGLoc Loc) const;
-
- /// FindLineNumber - Find the line number for the specified location in the
- /// specified file. This is not a fast method.
- unsigned FindLineNumber(TGLoc Loc, int BufferID = -1) const;
-
-
- /// PrintError - Emit an error message about the specified location with the
- /// specified string.
- void PrintError(TGLoc ErrorLoc, const std::string &Msg) const;
-
-private:
- void PrintIncludeStack(TGLoc IncludeLoc) const;
-};
-
-} // end llvm namespace
-
-#endif