Skip to content

Commit e6deb0b

Browse files
committed
[SourceKit] Remove pImpl abstraction pattern for RequestRenameRangeConsumer
1 parent e3264d9 commit e6deb0b

File tree

2 files changed

+33
-47
lines changed

2 files changed

+33
-47
lines changed

tools/SourceKit/lib/SwiftLang/SwiftDocSupport.cpp

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1344,60 +1344,41 @@ void RequestRefactoringEditConsumer::handleDiagnostic(
13441344
Impl.DiagConsumer.handleDiagnostic(SM, Info);
13451345
}
13461346

1347-
class RequestRenameRangeConsumer::Implementation {
1348-
CategorizedRenameRangesReceiver Receiver;
1349-
std::string ErrBuffer;
1350-
llvm::raw_string_ostream OS;
1351-
std::vector<CategorizedRenameRanges> CategorizedRanges;
1352-
1353-
public:
1354-
PrintingDiagnosticConsumer DiagConsumer;
1355-
1356-
public:
1357-
Implementation(CategorizedRenameRangesReceiver Receiver)
1358-
: Receiver(Receiver), OS(ErrBuffer), DiagConsumer(OS) {}
1359-
1360-
~Implementation() {
1361-
if (DiagConsumer.didErrorOccur()) {
1362-
Receiver(RequestResult<ArrayRef<CategorizedRenameRanges>>::fromError(OS.str()));
1363-
return;
1364-
}
1365-
Receiver(RequestResult<ArrayRef<CategorizedRenameRanges>>::fromResult(CategorizedRanges));
1366-
}
1367-
1368-
void accept(SourceManager &SM, RegionType RegionType,
1369-
ArrayRef<ide::RenameRangeDetail> Ranges) {
1370-
CategorizedRenameRanges Results;
1371-
Results.Category = SwiftLangSupport::getUIDForRegionType(RegionType);
1372-
for (const auto &R : Ranges) {
1373-
SourceKit::RenameRangeDetail Result;
1374-
std::tie(Result.StartLine, Result.StartColumn) =
1375-
SM.getLineAndColumnInBuffer(R.Range.getStart());
1376-
std::tie(Result.EndLine, Result.EndColumn) =
1377-
SM.getLineAndColumnInBuffer(R.Range.getEnd());
1378-
Result.ArgIndex = R.Index;
1379-
Result.Kind =
1380-
SwiftLangSupport::getUIDForRefactoringRangeKind(R.RangeKind);
1381-
Results.Ranges.push_back(std::move(Result));
1382-
}
1383-
CategorizedRanges.push_back(std::move(Results));
1384-
}
1385-
};
1386-
13871347
RequestRenameRangeConsumer::RequestRenameRangeConsumer(
13881348
CategorizedRenameRangesReceiver Receiver)
1389-
: Impl(*new Implementation(Receiver)) {}
1390-
RequestRenameRangeConsumer::~RequestRenameRangeConsumer() { delete &Impl; }
1349+
: Receiver(Receiver), OS(ErrBuffer), DiagConsumer(OS) {}
1350+
1351+
RequestRenameRangeConsumer::~RequestRenameRangeConsumer() {
1352+
if (DiagConsumer.didErrorOccur()) {
1353+
Receiver(
1354+
RequestResult<ArrayRef<CategorizedRenameRanges>>::fromError(OS.str()));
1355+
return;
1356+
}
1357+
Receiver(RequestResult<ArrayRef<CategorizedRenameRanges>>::fromResult(
1358+
CategorizedRanges));
1359+
}
13911360

13921361
void RequestRenameRangeConsumer::accept(
13931362
SourceManager &SM, RegionType RegionType,
13941363
ArrayRef<ide::RenameRangeDetail> Ranges) {
1395-
Impl.accept(SM, RegionType, Ranges);
1364+
CategorizedRenameRanges Results;
1365+
Results.Category = SwiftLangSupport::getUIDForRegionType(RegionType);
1366+
for (const auto &R : Ranges) {
1367+
SourceKit::RenameRangeDetail Result;
1368+
std::tie(Result.StartLine, Result.StartColumn) =
1369+
SM.getLineAndColumnInBuffer(R.Range.getStart());
1370+
std::tie(Result.EndLine, Result.EndColumn) =
1371+
SM.getLineAndColumnInBuffer(R.Range.getEnd());
1372+
Result.ArgIndex = R.Index;
1373+
Result.Kind = SwiftLangSupport::getUIDForRefactoringRangeKind(R.RangeKind);
1374+
Results.Ranges.push_back(std::move(Result));
1375+
}
1376+
CategorizedRanges.push_back(std::move(Results));
13961377
}
13971378

13981379
void RequestRenameRangeConsumer::handleDiagnostic(SourceManager &SM,
13991380
const DiagnosticInfo &Info) {
1400-
Impl.DiagConsumer.handleDiagnostic(SM, Info);
1381+
DiagConsumer.handleDiagnostic(SM, Info);
14011382
}
14021383

14031384
static NameUsage getNameUsage(RenameType Type) {

tools/SourceKit/lib/SwiftLang/SwiftLangSupport.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@
2424
#include "swift/AST/DiagnosticConsumer.h"
2525
#include "swift/AST/PluginRegistry.h"
2626
#include "swift/Basic/ThreadSafeRefCounted.h"
27+
#include "swift/Frontend/PrintingDiagnosticConsumer.h"
2728
#include "swift/IDE/CancellableResult.h"
2829
#include "swift/IDE/Indenting.h"
29-
#include "swift/Refactoring/Refactoring.h"
3030
#include "swift/IDETool/CompileInstance.h"
3131
#include "swift/IDETool/IDEInspectionInstance.h"
3232
#include "swift/Index/IndexSymbol.h"
33+
#include "swift/Refactoring/Refactoring.h"
3334
#include "llvm/ADT/IntrusiveRefCntPtr.h"
3435
#include "llvm/ADT/StringMap.h"
3536
#include "llvm/Support/Mutex.h"
@@ -276,8 +277,12 @@ class RequestRefactoringEditConsumer: public swift::ide::SourceEditConsumer,
276277

277278
class RequestRenameRangeConsumer : public swift::ide::FindRenameRangesConsumer,
278279
public swift::DiagnosticConsumer {
279-
class Implementation;
280-
Implementation &Impl;
280+
CategorizedRenameRangesReceiver Receiver;
281+
std::string ErrBuffer;
282+
llvm::raw_string_ostream OS;
283+
std::vector<CategorizedRenameRanges> CategorizedRanges;
284+
285+
swift::PrintingDiagnosticConsumer DiagConsumer;
281286

282287
public:
283288
RequestRenameRangeConsumer(CategorizedRenameRangesReceiver Receiver);

0 commit comments

Comments
 (0)