This is a preprocessor callback focused on the lexed file changing, without conflating effects of line number directives and other pragmas.
A client that only cares about what files the lexer processes, like dependency generation, can use this more straightforward
callback instead of PPCallbacks::FileChanged(). Clients that want the pragma directive effects as well can keep using FileChanged().
A use case where PPCallbacks::LexedFileChanged() is particularly simpler to use than FileChanged() is in a situation
where a client wants to keep track of lexed file changes that include changes from/to the predefines buffer, where it becomes
unnecessary complicated trying to use FileChanged() while filtering out the pragma directives effects callbacks.
For LexedFileChanged() take the opportunity to also provide information about the prior FileID the Lexer moved from, even when
entering a new file.
Why does LexedFileChanged have PrevFID set, but FileChanged does not (it has a default argument of FileID()? I would have expected that when you call both FileChanged and LexedFileChanged for the same event this would match.