TClass: GetDeclFileName / GetImplFileName changes in ROOT 6

Dear ROOTers,

I have up to now used the information from TClass “GetDeclFileName” and “GetImplFileName” to find the “real” location of the source files for our analysis software (custom classes with ClassDef / ClassImp etc.).

In ROOT 5, these two methods return directly the full path to the header and implementation files. I can use that information e.g. to alert a developer about problems with his / her code, or to find out if the source files are newer than the compiled library (to alert the user that he / she should recompile). I can also use that info to find out if the ClassImp() has been forgotten.

In ROOT 6, I have observed that all the full paths have vanished from the “GetDeclFileName” output, while they are still present in “GetImplFileName”. I sadly did not find a way to get the include path to then find out the “real” file location myself by walking through it. If I understood the code correctly, the full path from inside the dictionary is directly handed to cling in the RegisterModule method, but in no way accessible via the TClass-interface anymore? I did also not find it present in the TInterpreter-interface.

Am I just missing something, is there some easy way out? Or is this still subject to change for ROOT 6?
I basically just want a way to find the correct source files (both Impl and Decl) for a TClass-object (of course the user can move them away after compilation, I want this information basically for post-compile checks).

Simple illustration in code, first ROOT 5:

TClass *bar=TClass::GetClass("BTCluster");
(const char *) "/home/olifre/repo/base/include/BTCluster.h"


TClass *bar=TClass::GetClass("BTCluster");
(const char *) "BTCluster.h"

See discussion at