Wether you are hunting down bugs on a nasty prototype device or chasing a memory leak through a stack of browser libraries made in the last millenium - life of a developer takes a toll - so during down times you work out, eat right and try to recharge your batteries.
If you have go classes in a namespace tree these names still exist. They are keys of associative arrays somewhere in the tree. So here's what I did:
start from the root namespace object and store its name in a string
iterate through all the keys, append them to the parents namespace name (probably you want to put a "." or "::" in between.
store that name in the object. Its the fully qualified name of the ns/class
recurse until you hit a class or static (that's the leaf of your tree)
This way every class and namespace knows its fully qualified name. What can you use this for?