Move TableGen's parser and entry point into a library
[oota-llvm.git] / utils / TableGen / ClangDiagnosticsEmitter.h
index 93979708b0789f3a464a2f901ba20e724f8d6284..73d3c4dc0e978cddb19c009700d086d96bcbdfd4 100644 (file)
@@ -14,7 +14,7 @@
 #ifndef CLANGDIAGS_EMITTER_H
 #define CLANGDIAGS_EMITTER_H
 
-#include "TableGenBackend.h"
+#include "llvm/TableGen/TableGenBackend.h"
 
 namespace llvm {
 
@@ -23,13 +23,32 @@ namespace llvm {
 ///
 class ClangDiagsDefsEmitter : public TableGenBackend {
   RecordKeeper &Records;
+  const std::string& Component;
 public:
-  explicit ClangDiagsDefsEmitter(RecordKeeper &R) : Records(R) {}
+  explicit ClangDiagsDefsEmitter(RecordKeeper &R, const std::string& component)
+    : Records(R), Component(component) {}
 
   // run - Output the .def file contents
-  void run(std::ostream &OS);
+  void run(raw_ostream &OS);
 };
 
+class ClangDiagGroupsEmitter : public TableGenBackend {
+  RecordKeeper &Records;
+public:
+  explicit ClangDiagGroupsEmitter(RecordKeeper &R) : Records(R) {}
+    
+  void run(raw_ostream &OS);
+};
+
+class ClangDiagsIndexNameEmitter : public TableGenBackend {
+  RecordKeeper &Records;
+public:
+  explicit ClangDiagsIndexNameEmitter(RecordKeeper &R) : Records(R) {}
+  
+  void run(raw_ostream &OS);
+};
+
+  
 } // End llvm namespace
 
 #endif