From 9e8c057ab7e53e8ed620df1a95e5c45dfe033b25 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 23 Aug 2008 02:06:50 +0000 Subject: [PATCH] add action to know about end of translation unit. llvm-svn: 55218 --- clang/include/clang/Parse/Action.h | 2 ++ clang/lib/Parse/Parser.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/Parse/Action.h b/clang/include/clang/Parse/Action.h index ef357c9ae015..55ef67d177aa 100644 --- a/clang/include/clang/Parse/Action.h +++ b/clang/include/clang/Parse/Action.h @@ -181,6 +181,8 @@ public: return 0; } + virtual void ActOnEndOfTranslationUnit() {} + //===--------------------------------------------------------------------===// // Type Parsing Callbacks. //===--------------------------------------------------------------------===// diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index ccdf264bd85e..417cc10bfb5d 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -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: