In hierarchy output, the namespaces and class names are printed from the classHierarchy map, which is filled in HMRecorder::recordParents(). The last extracts the qualified class name from the visited CXXRecordDecl which naturally consists of the namespace and the class name.
In allClasses output, namespaces and class names are printed from the isExtensible , which is filled in HMRecorder::recordParents(), however they are then passed to HMConsumer::shouldIgnoreClassName() which seperates the namespace and the classname.
That function extracts classes like TR_X to have namespace: TR and className: X.
Right now, the python file output/getDatabaseSQL.py does the same conventions as in shouldIgnoreClassName() in order to have consistent outputs (an being able to get classIDs from them), however this should be fixed.
In hierarchy output, the namespaces and class names are printed from the
classHierarchy
map, which is filled inHMRecorder::recordParents()
. The last extracts the qualified class name from the visitedCXXRecordDecl
which naturally consists of the namespace and the class name. In allClasses output, namespaces and class names are printed from theisExtensible
, which is filled inHMRecorder::recordParents()
, however they are then passed toHMConsumer::shouldIgnoreClassName()
which seperates the namespace and the classname.That function extracts classes like
TR_X
to have namespace:TR
and className:X
. Right now, the python file output/getDatabaseSQL.py does the same conventions as inshouldIgnoreClassName()
in order to have consistent outputs (an being able to get classIDs from them), however this should be fixed.