From 0b09b5d44837ea71c6bf017607b33f283c4417c6 Mon Sep 17 00:00:00 2001 From: Jan Svoboda Date: Fri, 15 Apr 2022 14:48:34 +0200 Subject: [PATCH] [clang][lex] NFC: Use FileEntryRef in PreprocessorLexer::getFileEntry() This patch changes the return type of `PreprocessorLexer::getFileEntry()` so that its clients may stop using the deprecated APIs of `FileEntry`. Reviewed By: bnbarham Differential Revision: https://reviews.llvm.org/D123772 --- clang/include/clang/Lex/PreprocessorLexer.h | 2 +- clang/lib/Lex/PreprocessorLexer.cpp | 5 +++-- clang/lib/Sema/SemaCodeComplete.cpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/clang/include/clang/Lex/PreprocessorLexer.h b/clang/include/clang/Lex/PreprocessorLexer.h index b43197a..356b8c4 100644 --- a/clang/include/clang/Lex/PreprocessorLexer.h +++ b/clang/include/clang/Lex/PreprocessorLexer.h @@ -165,7 +165,7 @@ public: /// getFileEntry - Return the FileEntry corresponding to this FileID. Like /// getFileID(), this only works for lexers with attached preprocessors. - const FileEntry *getFileEntry() const; + OptionalFileEntryRefDegradesToFileEntryPtr getFileEntry() const; /// Iterator that traverses the current stack of preprocessor /// conditional directives (\#if/\#ifdef/\#ifndef). diff --git a/clang/lib/Lex/PreprocessorLexer.cpp b/clang/lib/Lex/PreprocessorLexer.cpp index 5f6f4a1..23c80d3 100644 --- a/clang/lib/Lex/PreprocessorLexer.cpp +++ b/clang/lib/Lex/PreprocessorLexer.cpp @@ -47,6 +47,7 @@ void PreprocessorLexer::LexIncludeFilename(Token &FilenameTok) { /// getFileEntry - Return the FileEntry corresponding to this FileID. Like /// getFileID(), this only works for lexers with attached preprocessors. -const FileEntry *PreprocessorLexer::getFileEntry() const { - return PP->getSourceManager().getFileEntryForID(getFileID()); +OptionalFileEntryRefDegradesToFileEntryPtr +PreprocessorLexer::getFileEntry() const { + return PP->getSourceManager().getFileEntryRefForID(getFileID()); } diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 9d29594..c1492ff 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -9972,7 +9972,7 @@ void Sema::CodeCompleteIncludedFile(llvm::StringRef Dir, bool Angled) { using llvm::make_range; if (!Angled) { // The current directory is on the include path for "quoted" includes. - auto *CurFile = PP.getCurrentFileLexer()->getFileEntry(); + const FileEntry *CurFile = PP.getCurrentFileLexer()->getFileEntry(); if (CurFile && CurFile->getDir()) AddFilesFromIncludeDir(CurFile->getDir()->getName(), false, DirectoryLookup::LT_NormalDir); -- 2.7.4