Skip to content

Commit 0d1e7ab

Browse files
Merge pull request swiftlang#35757 from cypherean/refactor_transform
Replace std::transform with llvm::transform
2 parents 562eea1 + 2b11d7a commit 0d1e7ab

File tree

16 files changed

+91
-107
lines changed

16 files changed

+91
-107
lines changed

lib/AST/Type.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3403,11 +3403,9 @@ Type ProtocolCompositionType::get(const ASTContext &C,
34033403
SmallVector<Type, 4> CanTypes;
34043404
if (Superclass)
34053405
CanTypes.push_back(Superclass->getCanonicalType());
3406-
std::transform(Protocols.begin(), Protocols.end(),
3407-
std::back_inserter(CanTypes),
3408-
[](ProtocolDecl *Proto) {
3409-
return Proto->getDeclaredInterfaceType();
3410-
});
3406+
llvm::transform(
3407+
Protocols, std::back_inserter(CanTypes),
3408+
[](ProtocolDecl *Proto) { return Proto->getDeclaredInterfaceType(); });
34113409

34123410
// TODO: Canonicalize away HasExplicitAnyObject if it is implied
34133411
// by one of our member protocols.

lib/Basic/UUID.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
//===----------------------------------------------------------------------===//
1717

1818
#include "swift/Basic/UUID.h"
19+
#include "llvm/ADT/STLExtras.h"
1920
#include "llvm/ADT/SmallString.h"
2021

2122
// WIN32 doesn't natively support <uuid/uuid.h>. Instead, we use Win32 APIs.
@@ -96,7 +97,7 @@ void swift::UUID::toString(llvm::SmallVectorImpl<char> &out) const {
9697

9798
char* signedStr = reinterpret_cast<char*>(str);
9899
memcpy(out.data(), signedStr, StringBufferSize);
99-
std::transform(std::begin(out), std::end(out), std::begin(out), toupper);
100+
llvm::transform(out, std::begin(out), toupper);
100101
#else
101102
uuid_unparse_upper(Value, out.data());
102103
#endif

lib/IDE/APIDigesterData.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,8 @@ CommonDiffItem(SDKNodeKind NodeKind, NodeAnnotation DiffKind,
9999
assert(!ChildIndex.empty() && "Child index is empty.");
100100
llvm::SmallVector<StringRef, 4> Pieces;
101101
ChildIndex.split(Pieces, ":");
102-
std::transform(Pieces.begin(), Pieces.end(),
103-
std::back_inserter(ChildIndexPieces),
104-
[](StringRef Piece) { return std::stoi(Piece.str()); });
102+
llvm::transform(Pieces, std::back_inserter(ChildIndexPieces),
103+
[](StringRef Piece) { return std::stoi(Piece.str()); });
105104
}
106105

107106
StringRef swift::ide::api::CommonDiffItem::head() {

lib/IDE/CodeCompletion.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1473,8 +1473,8 @@ void CodeCompletionContext::sortCompletionResults(
14731473
return Result < 0;
14741474
});
14751475

1476-
std::transform(nameCache.begin(), nameCache.end(), Results.begin(),
1477-
[](const ResultAndName &entry) { return entry.result; });
1476+
llvm::transform(nameCache, Results.begin(),
1477+
[](const ResultAndName &entry) { return entry.result; });
14781478
}
14791479

14801480
namespace {

lib/IDE/Refactoring.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,8 +1205,8 @@ getNotableRegions(StringRef SourceText, unsigned NameOffset, StringRef Name,
12051205
auto Ranges = Renamer.Ranges;
12061206

12071207
std::vector<NoteRegion> NoteRegions(Renamer.Ranges.size());
1208-
std::transform(
1209-
Ranges.begin(), Ranges.end(), NoteRegions.begin(),
1208+
llvm::transform(
1209+
Ranges, NoteRegions.begin(),
12101210
[&SM](RenameRangeDetail &Detail) -> NoteRegion {
12111211
auto Start = SM.getPresumedLineAndColumnForLoc(Detail.Range.getStart());
12121212
auto End = SM.getPresumedLineAndColumnForLoc(Detail.Range.getEnd());

lib/IDE/SwiftSourceDocInfo.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,8 @@ std::vector<ResolvedLoc> NameMatcher::resolve(ArrayRef<UnresolvedLoc> Locs, Arra
9191

9292
// Add the locs themselves
9393
LocsToResolve.clear();
94-
std::transform(MapToOriginalIndex.begin(), MapToOriginalIndex.end(),
95-
std::back_inserter(LocsToResolve),
96-
[&](size_t index){ return Locs[index]; });
94+
llvm::transform(MapToOriginalIndex, std::back_inserter(LocsToResolve),
95+
[&](size_t index) { return Locs[index]; });
9796

9897
InactiveConfigRegionNestings = 0;
9998
SelectorNestings = 0;
@@ -918,7 +917,7 @@ getCallArgLabelRanges(SourceManager &SM, Expr *Arg, LabelRangeEndAt EndKind) {
918917
if (I != InfoVec.end())
919918
FirstTrailing = std::distance(InfoVec.begin(), I);
920919

921-
std::transform(InfoVec.begin(), InfoVec.end(), std::back_inserter(Ranges),
922-
[](CallArgInfo &Info) { return Info.LabelRange; });
920+
llvm::transform(InfoVec, std::back_inserter(Ranges),
921+
[](CallArgInfo &Info) { return Info.LabelRange; });
923922
return {Ranges, FirstTrailing};
924923
}

lib/IDE/Utils.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,8 +950,7 @@ DeclNameViewer::DeclNameViewer(StringRef Text): IsValid(true), HasParen(false) {
950950
return;
951951
if ((IsValid = Labels.back().empty())) {
952952
Labels.pop_back();
953-
std::transform(Labels.begin(), Labels.end(), Labels.begin(),
954-
[](StringRef Label) {
953+
llvm::transform(Labels, Labels.begin(), [](StringRef Label) {
955954
return Label == "_" ? StringRef() : Label;
956955
});
957956
}

lib/SILGen/SwitchEnumBuilder.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,14 @@ void SwitchEnumBuilder::emit() && {
7575
// TODO: We could store the data in CaseBB form and not have to do this.
7676
llvm::SmallVector<DeclBlockPair, 8> caseBlocks;
7777
llvm::SmallVector<ProfileCounter, 8> caseBlockCounts;
78-
std::transform(caseDataArray.begin(), caseDataArray.end(),
79-
std::back_inserter(caseBlocks),
80-
[](NormalCaseData &caseData) -> DeclBlockPair {
81-
return {caseData.decl, caseData.block};
82-
});
83-
std::transform(caseDataArray.begin(), caseDataArray.end(),
84-
std::back_inserter(caseBlockCounts),
85-
[](NormalCaseData &caseData) -> ProfileCounter {
86-
return caseData.count;
87-
});
78+
llvm::transform(caseDataArray, std::back_inserter(caseBlocks),
79+
[](NormalCaseData &caseData) -> DeclBlockPair {
80+
return {caseData.decl, caseData.block};
81+
});
82+
llvm::transform(caseDataArray, std::back_inserter(caseBlockCounts),
83+
[](NormalCaseData &caseData) -> ProfileCounter {
84+
return caseData.count;
85+
});
8886
SILBasicBlock *defaultBlock =
8987
defaultBlockData ? defaultBlockData->block : nullptr;
9088
ProfileCounter defaultBlockCount =

lib/Sema/TypeCheckAvailability.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,11 +1961,11 @@ static void fixItAvailableAttrRename(InFlightDiagnostic &diag,
19611961
return;
19621962

19631963
SmallVector<Identifier, 4> argumentLabelIDs;
1964-
std::transform(parsed.ArgumentLabels.begin(), parsed.ArgumentLabels.end(),
1965-
std::back_inserter(argumentLabelIDs),
1966-
[&ctx](StringRef labelStr) -> Identifier {
1967-
return labelStr.empty() ? Identifier() : ctx.getIdentifier(labelStr);
1968-
});
1964+
llvm::transform(parsed.ArgumentLabels, std::back_inserter(argumentLabelIDs),
1965+
[&ctx](StringRef labelStr) -> Identifier {
1966+
return labelStr.empty() ? Identifier()
1967+
: ctx.getIdentifier(labelStr);
1968+
});
19691969

19701970
// Coerce the `argumentLabelIDs` to the user supplied arguments.
19711971
// e.g:

lib/Sema/TypeCheckSwitchStmt.cpp

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -789,31 +789,32 @@ namespace {
789789
} else if (auto *E = tp->getEnumOrBoundGenericEnum()) {
790790
// Look into each case of the enum and decompose it in turn.
791791
auto children = E->getAllElements();
792-
std::transform(children.begin(), children.end(),
793-
std::back_inserter(arr), [&](EnumElementDecl *eed) {
794-
// Don't force people to match unavailable cases; they can't even
795-
// write them.
796-
if (AvailableAttr::isUnavailable(eed)) {
797-
return Space();
798-
}
792+
llvm::transform(
793+
children, std::back_inserter(arr), [&](EnumElementDecl *eed) {
794+
// Don't force people to match unavailable cases; they can't
795+
// even write them.
796+
if (AvailableAttr::isUnavailable(eed)) {
797+
return Space();
798+
}
799799

800-
// .e(a: X, b: X) -> (a: X, b: X)
801-
// .f((a: X, b: X)) -> ((a: X, b: X)
802-
auto eedTy = tp->getCanonicalType()
803-
->getTypeOfMember(E->getModuleContext(), eed,
804-
eed->getArgumentInterfaceType());
805-
SmallVector<Space, 4> constElemSpaces;
806-
if (eedTy) {
807-
if (auto *TTy = eedTy->getAs<TupleType>()) {
808-
Space::getTupleTypeSpaces(eedTy, TTy, constElemSpaces);
809-
} else if (auto *TTy = dyn_cast<ParenType>(eedTy.getPointer())) {
810-
constElemSpaces.push_back(
811-
Space::forType(TTy->getUnderlyingType(), Identifier()));
812-
}
813-
}
814-
return Space::forConstructor(tp, eed->getName(),
815-
constElemSpaces);
816-
});
800+
// .e(a: X, b: X) -> (a: X, b: X)
801+
// .f((a: X, b: X)) -> ((a: X, b: X)
802+
auto eedTy = tp->getCanonicalType()->getTypeOfMember(
803+
E->getModuleContext(), eed,
804+
eed->getArgumentInterfaceType());
805+
SmallVector<Space, 4> constElemSpaces;
806+
if (eedTy) {
807+
if (auto *TTy = eedTy->getAs<TupleType>()) {
808+
Space::getTupleTypeSpaces(eedTy, TTy, constElemSpaces);
809+
} else if (auto *TTy =
810+
dyn_cast<ParenType>(eedTy.getPointer())) {
811+
constElemSpaces.push_back(
812+
Space::forType(TTy->getUnderlyingType(), Identifier()));
813+
}
814+
}
815+
return Space::forConstructor(tp, eed->getName(),
816+
constElemSpaces);
817+
});
817818

818819
if (!E->isFormallyExhaustive(DC)) {
819820
arr.push_back(Space::forUnknown(/*allowedButNotRequired*/false));
@@ -1455,11 +1456,10 @@ namespace {
14551456
switch (SP->getKind()) {
14561457
case PatternKind::Tuple: {
14571458
auto *TP = dyn_cast<TuplePattern>(SP);
1458-
std::transform(TP->getElements().begin(), TP->getElements().end(),
1459-
std::back_inserter(conArgSpace),
1460-
[&](TuplePatternElt pate) {
1461-
return projectPattern(pate.getPattern());
1462-
});
1459+
llvm::transform(TP->getElements(), std::back_inserter(conArgSpace),
1460+
[&](TuplePatternElt pate) {
1461+
return projectPattern(pate.getPattern());
1462+
});
14631463
// FIXME: Compound names.
14641464
return Space::forConstructor(item->getType(),
14651465
VP->getName().getBaseIdentifier(),
@@ -1508,11 +1508,10 @@ namespace {
15081508
case PatternKind::Tuple: {
15091509
auto *TP = cast<TuplePattern>(item);
15101510
SmallVector<Space, 4> conArgSpace;
1511-
std::transform(TP->getElements().begin(), TP->getElements().end(),
1512-
std::back_inserter(conArgSpace),
1513-
[&](TuplePatternElt pate) {
1514-
return projectPattern(pate.getPattern());
1515-
});
1511+
llvm::transform(TP->getElements(), std::back_inserter(conArgSpace),
1512+
[&](TuplePatternElt pate) {
1513+
return projectPattern(pate.getPattern());
1514+
});
15161515
return Space::forConstructor(item->getType(), Identifier(),
15171516
conArgSpace);
15181517
}

0 commit comments

Comments
 (0)