@@ -46,15 +46,15 @@ class ReferenceDependenciesEmitter {
46
46
static bool emit (DiagnosticEngine &diags, SourceFile *SF,
47
47
const DependencyTracker &depTracker,
48
48
StringRef outputPath);
49
- static void emit (SourceFile *const SF, const DependencyTracker &depTracker, llvm::raw_ostream &out);
49
+ static void emit (SourceFile *SF, const DependencyTracker &depTracker, llvm::raw_ostream &out);
50
50
51
51
private:
52
52
static std::unique_ptr<llvm::raw_fd_ostream> openFile (DiagnosticEngine &diags,
53
53
StringRef OutputPath);
54
- void emit ();
55
- void emitProvides ();
56
- void emitDepends ();
57
- void emitInterfaceHash ();
54
+ void emit () const ;
55
+ void emitProvides () const ;
56
+ void emitDepends () const ;
57
+ void emitInterfaceHash () const ;
58
58
};
59
59
60
60
class ProvidesEmitter {
@@ -65,7 +65,7 @@ class ProvidesEmitter {
65
65
: SF(SF), out(out) {}
66
66
67
67
public:
68
- static void emit (const SourceFile * const SF, llvm::raw_ostream &out);
68
+ static void emit (const SourceFile * SF, llvm::raw_ostream &out);
69
69
70
70
private:
71
71
// / Collected and later written information.
@@ -77,24 +77,24 @@ class ProvidesEmitter {
77
77
void findNominalsAndOperators (DeclRange members);
78
78
};
79
79
80
- void emit ();
81
- CollectedProvidedDeclarations emitTopLevelNames ();
82
- void emitNominalTypes (const llvm::MapVector<const NominalTypeDecl *, bool > &extendedNominals);
83
- void emitMembers (const CollectedProvidedDeclarations &cpd);
84
- void emitDynamicLookupMembers ();
80
+ void emit () const ;
81
+ CollectedProvidedDeclarations emitTopLevelNames () const ;
82
+ void emitNominalTypes (const llvm::MapVector<const NominalTypeDecl *, bool > &extendedNominals) const ;
83
+ void emitMembers (const CollectedProvidedDeclarations &cpd) const ;
84
+ void emitDynamicLookupMembers () const ;
85
85
86
- void emitTopLevelDecl (const Decl *D, CollectedProvidedDeclarations &cpd);
87
- void emitExtensionDecl (const ExtensionDecl *D, CollectedProvidedDeclarations &cpd);
88
- void emitNominalTypeDecl (const NominalTypeDecl *NTD, CollectedProvidedDeclarations &cpd);
89
- void emitValueDecl (const ValueDecl *VD);
86
+ void emitTopLevelDecl (const Decl *D, CollectedProvidedDeclarations &cpd) const ;
87
+ void emitExtensionDecl (const ExtensionDecl *D, CollectedProvidedDeclarations &cpd) const ;
88
+ void emitNominalTypeDecl (const NominalTypeDecl *NTD, CollectedProvidedDeclarations &cpd) const ;
89
+ void emitValueDecl (const ValueDecl *VD) const ;
90
90
91
91
static bool extendedTypeIsPrivate (TypeLoc inheritedType);
92
92
static bool declIsPrivate (const Decl *member);
93
93
};
94
94
95
95
96
96
class DependsEmitter {
97
- const SourceFile *SF;
97
+ const SourceFile *const SF;
98
98
const DependencyTracker &depTracker;
99
99
llvm::raw_ostream &out;
100
100
@@ -171,13 +171,13 @@ bool ReferenceDependenciesEmitter::emit(DiagnosticEngine &diags,
171
171
return false ;
172
172
}
173
173
174
- void ReferenceDependenciesEmitter::emit (SourceFile *const SF,
174
+ void ReferenceDependenciesEmitter::emit (SourceFile *SF,
175
175
const DependencyTracker &depTracker,
176
176
llvm::raw_ostream &out) {
177
177
ReferenceDependenciesEmitter (SF, depTracker, out).emit ();
178
178
}
179
179
180
- void ReferenceDependenciesEmitter::emit () {
180
+ void ReferenceDependenciesEmitter::emit () const {
181
181
assert (SF && " Cannot emit reference dependencies without a SourceFile" );
182
182
out << " ### Swift dependencies file v0 ###\n " ;
183
183
emitProvides ();
@@ -186,13 +186,13 @@ void ReferenceDependenciesEmitter::emit() {
186
186
}
187
187
188
188
bool swift::emitReferenceDependencies (DiagnosticEngine &diags,
189
- SourceFile *const SF,
189
+ SourceFile *SF,
190
190
const DependencyTracker &depTracker,
191
191
StringRef outputPath) {
192
192
return ReferenceDependenciesEmitter::emit (diags, SF, depTracker, outputPath);
193
193
}
194
194
195
- void ProvidesEmitter::emit () {
195
+ void ProvidesEmitter::emit () const {
196
196
out << " provides-top-level:\n " ;
197
197
198
198
CollectedProvidedDeclarations cpd = emitTopLevelNames ();
@@ -205,21 +205,21 @@ void ProvidesEmitter::emit(const SourceFile *SF, llvm::raw_ostream &out) {
205
205
ProvidesEmitter (SF, out).emit ();
206
206
}
207
207
208
- void ReferenceDependenciesEmitter::emitProvides () {
208
+ void ReferenceDependenciesEmitter::emitProvides () const {
209
209
ProvidesEmitter::emit (SF, out);
210
210
}
211
211
212
- void ReferenceDependenciesEmitter::emitDepends () {
212
+ void ReferenceDependenciesEmitter::emitDepends () const {
213
213
DependsEmitter::emit (SF, depTracker, out);
214
214
}
215
215
216
- void ReferenceDependenciesEmitter::emitInterfaceHash () {
216
+ void ReferenceDependenciesEmitter::emitInterfaceHash () const {
217
217
llvm::SmallString<32 > interfaceHash;
218
218
SF->getInterfaceHash (interfaceHash);
219
219
out << " interface-hash: \" " << interfaceHash << " \"\n " ;
220
220
}
221
221
222
- ProvidesEmitter::CollectedProvidedDeclarations ProvidesEmitter::emitTopLevelNames () {
222
+ ProvidesEmitter::CollectedProvidedDeclarations ProvidesEmitter::emitTopLevelNames () const {
223
223
CollectedProvidedDeclarations cpd;
224
224
for (const Decl *D : SF->Decls )
225
225
emitTopLevelDecl (D, cpd);
@@ -230,7 +230,7 @@ ProvidesEmitter::CollectedProvidedDeclarations ProvidesEmitter::emitTopLevelName
230
230
231
231
void ProvidesEmitter::emitTopLevelDecl (
232
232
const Decl *const D,
233
- CollectedProvidedDeclarations &cpd) {
233
+ CollectedProvidedDeclarations &cpd) const {
234
234
switch (D->getKind ()) {
235
235
case DeclKind::Module:
236
236
break ;
@@ -290,7 +290,7 @@ void ProvidesEmitter::emitTopLevelDecl(
290
290
291
291
void ProvidesEmitter::emitExtensionDecl (
292
292
const ExtensionDecl *const ED,
293
- CollectedProvidedDeclarations &cpd) {
293
+ CollectedProvidedDeclarations &cpd) const {
294
294
auto *NTD = ED->getExtendedType ()->getAnyNominal ();
295
295
if (!NTD)
296
296
return ;
@@ -316,7 +316,7 @@ void ProvidesEmitter::emitExtensionDecl(
316
316
317
317
void ProvidesEmitter::emitNominalTypeDecl (
318
318
const NominalTypeDecl *const NTD,
319
- CollectedProvidedDeclarations &cpd) {
319
+ CollectedProvidedDeclarations &cpd) const {
320
320
if (!NTD->hasName ())
321
321
return ;
322
322
if (NTD->hasAccess () && NTD->getFormalAccess () <= AccessLevel::FilePrivate) {
@@ -351,7 +351,7 @@ void ProvidesEmitter::CollectedProvidedDeclarations::findNominalsAndOperators(De
351
351
}
352
352
}
353
353
354
- void ProvidesEmitter::emitValueDecl (const ValueDecl *const VD) {
354
+ void ProvidesEmitter::emitValueDecl (const ValueDecl *const VD) const {
355
355
if (!VD->hasName ())
356
356
return ;
357
357
if (VD->hasAccess () && VD->getFormalAccess () <= AccessLevel::FilePrivate) {
@@ -361,7 +361,7 @@ void ProvidesEmitter::emitValueDecl(const ValueDecl *const VD) {
361
361
}
362
362
363
363
void ProvidesEmitter::emitNominalTypes (
364
- const llvm::MapVector<const NominalTypeDecl *, bool > &extendedNominals) {
364
+ const llvm::MapVector<const NominalTypeDecl *, bool > &extendedNominals) const {
365
365
out << " provides-nominal:\n " ;
366
366
for (auto entry : extendedNominals) {
367
367
if (!entry.second )
@@ -373,7 +373,7 @@ void ProvidesEmitter::emitNominalTypes(
373
373
}
374
374
375
375
void ProvidesEmitter::emitMembers (
376
- const CollectedProvidedDeclarations &cpd) {
376
+ const CollectedProvidedDeclarations &cpd) const {
377
377
out << " provides-member:\n " ;
378
378
for (auto entry : cpd.extendedNominals ) {
379
379
out << " - [\" " ;
@@ -398,7 +398,7 @@ void ProvidesEmitter::emitMembers(
398
398
}
399
399
}
400
400
401
- void ProvidesEmitter::emitDynamicLookupMembers () {
401
+ void ProvidesEmitter::emitDynamicLookupMembers () const {
402
402
if (SF->getASTContext ().LangOpts .EnableObjCInterop ) {
403
403
// FIXME: This requires a traversal of the whole file to compute.
404
404
// We should (a) see if there's a cheaper way to keep it up to date,
0 commit comments