SourceKit: Simplify some unnecessary vector size initializations. NFC (#8502)

This commit is contained in:
Xi Ge
2017-04-03 13:51:37 -07:00
committed by GitHub
parent 4a4a221811
commit 9e76187829
2 changed files with 10 additions and 9 deletions

View File

@@ -865,8 +865,8 @@ getClangDeclarationName(clang::ASTContext &Ctx, NameTranslatingInfo &Info) {
return clang::DeclarationName(&Ctx.Idents.get(Info.BaseName)); return clang::DeclarationName(&Ctx.Idents.get(Info.BaseName));
} else { } else {
ArrayRef<StringRef> Args = llvm::makeArrayRef(Info.ArgNames); ArrayRef<StringRef> Args = llvm::makeArrayRef(Info.ArgNames);
std::vector<clang::IdentifierInfo *> Pieces(Args.size(), nullptr); std::vector<clang::IdentifierInfo *> Pieces;
std::transform(Args.begin(), Args.end(), Pieces.begin(), std::transform(Args.begin(), Args.end(), std::back_inserter(Pieces),
[&](StringRef T) { return &Ctx.Idents.get(T.endswith(":") ? [&](StringRef T) { return &Ctx.Idents.get(T.endswith(":") ?
T.drop_back() : T); }); T.drop_back() : T); });
return clang::DeclarationName(Ctx.Selectors.getSelector( return clang::DeclarationName(Ctx.Selectors.getSelector(
@@ -879,8 +879,9 @@ getClangDeclarationName(clang::ASTContext &Ctx, NameTranslatingInfo &Info) {
static DeclName static DeclName
getSwiftDeclName(ASTContext &Ctx, NameTranslatingInfo &Info) { getSwiftDeclName(ASTContext &Ctx, NameTranslatingInfo &Info) {
assert(SwiftLangSupport::getNameKindForUID(Info.NameKind) == NameKind::Swift); assert(SwiftLangSupport::getNameKindForUID(Info.NameKind) == NameKind::Swift);
std::vector<Identifier> Args(Info.ArgNames.size(), Identifier()); std::vector<Identifier> Args;
std::transform(Info.ArgNames.begin(), Info.ArgNames.end(), Args.begin(), std::transform(Info.ArgNames.begin(), Info.ArgNames.end(),
std::back_inserter(Args),
[&](StringRef T) { return Ctx.getIdentifier(T); }); [&](StringRef T) { return Ctx.getIdentifier(T); });
return DeclName(Ctx, Ctx.getIdentifier(Info.BaseName), return DeclName(Ctx, Ctx.getIdentifier(Info.BaseName),
llvm::makeArrayRef(Args)); llvm::makeArrayRef(Args));
@@ -929,10 +930,9 @@ static bool passNameInfoForDecl(const ValueDecl *VD, NameTranslatingInfo &Info,
NameTranslatingInfo Result; NameTranslatingInfo Result;
Result.NameKind = SwiftLangSupport::getUIDForNameKind(NameKind::Swift); Result.NameKind = SwiftLangSupport::getUIDForNameKind(NameKind::Swift);
Result.BaseName = Name.getBaseName().str(); Result.BaseName = Name.getBaseName().str();
Result.ArgNames.resize(Name.getArgumentNames().size());
std::transform(Name.getArgumentNames().begin(), std::transform(Name.getArgumentNames().begin(),
Name.getArgumentNames().end(), Name.getArgumentNames().end(),
Result.ArgNames.begin(), std::back_inserter(Result.ArgNames),
[](Identifier Id) { return Id.str(); }); [](Identifier Id) { return Id.str(); });
Receiver(Result); Receiver(Result);
return false; return false;

View File

@@ -810,13 +810,14 @@ handleSemanticRequest(RequestDict Req,
return Rec(createErrorRequestInvalid("cannot specify 'key.selectorpieces' " return Rec(createErrorRequestInvalid("cannot specify 'key.selectorpieces' "
"and 'key.argnames' at the same time")); "and 'key.argnames' at the same time"));
} }
Input.ArgNames.resize(ArgParts.size() + Selectors.size()); std::transform(ArgParts.begin(), ArgParts.end(),
std::transform(ArgParts.begin(), ArgParts.end(), Input.ArgNames.begin(), std::back_inserter(Input.ArgNames),
[](const char *C) { [](const char *C) {
StringRef Original(C); StringRef Original(C);
return Original == "_" ? StringRef() : Original; return Original == "_" ? StringRef() : Original;
}); });
std::transform(Selectors.begin(), Selectors.end(), Input.ArgNames.begin(), std::transform(Selectors.begin(), Selectors.end(),
std::back_inserter(Input.ArgNames),
[](const char *C) { return StringRef(C); }); [](const char *C) { return StringRef(C); });
return Lang.getNameInfo(*SourceFile, Offset, Input, Args, return Lang.getNameInfo(*SourceFile, Offset, Input, Args,
[Rec](const NameTranslatingInfo &Info) { reportNameInfo(Info, Rec); }); [Rec](const NameTranslatingInfo &Info) { reportNameInfo(Info, Rec); });