HandleEndOfFile is invoked when the lexer hits the end of the current file. This either returns the EOF token or pops a level off the include stack and
keeps going. If it keeps going, clang parses from one header to another header. This results in incorrect header hierarchy in the time trace.
This patch corrects this, as reported by #56554