PreprocessorLexer (and subclasses):
- Added virtual method 'getSourceLocation()' (no arguments) that gets the location of the next "observable" location (e.g., next character, next token).
PPLexerChange.cpp:
- Implemented FIXME by using PreprocessorLexer::getSourceLocation() to get the location in the file we are returning to after lexing a #included file.  This appears to be slightly faster than having the branch (i.e., 'if(CurLexer)').  It's also not a really hot part of the Preprocessor.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60860 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/PPLexerChange.cpp b/lib/Lex/PPLexerChange.cpp
index bb2536d..cd50f0e 100644
--- a/lib/Lex/PPLexerChange.cpp
+++ b/lib/Lex/PPLexerChange.cpp
@@ -275,16 +275,8 @@
     if (Callbacks && !isEndOfMacro && CurPPLexer) {
       SrcMgr::CharacteristicKind FileType =
         SourceMgr.getFileCharacteristic(CurPPLexer->getFileID());
-
-      if (CurLexer) {
-        Callbacks->FileChanged(CurLexer->getSourceLocation(CurLexer->BufferPtr),
-                               PPCallbacks::ExitFile, FileType);
-      }
-      else {
-        // FIXME: Is this okay to use the location of 'Result'?
-        Callbacks->FileChanged(Result.getLocation(), PPCallbacks::ExitFile,
-                               FileType);  
-      }
+        Callbacks->FileChanged(CurPPLexer->getSourceLocation(),
+                               PPCallbacks::ExitFile, FileType); 
     }
 
     // Client should lex another token.