@@ -775,8 +775,8 @@ namespace {
775775 SourceManager *sourceMgr;
776776
777777 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 ());
780780
781781 std::less<const char *> pointerCompare;
782782 return pointerCompare (
@@ -785,7 +785,7 @@ namespace {
785785 }
786786
787787 bool operator ()(SourceFile *lhs, SourceLoc rhsLoc) const {
788- auto lhsRange = sourceMgr->getRangeForBuffer (* lhs->getBufferID ());
788+ auto lhsRange = sourceMgr->getRangeForBuffer (lhs->getBufferID ());
789789
790790 std::less<const char *> pointerCompare;
791791 return pointerCompare (
@@ -794,7 +794,7 @@ namespace {
794794 }
795795
796796 bool operator ()(SourceLoc lhsLoc, SourceFile *rhs) const {
797- auto rhsRange = sourceMgr->getRangeForBuffer (* rhs->getBufferID ());
797+ auto rhsRange = sourceMgr->getRangeForBuffer (rhs->getBufferID ());
798798
799799 std::less<const char *> pointerCompare;
800800 return pointerCompare (
@@ -835,8 +835,7 @@ void ModuleDecl::updateSourceFileLocationMap() {
835835 // First, add all of the source files with a backing buffer.
836836 for (auto *fileUnit : files) {
837837 if (auto sourceFile = dyn_cast<SourceFile>(fileUnit)) {
838- if (sourceFile->getBufferID ())
839- sourceFileLocationMap->allSourceFiles .push_back (sourceFile);
838+ sourceFileLocationMap->allSourceFiles .push_back (sourceFile);
840839 }
841840 }
842841
@@ -872,7 +871,7 @@ SourceFile *ModuleDecl::getSourceFileContainingLocation(SourceLoc loc) {
872871 // in to see if it contains this.
873872 if (sourceFileLocationMap) {
874873 if (auto lastSourceFile = sourceFileLocationMap->lastSourceFile ) {
875- auto range = sourceMgr.getRangeForBuffer (* lastSourceFile->getBufferID ());
874+ auto range = sourceMgr.getRangeForBuffer (lastSourceFile->getBufferID ());
876875 if (range.contains (adjustedLoc))
877876 return lastSourceFile;
878877 }
@@ -888,7 +887,7 @@ SourceFile *ModuleDecl::getSourceFileContainingLocation(SourceLoc loc) {
888887 return nullptr ;
889888
890889 auto foundSourceFile = *found;
891- auto foundRange = sourceMgr.getRangeForBuffer (* foundSourceFile->getBufferID ());
890+ auto foundRange = sourceMgr.getRangeForBuffer (foundSourceFile->getBufferID ());
892891 // Positions inside an empty file or at EOF should still be considered within
893892 // this file.
894893 if (!foundRange.contains (adjustedLoc) && adjustedLoc != foundRange.getEnd ())
@@ -1192,7 +1191,7 @@ SourceRange SourceFile::getMacroInsertionRange() const {
11921191 return SourceRange ();
11931192
11941193 auto generatedInfo =
1195- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1194+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
11961195 auto origRange = generatedInfo.originalSourceRange ;
11971196 return {origRange.getStart (), origRange.getEnd ()};
11981197}
@@ -1202,7 +1201,7 @@ CustomAttr *SourceFile::getAttachedMacroAttribute() const {
12021201 return nullptr ;
12031202
12041203 auto genInfo =
1205- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1204+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
12061205 return genInfo.attachedMacroCustomAttr ;
12071206}
12081207
@@ -1211,7 +1210,7 @@ std::optional<MacroRole> SourceFile::getFulfilledMacroRole() const {
12111210 return std::nullopt ;
12121211
12131212 auto genInfo =
1214- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1213+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
12151214 switch (genInfo.kind ) {
12161215#define MACRO_ROLE (Name, Description ) \
12171216 case GeneratedSourceInfo::Name##MacroExpansion: \
@@ -1231,7 +1230,7 @@ SourceFile *SourceFile::getEnclosingSourceFile() const {
12311230 return nullptr ;
12321231
12331232 auto genInfo =
1234- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1233+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
12351234 auto sourceLoc = genInfo.originalSourceRange .getStart ();
12361235 return getParentModule ()->getSourceFileContainingLocation (sourceLoc);
12371236}
@@ -1242,7 +1241,7 @@ ASTNode SourceFile::getNodeInEnclosingSourceFile() const {
12421241 return nullptr ;
12431242
12441243 auto genInfo =
1245- *getASTContext ().SourceMgr .getGeneratedSourceInfo (* getBufferID ());
1244+ *getASTContext ().SourceMgr .getGeneratedSourceInfo (getBufferID ());
12461245 return ASTNode::getFromOpaqueValue (genInfo.astNode );
12471246}
12481247
@@ -1470,7 +1469,7 @@ SourceFile::getExternalRawLocsForDecl(const Decl *D) const {
14701469 bool InGeneratedBuffer =
14711470 !SM.rangeContainsTokenLoc (SM.getRangeForBuffer (BufferID), MainLoc);
14721471 if (InGeneratedBuffer) {
1473- int UnderlyingBufferID;
1472+ unsigned UnderlyingBufferID;
14741473 std::tie (UnderlyingBufferID, MainLoc) =
14751474 D->getModuleContext ()->getOriginalLocation (MainLoc);
14761475 if (BufferID != UnderlyingBufferID)
@@ -2108,8 +2107,8 @@ bool ModuleDecl::registerEntryPointFile(
21082107 if (existingDecl) {
21092108 existingDiagLoc = sourceFile->getMainDeclDiagLoc ();
21102109 } else {
2111- if ( auto bufID = sourceFile->getBufferID ())
2112- existingDiagLoc = getASTContext ().SourceMgr .getLocForBufferStart (* bufID);
2110+ auto bufID = sourceFile->getBufferID ();
2111+ existingDiagLoc = getASTContext ().SourceMgr .getLocForBufferStart (bufID);
21132112 }
21142113 }
21152114
@@ -3296,10 +3295,8 @@ llvm::StringMap<SourceFilePathInfo>
32963295SourceFile::getInfoForUsedFilePaths () const {
32973296 llvm::StringMap<SourceFilePathInfo> result;
32983297
3299- if (BufferID != -1 ) {
3300- result[getFilename ()].physicalFileLoc =
3301- getASTContext ().SourceMgr .getLocForBufferStart (BufferID);
3302- }
3298+ result[getFilename ()].physicalFileLoc =
3299+ getASTContext ().SourceMgr .getLocForBufferStart (BufferID);
33033300
33043301 for (auto &vpath : VirtualFilePaths) {
33053302 result[vpath.Item ].virtualFileLocs .insert (vpath.Loc );
@@ -3433,9 +3430,9 @@ ModuleDecl::computeFileIDMap(bool shouldDiagnose) const {
34333430}
34343431
34353432SourceFile::SourceFile (ModuleDecl &M, SourceFileKind K,
3436- std::optional< unsigned > bufferID,
3433+ unsigned bufferID,
34373434 ParsingOptions parsingOpts, bool isPrimary)
3438- : FileUnit(FileUnitKind::Source, M), BufferID(bufferID ? *bufferID : - 1 ),
3435+ : FileUnit(FileUnitKind::Source, M), BufferID(bufferID),
34393436 ParsingOpts(parsingOpts), IsPrimary(isPrimary), Kind(K) {
34403437 M.getASTContext ().addDestructorCleanup (*this );
34413438
@@ -3643,8 +3640,6 @@ bool SourceFile::walk(ASTWalker &walker) {
36433640}
36443641
36453642StringRef SourceFile::getFilename () const {
3646- if (BufferID == -1 )
3647- return " " ;
36483643 SourceManager &SM = getASTContext ().SourceMgr ;
36493644 return SM.getIdentifierForBuffer (BufferID);
36503645}
0 commit comments