23
23
#include " swift/AST/ReferencedNameTracker.h"
24
24
#include " swift/AST/Types.h"
25
25
#include " swift/Frontend/FrontendOptions.h"
26
+ #include " swift/Frontend/ReferenceDependencyKeys.h"
26
27
#include " swift/Basic/LLVM.h"
27
28
#include " llvm/ADT/MapVector.h"
28
29
#include " llvm/ADT/SetVector.h"
31
32
#include " llvm/Support/YAMLParser.h"
32
33
33
34
using namespace swift ;
35
+ using namespace reference_dependency_keys ;
34
36
35
37
namespace {
36
38
class ReferenceDependenciesEmitter {
@@ -214,11 +216,11 @@ void ReferenceDependenciesEmitter::emitDepends() const {
214
216
void ReferenceDependenciesEmitter::emitInterfaceHash () const {
215
217
llvm::SmallString<32 > interfaceHash;
216
218
SF->getInterfaceHash (interfaceHash);
217
- out << " interface-hash " << " : \" " << interfaceHash << " \"\n " ;
219
+ out << reference_dependency_keys::interfaceHash << " : \" " << interfaceHash << " \"\n " ;
218
220
}
219
221
220
222
ProvidesEmitter::CollectedProvidedDeclarations ProvidesEmitter::emitTopLevelNames () const {
221
- out << " provides-top-level " << " :\n " ;
223
+ out << providesTopLevel << " :\n " ;
222
224
223
225
CollectedProvidedDeclarations cpd;
224
226
for (const Decl *D : SF->Decls )
@@ -362,7 +364,7 @@ void ProvidesEmitter::emitValueDecl(const ValueDecl *const VD) const {
362
364
363
365
void ProvidesEmitter::emitNominalTypes (
364
366
const llvm::MapVector<const NominalTypeDecl *, bool > &extendedNominals) const {
365
- out << " provides-nominal " << " :\n " ;
367
+ out << providesNominal << " :\n " ;
366
368
for (auto entry : extendedNominals) {
367
369
if (!entry.second )
368
370
continue ;
@@ -374,14 +376,14 @@ void ProvidesEmitter::emitNominalTypes(
374
376
375
377
void ProvidesEmitter::emitMembers (
376
378
const CollectedProvidedDeclarations &cpd) const {
377
- out << " provides-member " << " :\n " ;
379
+ out << providesMember << " :\n " ;
378
380
for (auto entry : cpd.extendedNominals ) {
379
381
out << " - [\" " ;
380
382
out << mangleTypeAsContext (entry.first );
381
383
out << " \" , \"\" ]\n " ;
382
384
}
383
385
384
- // This is also part of "provides-member" .
386
+ // This is also part of providesMember .
385
387
for (auto *ED : cpd.extensionsWithJustMembers ) {
386
388
auto mangledName =
387
389
mangleTypeAsContext (ED->getExtendedType ()->getAnyNominal ());
@@ -404,7 +406,7 @@ void ProvidesEmitter::emitDynamicLookupMembers() const {
404
406
// We should (a) see if there's a cheaper way to keep it up to date,
405
407
// and/or (b) see if we can fast-path cases where there's no ObjC
406
408
// involved.
407
- out << " provides-dynamic-lookup " << " :\n " ;
409
+ out << providesDynamicLookup << " :\n " ;
408
410
class NameCollector : public VisibleDeclConsumer {
409
411
private:
410
412
SmallVector<DeclBaseName, 16 > names;
@@ -520,7 +522,7 @@ void DependsEmitter::emit() const {
520
522
}
521
523
522
524
void DependsEmitter::emitTopLevelNames (const ReferencedNameTracker *const tracker) const {
523
- out << " depends-top-level " << " :\n " ;
525
+ out << dependsTopLevel << " :\n " ;
524
526
for (auto &entry : sortedByName (tracker->getTopLevelNames ())) {
525
527
assert (!entry.first .empty ());
526
528
out << " - " ;
@@ -531,7 +533,7 @@ void DependsEmitter::emitTopLevelNames(const ReferencedNameTracker *const tracke
531
533
}
532
534
533
535
void DependsEmitter::emitMember (ArrayRef<MemberTableEntryTy> sortedMembers) const {
534
- out << " depends-member " << " :\n " ;
536
+ out << dependsMember << " :\n " ;
535
537
for (auto &entry : sortedMembers) {
536
538
assert (entry.first .first != nullptr );
537
539
if (entry.first .first ->hasAccess () &&
@@ -551,7 +553,7 @@ void DependsEmitter::emitMember(ArrayRef<MemberTableEntryTy> sortedMembers) cons
551
553
}
552
554
553
555
void DependsEmitter::emitNominal (ArrayRef<MemberTableEntryTy> sortedMembers) const {
554
- out << " depends-nominal " << " :\n " ;
556
+ out << dependsNominal << " :\n " ;
555
557
for (auto i = sortedMembers.begin (), e = sortedMembers.end (); i != e; ++i) {
556
558
bool isCascading = i->second ;
557
559
while (i+1 != e && i[0 ].first .first == i[1 ].first .first ) {
@@ -573,7 +575,7 @@ void DependsEmitter::emitNominal(ArrayRef<MemberTableEntryTy> sortedMembers) con
573
575
}
574
576
575
577
void DependsEmitter::emitDynamicLookup (const ReferencedNameTracker *const tracker) const {
576
- out << " depends-dynamic-lookup " << " :\n " ;
578
+ out << dependsDynamicLookup << " :\n " ;
577
579
for (auto &entry : sortedByName (tracker->getDynamicLookupNames ())) {
578
580
assert (!entry.first .empty ());
579
581
out << " - " ;
@@ -584,7 +586,7 @@ void DependsEmitter::emitDynamicLookup(const ReferencedNameTracker *const tracke
584
586
}
585
587
586
588
void DependsEmitter::emitExternal (const DependencyTracker &depTracker) const {
587
- out << " depends-external " << " :\n " ;
589
+ out << dependsExternal << " :\n " ;
588
590
for (auto &entry : reversePathSortedFilenames (depTracker.getDependencies ())) {
589
591
out << " - \" " << llvm::yaml::escape (entry) << " \"\n " ;
590
592
}
0 commit comments