]> granicus.if.org Git - clang/commitdiff
Added "PreprocessorFactory", an interface for lazily creating Preprocessor objects...
authorTed Kremenek <kremenek@apple.com>
Thu, 17 Apr 2008 21:23:07 +0000 (21:23 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 17 Apr 2008 21:23:07 +0000 (21:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49868 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Lex/Preprocessor.h
lib/Lex/Preprocessor.cpp

index 98edf5af7a81a3b77ffeafeb148b7284da44eb88..5fc4642dd88b9160491184da81d7db06ffd92515 100644 (file)
@@ -524,6 +524,14 @@ public:
   void HandlePragmaDependency(Token &DependencyTok);
 };
 
+/// PreprocessorFactory - A generic factory interface for lazily creating
+///  Preprocessor objects on-demand when they are needed.
+class PreprocessorFactory {
+public:
+  virtual ~PreprocessorFactory();
+  virtual Preprocessor* CreatePreprocessor() = 0;  
+};
+  
 }  // end namespace clang
 
 #endif
index ebd307286600bfac91eab7cbd5713083e7ffad25..6d08a36fdef52fdc5fe3cf792754b5cef438e8c9 100644 (file)
@@ -40,6 +40,8 @@ using namespace clang;
 
 //===----------------------------------------------------------------------===//
 
+PreprocessorFactory::~PreprocessorFactory() {}
+
 Preprocessor::Preprocessor(Diagnostic &diags, const LangOptions &opts,
                            TargetInfo &target, SourceManager &SM, 
                            HeaderSearch &Headers)