For the purpose of determining where custom defines and includes should
be added, the final location of the diagnostic is irrelevant: it's the
path to the compilation unit itself that matters, since that's where the
corresponding configuration is taken from.
If you have a missing include file in an include file, compilationUnit()
gives the path in which a custom include should be added, unlike
finalLocation().