I must say, the vmime library is really a goldmine of difficult-to-parse stuff. ;-) Consider the following situation: namespace deer { class parent { public: int aVar; void aFunc() {}; }; } namespace deer { class theChild : public parent { public: int anotherVar; void anotherFunc() {}; }; } Now 'theChild' is used in a function, but outside the namespace with a fully qualified name: void somefunction(void) { deer::theChild test; test. // complete here } Currently, Semantic only returns "anotherVar" and "anotherFunc", because it cannot find the parent class. This is due to the tag of 'theChild' only containing "parent" instead of "deer::parent", because the inheritance was done inside the namespace. I thought the best way to fix this was to write another "dereferencer" function. Please find the patch attached to this mail. I also included the above example in the Semantic test suite. -David