Skip to content

Commit fcbc4ce

Browse files
committed
Merge pull request #2019 from danra/code_completion_using
2 parents 40e084e + af83105 commit fcbc4ce

File tree

1 file changed

+78
-76
lines changed

1 file changed

+78
-76
lines changed

lib/IDE/CodeCompletion.cpp

Lines changed: 78 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -354,42 +354,43 @@ void CodeCompletionString::print(raw_ostream &OS) const {
354354
OS << "#}";
355355
}
356356
switch (C.getKind()) {
357-
case Chunk::ChunkKind::AccessControlKeyword:
358-
case Chunk::ChunkKind::DeclAttrKeyword:
359-
case Chunk::ChunkKind::DeclAttrParamKeyword:
360-
case Chunk::ChunkKind::OverrideKeyword:
361-
case Chunk::ChunkKind::ThrowsKeyword:
362-
case Chunk::ChunkKind::RethrowsKeyword:
363-
case Chunk::ChunkKind::DeclIntroducer:
364-
case Chunk::ChunkKind::Text:
365-
case Chunk::ChunkKind::LeftParen:
366-
case Chunk::ChunkKind::RightParen:
367-
case Chunk::ChunkKind::LeftBracket:
368-
case Chunk::ChunkKind::RightBracket:
369-
case Chunk::ChunkKind::LeftAngle:
370-
case Chunk::ChunkKind::RightAngle:
371-
case Chunk::ChunkKind::Dot:
372-
case Chunk::ChunkKind::Ellipsis:
373-
case Chunk::ChunkKind::Comma:
374-
case Chunk::ChunkKind::ExclamationMark:
375-
case Chunk::ChunkKind::QuestionMark:
376-
case Chunk::ChunkKind::Ampersand:
377-
case Chunk::ChunkKind::Equal:
378-
case Chunk::ChunkKind::Whitespace:
357+
using ChunkKind = Chunk::ChunkKind;
358+
case ChunkKind::AccessControlKeyword:
359+
case ChunkKind::DeclAttrKeyword:
360+
case ChunkKind::DeclAttrParamKeyword:
361+
case ChunkKind::OverrideKeyword:
362+
case ChunkKind::ThrowsKeyword:
363+
case ChunkKind::RethrowsKeyword:
364+
case ChunkKind::DeclIntroducer:
365+
case ChunkKind::Text:
366+
case ChunkKind::LeftParen:
367+
case ChunkKind::RightParen:
368+
case ChunkKind::LeftBracket:
369+
case ChunkKind::RightBracket:
370+
case ChunkKind::LeftAngle:
371+
case ChunkKind::RightAngle:
372+
case ChunkKind::Dot:
373+
case ChunkKind::Ellipsis:
374+
case ChunkKind::Comma:
375+
case ChunkKind::ExclamationMark:
376+
case ChunkKind::QuestionMark:
377+
case ChunkKind::Ampersand:
378+
case ChunkKind::Equal:
379+
case ChunkKind::Whitespace:
379380
AnnotatedTextChunk = C.isAnnotation();
380381
SWIFT_FALLTHROUGH;
381-
case Chunk::ChunkKind::CallParameterName:
382-
case Chunk::ChunkKind::CallParameterInternalName:
383-
case Chunk::ChunkKind::CallParameterColon:
384-
case Chunk::ChunkKind::DeclAttrParamEqual:
385-
case Chunk::ChunkKind::CallParameterType:
386-
case Chunk::ChunkKind::CallParameterClosureType:
387-
case CodeCompletionString::Chunk::ChunkKind::GenericParameterName:
382+
case ChunkKind::CallParameterName:
383+
case ChunkKind::CallParameterInternalName:
384+
case ChunkKind::CallParameterColon:
385+
case ChunkKind::DeclAttrParamEqual:
386+
case ChunkKind::CallParameterType:
387+
case ChunkKind::CallParameterClosureType:
388+
case ChunkKind::GenericParameterName:
388389
if (AnnotatedTextChunk)
389390
OS << "['";
390-
else if (C.getKind() == Chunk::ChunkKind::CallParameterInternalName)
391+
else if (C.getKind() == ChunkKind::CallParameterInternalName)
391392
OS << "(";
392-
else if (C.getKind() == Chunk::ChunkKind::CallParameterClosureType)
393+
else if (C.getKind() == ChunkKind::CallParameterClosureType)
393394
OS << "##";
394395
for (char Ch : C.getText()) {
395396
if (Ch == '\n')
@@ -399,24 +400,24 @@ void CodeCompletionString::print(raw_ostream &OS) const {
399400
}
400401
if (AnnotatedTextChunk)
401402
OS << "']";
402-
else if (C.getKind() == Chunk::ChunkKind::CallParameterInternalName)
403+
else if (C.getKind() == ChunkKind::CallParameterInternalName)
403404
OS << ")";
404405
break;
405-
case Chunk::ChunkKind::OptionalBegin:
406-
case Chunk::ChunkKind::CallParameterBegin:
407-
case CodeCompletionString::Chunk::ChunkKind::GenericParameterBegin:
406+
case ChunkKind::OptionalBegin:
407+
case ChunkKind::CallParameterBegin:
408+
case ChunkKind::GenericParameterBegin:
408409
OS << "{#";
409410
break;
410-
case Chunk::ChunkKind::DynamicLookupMethodCallTail:
411-
case Chunk::ChunkKind::OptionalMethodCallTail:
411+
case ChunkKind::DynamicLookupMethodCallTail:
412+
case ChunkKind::OptionalMethodCallTail:
412413
OS << C.getText();
413414
break;
414-
case Chunk::ChunkKind::TypeAnnotation:
415+
case ChunkKind::TypeAnnotation:
415416
OS << "[#";
416417
OS << C.getText();
417418
OS << "#]";
418419
break;
419-
case Chunk::ChunkKind::BraceStmtWithCursor:
420+
case ChunkKind::BraceStmtWithCursor:
420421
OS << " {|}";
421422
break;
422423
}
@@ -951,48 +952,49 @@ Optional<unsigned> CodeCompletionString::getFirstTextChunkIndex(
951952
for (auto i : indices(getChunks())) {
952953
auto &C = getChunks()[i];
953954
switch (C.getKind()) {
954-
case CodeCompletionString::Chunk::ChunkKind::Text:
955-
case CodeCompletionString::Chunk::ChunkKind::CallParameterName:
956-
case CodeCompletionString::Chunk::ChunkKind::CallParameterInternalName:
957-
case CodeCompletionString::Chunk::ChunkKind::GenericParameterName:
958-
case CodeCompletionString::Chunk::ChunkKind::LeftParen:
959-
case CodeCompletionString::Chunk::ChunkKind::LeftBracket:
960-
case CodeCompletionString::Chunk::ChunkKind::Equal:
961-
case CodeCompletionString::Chunk::ChunkKind::DeclAttrParamKeyword:
962-
case CodeCompletionString::Chunk::ChunkKind::DeclAttrKeyword:
955+
using ChunkKind = Chunk::ChunkKind;
956+
case ChunkKind::Text:
957+
case ChunkKind::CallParameterName:
958+
case ChunkKind::CallParameterInternalName:
959+
case ChunkKind::GenericParameterName:
960+
case ChunkKind::LeftParen:
961+
case ChunkKind::LeftBracket:
962+
case ChunkKind::Equal:
963+
case ChunkKind::DeclAttrParamKeyword:
964+
case ChunkKind::DeclAttrKeyword:
963965
return i;
964-
case CodeCompletionString::Chunk::ChunkKind::Dot:
965-
case CodeCompletionString::Chunk::ChunkKind::ExclamationMark:
966-
case CodeCompletionString::Chunk::ChunkKind::QuestionMark:
966+
case ChunkKind::Dot:
967+
case ChunkKind::ExclamationMark:
968+
case ChunkKind::QuestionMark:
967969
if (includeLeadingPunctuation)
968970
return i;
969971
continue;
970-
case CodeCompletionString::Chunk::ChunkKind::RightParen:
971-
case CodeCompletionString::Chunk::ChunkKind::RightBracket:
972-
case CodeCompletionString::Chunk::ChunkKind::LeftAngle:
973-
case CodeCompletionString::Chunk::ChunkKind::RightAngle:
974-
case CodeCompletionString::Chunk::ChunkKind::Ellipsis:
975-
case CodeCompletionString::Chunk::ChunkKind::Comma:
976-
case CodeCompletionString::Chunk::ChunkKind::Ampersand:
977-
case CodeCompletionString::Chunk::ChunkKind::Whitespace:
978-
case CodeCompletionString::Chunk::ChunkKind::AccessControlKeyword:
979-
case CodeCompletionString::Chunk::ChunkKind::OverrideKeyword:
980-
case CodeCompletionString::Chunk::ChunkKind::ThrowsKeyword:
981-
case CodeCompletionString::Chunk::ChunkKind::RethrowsKeyword:
982-
case CodeCompletionString::Chunk::ChunkKind::DeclIntroducer:
983-
case CodeCompletionString::Chunk::ChunkKind::CallParameterColon:
984-
case CodeCompletionString::Chunk::ChunkKind::DeclAttrParamEqual:
985-
case CodeCompletionString::Chunk::ChunkKind::CallParameterType:
986-
case CodeCompletionString::Chunk::ChunkKind::CallParameterClosureType:
987-
case CodeCompletionString::Chunk::ChunkKind::OptionalBegin:
988-
case CodeCompletionString::Chunk::ChunkKind::CallParameterBegin:
989-
case CodeCompletionString::Chunk::ChunkKind::GenericParameterBegin:
990-
case CodeCompletionString::Chunk::ChunkKind::DynamicLookupMethodCallTail:
991-
case CodeCompletionString::Chunk::ChunkKind::OptionalMethodCallTail:
992-
case CodeCompletionString::Chunk::ChunkKind::TypeAnnotation:
972+
case ChunkKind::RightParen:
973+
case ChunkKind::RightBracket:
974+
case ChunkKind::LeftAngle:
975+
case ChunkKind::RightAngle:
976+
case ChunkKind::Ellipsis:
977+
case ChunkKind::Comma:
978+
case ChunkKind::Ampersand:
979+
case ChunkKind::Whitespace:
980+
case ChunkKind::AccessControlKeyword:
981+
case ChunkKind::OverrideKeyword:
982+
case ChunkKind::ThrowsKeyword:
983+
case ChunkKind::RethrowsKeyword:
984+
case ChunkKind::DeclIntroducer:
985+
case ChunkKind::CallParameterColon:
986+
case ChunkKind::DeclAttrParamEqual:
987+
case ChunkKind::CallParameterType:
988+
case ChunkKind::CallParameterClosureType:
989+
case ChunkKind::OptionalBegin:
990+
case ChunkKind::CallParameterBegin:
991+
case ChunkKind::GenericParameterBegin:
992+
case ChunkKind::DynamicLookupMethodCallTail:
993+
case ChunkKind::OptionalMethodCallTail:
994+
case ChunkKind::TypeAnnotation:
993995
continue;
994996

995-
case CodeCompletionString::Chunk::ChunkKind::BraceStmtWithCursor:
997+
case ChunkKind::BraceStmtWithCursor:
996998
llvm_unreachable("should have already extracted the text");
997999
}
9981000
}
@@ -1011,7 +1013,7 @@ void CodeCompletionString::getName(raw_ostream &OS) const {
10111013
int TextSize = 0;
10121014
if (FirstTextChunk.hasValue()) {
10131015
for (auto C : getChunks().slice(*FirstTextChunk)) {
1014-
using ChunkKind = CodeCompletionString::Chunk::ChunkKind;
1016+
using ChunkKind = Chunk::ChunkKind;
10151017
if (C.getKind() == ChunkKind::BraceStmtWithCursor)
10161018
break;
10171019

0 commit comments

Comments
 (0)