]> granicus.if.org Git - clang/commit
Improve code completion in failure cases in two ways:
authorDouglas Gregor <dgregor@apple.com>
Tue, 25 May 2010 05:58:43 +0000 (05:58 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 25 May 2010 05:58:43 +0000 (05:58 +0000)
commitdc8453422bec3bbf70c03920e01498d75783d122
treed5b85f0cac85117aee6dba355777536efdb8022f
parentab28099e3bd4859585ccb316f9f571c8c6b035fd
Improve code completion in failure cases in two ways:
  1) Suppress diagnostics as soon as we form the code-completion
  token, so we don't get any error/warning spew from the early
  end-of-file.
  2) If we consume a code-completion token when we weren't expecting
  one, go into a code-completion recovery path that produces the best
  results it can based on the context that the parser is in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104585 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Parse/Action.h
include/clang/Parse/Parser.h
lib/Lex/Lexer.cpp
lib/Parse/ParseDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/ParseExpr.cpp
lib/Parse/ParseExprCXX.cpp
lib/Parse/ParseObjc.cpp
lib/Parse/ParseStmt.cpp
lib/Parse/Parser.cpp
lib/Sema/CodeCompleteConsumer.cpp
lib/Sema/SemaCodeComplete.cpp
test/Index/complete-recovery.m [new file with mode: 0644]