The juce namespace and KDevelop/Doxygen


#1

The way the JUCE include files are written makes it impossible for KDevelop and Doxygen to correctly “parse” the source files. This prevents KDevelop from doing automatic parameter completion and class/method lookup, and this is also part of the problem with the duplicates in Doxygen. (E.g., it finds both String and juce::String, and doesn’t realize they are the same thing.)

The guys on the kdevelop irc channel were telling me the problem is due to the following:

In file foo.h:

namespace juce
{
#include bar.h
}

Since these tools are parsing the source files as individual text files while traversing the directory, and not like a C++ compiler does by following the #include hierarchy, they fail to notice that the content of bar.h is actually in the namespace juce.

Jules, is this something you would consider changing? I’d volunteer to make the change and provide you with a patch if this is a change you’d accept.


#2

Not interested in working around KDevelop’s lazy coding, but I didn’t realise there were dupes in the doxygen stuff…