@@ -775,8 +775,8 @@ namespace {
775
775
SourceManager *sourceMgr;
776
776
777
777
bool operator ()(SourceFile *lhs, SourceFile *rhs) const {
778
- auto lhsRange = sourceMgr->getRangeForBuffer (* lhs->getBufferID ());
779
- auto rhsRange = sourceMgr->getRangeForBuffer (* rhs->getBufferID ());
778
+ auto lhsRange = sourceMgr->getRangeForBuffer (lhs->getBufferID ());
779
+ auto rhsRange = sourceMgr->getRangeForBuffer (rhs->getBufferID ());
780
780
781
781
std::less<const char *> pointerCompare;
782
782
return pointerCompare (
@@ -785,7 +785,7 @@ namespace {
785
785
}
786
786
787
787
bool operator ()(SourceFile *lhs, SourceLoc rhsLoc) const {
788
- auto lhsRange = sourceMgr->getRangeForBuffer (* lhs->getBufferID ());
788
+ auto lhsRange = sourceMgr->getRangeForBuffer (lhs->getBufferID ());
789
789
790
790
std::less<const char *> pointerCompare;
791
791
return pointerCompare (
@@ -794,7 +794,7 @@ namespace {
794
794
}
795
795
796
796
bool operator ()(SourceLoc lhsLoc, SourceFile *rhs) const {
797
- auto rhsRange = sourceMgr->getRangeForBuffer (* rhs->getBufferID ());
797
+ auto rhsRange = sourceMgr->getRangeForBuffer (rhs->getBufferID ());
798
798
799
799
std::less<const char *> pointerCompare;
800
800
return pointerCompare (
@@ -835,8 +835,7 @@ void ModuleDecl::updateSourceFileLocationMap() {
835
835
// First, add all of the source files with a backing buffer.
836
836
for (auto *fileUnit : files) {
837
837
if (auto sourceFile = dyn_cast<SourceFile>(fileUnit)) {
838
- if (sourceFile->getBufferID ())
839
- sourceFileLocationMap->allSourceFiles .push_back (sourceFile);
838
+ sourceFileLocationMap->allSourceFiles .push_back (sourceFile);
840
839
}
841
840
}
842
841
@@ -872,7 +871,7 @@ SourceFile *ModuleDecl::getSourceFileContainingLocation(SourceLoc loc) {
872
871
// in to see if it contains this.
873
872
if (sourceFileLocationMap) {
874
873
if (auto lastSourceFile = sourceFileLocationMap->lastSourceFile ) {
875
- auto range = sourceMgr.getRangeForBuffer (* lastSourceFile->getBufferID ());
874
+ auto range = sourceMgr.getRangeForBuffer (lastSourceFile->getBufferID ());
876
875
if (range.contains (adjustedLoc))
877
876
return lastSourceFile;
878
877
}
@@ -888,7 +887,7 @@ SourceFile *ModuleDecl::getSourceFileContainingLocation(SourceLoc loc) {
888
887
return nullptr ;
889
888
890
889
auto foundSourceFile = *found;
891
- auto foundRange = sourceMgr.getRangeForBuffer (* foundSourceFile->getBufferID ());
890
+ auto foundRange = sourceMgr.getRangeForBuffer (foundSourceFile->getBufferID ());
892
891
// Positions inside an empty file or at EOF should still be considered within
893
892
// this file.
894
893
if (!foundRange.contains (adjustedLoc) && adjustedLoc != foundRange.getEnd ())
@@ -1192,7 +1191,7 @@ SourceRange SourceFile::getMacroInsertionRange() const {
1192
1191
return SourceRange ();
1193
1192
1194
1193
auto generatedInfo =
1195
- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1194
+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
1196
1195
auto origRange = generatedInfo.originalSourceRange ;
1197
1196
return {origRange.getStart (), origRange.getEnd ()};
1198
1197
}
@@ -1202,7 +1201,7 @@ CustomAttr *SourceFile::getAttachedMacroAttribute() const {
1202
1201
return nullptr ;
1203
1202
1204
1203
auto genInfo =
1205
- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1204
+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
1206
1205
return genInfo.attachedMacroCustomAttr ;
1207
1206
}
1208
1207
@@ -1211,7 +1210,7 @@ std::optional<MacroRole> SourceFile::getFulfilledMacroRole() const {
1211
1210
return std::nullopt ;
1212
1211
1213
1212
auto genInfo =
1214
- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1213
+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
1215
1214
switch (genInfo.kind ) {
1216
1215
#define MACRO_ROLE (Name, Description ) \
1217
1216
case GeneratedSourceInfo::Name##MacroExpansion: \
@@ -1231,7 +1230,7 @@ SourceFile *SourceFile::getEnclosingSourceFile() const {
1231
1230
return nullptr ;
1232
1231
1233
1232
auto genInfo =
1234
- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1233
+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
1235
1234
auto sourceLoc = genInfo.originalSourceRange .getStart ();
1236
1235
return getParentModule ()->getSourceFileContainingLocation (sourceLoc);
1237
1236
}
@@ -1242,7 +1241,7 @@ ASTNode SourceFile::getNodeInEnclosingSourceFile() const {
1242
1241
return nullptr ;
1243
1242
1244
1243
auto genInfo =
1245
- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1244
+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
1246
1245
return ASTNode::getFromOpaqueValue (genInfo.astNode );
1247
1246
}
1248
1247
@@ -1470,7 +1469,7 @@ SourceFile::getExternalRawLocsForDecl(const Decl *D) const {
1470
1469
bool InGeneratedBuffer =
1471
1470
!SM.rangeContainsTokenLoc (SM.getRangeForBuffer (BufferID), MainLoc);
1472
1471
if (InGeneratedBuffer) {
1473
- int UnderlyingBufferID;
1472
+ unsigned UnderlyingBufferID;
1474
1473
std::tie (UnderlyingBufferID, MainLoc) =
1475
1474
D->getModuleContext ()->getOriginalLocation (MainLoc);
1476
1475
if (BufferID != UnderlyingBufferID)
@@ -2108,8 +2107,8 @@ bool ModuleDecl::registerEntryPointFile(
2108
2107
if (existingDecl) {
2109
2108
existingDiagLoc = sourceFile->getMainDeclDiagLoc ();
2110
2109
} else {
2111
- if ( auto bufID = sourceFile->getBufferID ())
2112
- existingDiagLoc = getASTContext ().SourceMgr .getLocForBufferStart (* bufID);
2110
+ auto bufID = sourceFile->getBufferID ();
2111
+ existingDiagLoc = getASTContext ().SourceMgr .getLocForBufferStart (bufID);
2113
2112
}
2114
2113
}
2115
2114
@@ -3296,10 +3295,8 @@ llvm::StringMap<SourceFilePathInfo>
3296
3295
SourceFile::getInfoForUsedFilePaths () const {
3297
3296
llvm::StringMap<SourceFilePathInfo> result;
3298
3297
3299
- if (BufferID != -1 ) {
3300
- result[getFilename ()].physicalFileLoc =
3301
- getASTContext ().SourceMgr .getLocForBufferStart (BufferID);
3302
- }
3298
+ result[getFilename ()].physicalFileLoc =
3299
+ getASTContext ().SourceMgr .getLocForBufferStart (BufferID);
3303
3300
3304
3301
for (auto &vpath : VirtualFilePaths) {
3305
3302
result[vpath.Item ].virtualFileLocs .insert (vpath.Loc );
@@ -3433,10 +3430,11 @@ ModuleDecl::computeFileIDMap(bool shouldDiagnose) const {
3433
3430
}
3434
3431
3435
3432
SourceFile::SourceFile (ModuleDecl &M, SourceFileKind K,
3436
- std::optional< unsigned > bufferID,
3433
+ unsigned bufferID,
3437
3434
ParsingOptions parsingOpts, bool isPrimary)
3438
- : FileUnit(FileUnitKind::Source, M), BufferID(bufferID ? *bufferID : - 1 ),
3435
+ : FileUnit(FileUnitKind::Source, M), BufferID(bufferID),
3439
3436
ParsingOpts(parsingOpts), IsPrimary(isPrimary), Kind(K) {
3437
+ assert (BufferID != (unsigned )~0 );
3440
3438
M.getASTContext ().addDestructorCleanup (*this );
3441
3439
3442
3440
assert (!IsPrimary || M.isMainModule () &&
@@ -3643,8 +3641,6 @@ bool SourceFile::walk(ASTWalker &walker) {
3643
3641
}
3644
3642
3645
3643
StringRef SourceFile::getFilename () const {
3646
- if (BufferID == -1 )
3647
- return " " ;
3648
3644
SourceManager &SM = getASTContext ().SourceMgr ;
3649
3645
return SM.getIdentifierForBuffer (BufferID);
3650
3646
}
0 commit comments