From e44a2adf41f2cde4f8d10b7a13dd2b85fe6c7104 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 27 May 2009 23:11:45 +0000 Subject: Reimplement much of the way that we track nested classes in the parser. Rather than placing all of the delayed member function declarations and inline definitions into a single bucket corresponding to the top-level class, we instead mirror the nesting structure of the nested classes and place the delayed member functions into their appropriate place. Then, when we actually parse the delayed member function declarations, set up the scope stack the same way as it was when we originally saw the declaration, so that we can find, e.g., template parameters that are in scope. llvm-svn: 72502 --- clang/lib/Parse/Parser.cpp | 3 --- 1 file changed, 3 deletions(-) (limited to 'clang/lib/Parse/Parser.cpp') diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 12e584377d8..1c2e8a62e1f 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -39,9 +39,6 @@ Parser::Parser(Preprocessor &pp, Action &actions) PragmaUnusedHandler(&PP.getIdentifierTable().get("unused"), actions, *this)); PP.AddPragmaHandler(0, UnusedHandler.get()); - - // Instantiate a LexedMethodsForTopClass for all the non-nested classes. - PushTopClassStack(); } /// If a crash happens while the parser is active, print out a line indicating -- cgit v1.2.3