aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-02-07 16:50:53 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-02-07 16:50:53 +0000
commitb6c6a5836625d430b1a0e1358cacc63559505c23 (patch)
tree07a78c4bebddd62d285831dabf9157b2d5054469 /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
parent47ddf604b922f2388f61e426c56d46eb57c6a387 (diff)
downloadllvm-b6c6a5836625d430b1a0e1358cacc63559505c23.zip
llvm-b6c6a5836625d430b1a0e1358cacc63559505c23.tar.gz
llvm-b6c6a5836625d430b1a0e1358cacc63559505c23.tar.bz2
Make parsing of objc @implementations more robust.
Parsing of @implementations was based on modifying global state from the parser; the logic for late parsing of methods was spread in multiple places making it difficult to have a robust error recovery. -it was difficult to ensure that we don't neglect parsing the lexed methods. -it was difficult to setup the original objc container context for parsing the lexed methods after completing ParseObjCAtImplementationDeclaration and returning to top level context. Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration(). ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed; all the data and logic for late parsing of methods is now in one place. This allows us to provide code-completion for late parsed methods with mis-matched braces. rdar://10775381 llvm-svn: 149987
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions