@@ -33,20 +33,21 @@ Expected<NodeT> IncludeTreeBase<NodeT>::create(ObjectStore &DB,
33
33
return NodeT (*Proxy);
34
34
}
35
35
36
- Expected<IncludeFile> IncludeFile::create (ObjectStore &DB, StringRef Filename,
37
- ObjectRef Contents) {
36
+ Expected<IncludeTree::File> IncludeTree::File::create (ObjectStore &DB,
37
+ StringRef Filename,
38
+ ObjectRef Contents) {
38
39
auto PathRef = DB.storeFromString ({}, Filename);
39
40
if (!PathRef)
40
41
return PathRef.takeError ();
41
42
std::array<ObjectRef, 2 > Refs{*PathRef, Contents};
42
43
return IncludeTreeBase::create (DB, Refs, {});
43
44
}
44
45
45
- Expected<IncludeFile > IncludeTree::getBaseFile () {
46
+ Expected<IncludeTree::File > IncludeTree::getBaseFile () {
46
47
auto Node = getCAS ().getProxy (getBaseFileRef ());
47
48
if (!Node)
48
49
return Node.takeError ();
49
- return IncludeFile (std::move (*Node));
50
+ return File (std::move (*Node));
50
51
}
51
52
52
53
Expected<IncludeTree::FileInfo> IncludeTree::getBaseFileInfo () {
@@ -85,7 +86,7 @@ Expected<IncludeTree> IncludeTree::create(
85
86
86
87
char Kind = FileCharacteristic;
87
88
assert (Kind == FileCharacteristic && " SrcMgr::CharacteristicKind too big!" );
88
- assert (IncludeFile ::isValid (DB, BaseFile));
89
+ assert (File ::isValid (DB, BaseFile));
89
90
SmallVector<ObjectRef, 16 > Refs;
90
91
Refs.reserve (Includes.size () + 1 );
91
92
Refs.push_back (BaseFile);
@@ -169,16 +170,17 @@ bool IncludeTree::isValid(const ObjectProxy &Node) {
169
170
return Base.getData ().size () >= NumIncludes * sizeof (uint32_t ) + 1 ;
170
171
}
171
172
172
- IncludeFileList::FileSizeTy IncludeFileList::getFileSize (size_t I) const {
173
+ IncludeTree::FileList::FileSizeTy
174
+ IncludeTree::FileList::getFileSize (size_t I) const {
173
175
assert (I < getNumFiles ());
174
176
StringRef Data = getData ();
175
177
assert (Data.size () >= (I + 1 ) * sizeof (FileSizeTy));
176
178
return llvm::support::endian::read <FileSizeTy, llvm::support::little>(
177
179
Data.data () + I * sizeof (FileSizeTy));
178
180
}
179
181
180
- llvm::Error IncludeFileList ::forEachFile (
181
- llvm::function_ref<llvm::Error(IncludeFile , FileSizeTy)> Callback) {
182
+ llvm::Error IncludeTree::FileList ::forEachFile (
183
+ llvm::function_ref<llvm::Error(File , FileSizeTy)> Callback) {
182
184
size_t I = 0 ;
183
185
return forEachReference ([&](ObjectRef Ref) -> llvm::Error {
184
186
auto Include = getFile (Ref);
@@ -188,8 +190,8 @@ llvm::Error IncludeFileList::forEachFile(
188
190
});
189
191
}
190
192
191
- Expected<IncludeFileList> IncludeFileList::create (ObjectStore &DB,
192
- ArrayRef<FileEntry> Files) {
193
+ Expected<IncludeTree::FileList>
194
+ IncludeTree::FileList::create (ObjectStore &DB, ArrayRef<FileEntry> Files) {
193
195
SmallVector<ObjectRef, 16 > Refs;
194
196
Refs.reserve (Files.size ());
195
197
SmallString<256 > Buffer;
@@ -199,24 +201,25 @@ Expected<IncludeFileList> IncludeFileList::create(ObjectStore &DB,
199
201
llvm::support::endian::Writer Writer (BufOS, llvm::support::little);
200
202
201
203
for (const FileEntry &Entry : Files) {
202
- assert (IncludeFile ::isValid (DB, Entry.FileRef ));
204
+ assert (File ::isValid (DB, Entry.FileRef ));
203
205
Refs.push_back (Entry.FileRef );
204
206
Writer.write (Entry.Size );
205
207
}
206
208
return IncludeTreeBase::create (DB, Refs, Buffer);
207
209
}
208
210
209
- Expected<IncludeFileList> IncludeFileList::get (ObjectStore &DB, ObjectRef Ref) {
211
+ Expected<IncludeTree::FileList> IncludeTree::FileList::get (ObjectStore &DB,
212
+ ObjectRef Ref) {
210
213
auto Node = DB.getProxy (Ref);
211
214
if (!Node)
212
215
return Node.takeError ();
213
216
if (!isValid (*Node))
214
217
return llvm::createStringError (llvm::inconvertibleErrorCode (),
215
218
" not a IncludeFileList node kind" );
216
- return IncludeFileList (std::move (*Node));
219
+ return FileList (std::move (*Node));
217
220
}
218
221
219
- bool IncludeFileList ::isValid (const ObjectProxy &Node) {
222
+ bool IncludeTree::FileList ::isValid (const ObjectProxy &Node) {
220
223
if (!IncludeTreeBase::isValid (Node))
221
224
return false ;
222
225
IncludeTreeBase Base (Node);
@@ -229,7 +232,7 @@ Expected<IncludeTreeRoot>
229
232
IncludeTreeRoot::create (ObjectStore &DB, ObjectRef MainFileTree,
230
233
ObjectRef FileList, std::optional<ObjectRef> PCHRef) {
231
234
assert (IncludeTree::isValid (DB, MainFileTree));
232
- assert (IncludeFileList ::isValid (DB, FileList));
235
+ assert (IncludeTree::FileList ::isValid (DB, FileList));
233
236
if (PCHRef) {
234
237
return IncludeTreeBase::create (DB, {MainFileTree, FileList, *PCHRef}, {});
235
238
} else {
@@ -247,7 +250,7 @@ Expected<IncludeTreeRoot> IncludeTreeRoot::get(ObjectStore &DB, ObjectRef Ref) {
247
250
return IncludeTreeRoot (std::move (*Node));
248
251
}
249
252
250
- llvm::Error IncludeFile ::print (llvm::raw_ostream &OS, unsigned Indent) {
253
+ llvm::Error IncludeTree::File ::print (llvm::raw_ostream &OS, unsigned Indent) {
251
254
auto Filename = getFilename ();
252
255
if (!Filename)
253
256
return Filename.takeError ();
@@ -281,8 +284,9 @@ llvm::Error IncludeTree::print(llvm::raw_ostream &OS, unsigned Indent) {
281
284
});
282
285
}
283
286
284
- llvm::Error IncludeFileList::print (llvm::raw_ostream &OS, unsigned Indent) {
285
- return forEachFile ([&](cas::IncludeFile File, FileSizeTy) -> llvm::Error {
287
+ llvm::Error IncludeTree::FileList::print (llvm::raw_ostream &OS,
288
+ unsigned Indent) {
289
+ return forEachFile ([&](File File, FileSizeTy) -> llvm::Error {
286
290
return File.print (OS, Indent);
287
291
});
288
292
}
@@ -299,7 +303,7 @@ llvm::Error IncludeTreeRoot::print(llvm::raw_ostream &OS, unsigned Indent) {
299
303
if (llvm::Error E = MainTree->print (OS.indent (Indent), Indent))
300
304
return E;
301
305
OS.indent (Indent) << " Files:\n " ;
302
- std::optional<cas::IncludeFileList > List;
306
+ std::optional<IncludeTree::FileList > List;
303
307
if (llvm::Error E = getFileList ().moveInto (List))
304
308
return E;
305
309
return List->print (OS, Indent);
@@ -347,7 +351,7 @@ class IncludeTreeFileSystem : public llvm::vfs::FileSystem {
347
351
348
352
struct FileEntry {
349
353
cas::ObjectRef ContentsRef;
350
- IncludeFileList ::FileSizeTy Size ;
354
+ IncludeTree::FileList ::FileSizeTy Size ;
351
355
llvm::sys::fs::UniqueID UniqueID;
352
356
};
353
357
@@ -450,7 +454,8 @@ cas::createIncludeTreeFileSystem(IncludeTreeRoot &Root) {
450
454
IntrusiveRefCntPtr<IncludeTreeFileSystem> IncludeTreeFS =
451
455
new IncludeTreeFileSystem (Root.getCAS ());
452
456
llvm::Error E = FileList->forEachFile (
453
- [&](IncludeFile File, IncludeFileList::FileSizeTy Size ) -> llvm::Error {
457
+ [&](IncludeTree::File File,
458
+ IncludeTree::FileList::FileSizeTy Size ) -> llvm::Error {
454
459
auto FilenameBlob = File.getFilename ();
455
460
if (!FilenameBlob)
456
461
return FilenameBlob.takeError ();
0 commit comments