]> granicus.if.org Git - clang/commitdiff
add action to know about end of translation unit.
authorChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 02:06:50 +0000 (02:06 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 02:06:50 +0000 (02:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55218 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Parse/Action.h
lib/Parse/Parser.cpp

index ef357c9ae0152e0ed9f7bda4a2616f48bcace66a..55ef67d177aaad63d4a3663579cca19e130ad97b 100644 (file)
@@ -181,6 +181,8 @@ public:
     return 0;
   }
   
+  virtual void ActOnEndOfTranslationUnit() {}
+  
   //===--------------------------------------------------------------------===//
   // Type Parsing Callbacks.
   //===--------------------------------------------------------------------===//
index ccdf264bd85ead0ec54dab857c30a860a577ad15..417cc10bfb5d39d6a49897e8031aee69afa1c38b 100644 (file)
@@ -285,7 +285,7 @@ bool Parser::ParseTopLevelDecl(DeclTy*& Result) {
 ///         external-declaration
 ///         translation-unit external-declaration
 void Parser::ParseTranslationUnit() {
-  Initialize();
+  Initialize();  // pushes a scope.
 
   DeclTy *Res;
   while (!ParseTopLevelDecl(Res))
@@ -293,6 +293,8 @@ void Parser::ParseTranslationUnit() {
   
   ExitScope();
   assert(CurScope == 0 && "Scope imbalance!");
+  
+  Actions.ActOnEndOfTranslationUnit();
 }
 
 /// ParseExternalDeclaration: