diff options
| author | Alp Toker <alp@nuanti.com> | 2014-05-02 03:43:14 +0000 |
|---|---|---|
| committer | Alp Toker <alp@nuanti.com> | 2014-05-02 03:43:14 +0000 |
| commit | 1c583cc668f16e7eba39322301bb8bd2e450c758 (patch) | |
| tree | 46341d6295ba7be24f98328d6bb67cf406a55a52 /clang/lib | |
| parent | b6d4e8cd4ee065166d4732e271abbc06a74dbdb2 (diff) | |
| download | bcm5719-llvm-1c583cc668f16e7eba39322301bb8bd2e450c758.tar.gz bcm5719-llvm-1c583cc668f16e7eba39322301bb8bd2e450c758.zip | |
Cut off parsing early during code completion
These calls to ConsumeCodeCompletionToken() caused parsing to continue
needlessly when an immediate cutOffParsing() would do.
Document the function to clarify its correct usage.
llvm-svn: 207823
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Parse/ParseExprCXX.cpp | 6 | ||||
| -rw-r--r-- | clang/lib/Parse/Parser.cpp | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp index 614949c9351..7d9fa1482d3 100644 --- a/clang/lib/Parse/ParseExprCXX.cpp +++ b/clang/lib/Parse/ParseExprCXX.cpp @@ -767,7 +767,7 @@ Optional<unsigned> Parser::ParseLambdaIntroducer(LambdaIntroducer &Intro, !Intro.Captures.empty())) { Actions.CodeCompleteLambdaIntroducer(getCurScope(), Intro, /*AfterAmpersand=*/false); - ConsumeCodeCompletionToken(); + cutOffParsing(); break; } @@ -784,7 +784,7 @@ Optional<unsigned> Parser::ParseLambdaIntroducer(LambdaIntroducer &Intro, else Actions.CodeCompleteLambdaIntroducer(getCurScope(), Intro, /*AfterAmpersand=*/false); - ConsumeCodeCompletionToken(); + cutOffParsing(); break; } @@ -808,7 +808,7 @@ Optional<unsigned> Parser::ParseLambdaIntroducer(LambdaIntroducer &Intro, if (Tok.is(tok::code_completion)) { Actions.CodeCompleteLambdaIntroducer(getCurScope(), Intro, /*AfterAmpersand=*/true); - ConsumeCodeCompletionToken(); + cutOffParsing(); break; } } diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 9d3f251a55a..b096f1c0cb7 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -1896,8 +1896,7 @@ Parser::DeclGroupPtrTy Parser::ParseModuleImport(SourceLocation AtLoc) { if (!Tok.is(tok::identifier)) { if (Tok.is(tok::code_completion)) { Actions.CodeCompleteModuleImport(ImportLoc, Path); - ConsumeCodeCompletionToken(); - SkipUntil(tok::semi); + cutOffParsing(); return DeclGroupPtrTy(); } |

