On 2004-04-14 at 22:47:54 [+0200], Ingo Weinhold wrote: > On 2004-04-14 at 16:51:28 [+0200], Oliver Tappe wrote: > > I hope I have not interfered with your plans to look at it, Ingo. > > Not really. I indeed had only a look yet and was pondering whether it > might be best to dump the existing code and rewrite the function scanning > from the scratch based on the code of a real C++ parser (one will > certainly find some out there). The current implementation does, for > instance, erroneously recognize > > const int kMyConstant = sizeof(int); this is fixed now. > BLocker sGlobalLocker("the global locker"); I agree with you that this will be rather hard to parse properly, so I won't try... > as function declarations, and messes up in case of: > > bool MyClass::operator==(const MyClass& other) {} this is fixed now, too. > To be honest, I consider the > value of prototypes in the function pop-up menu very questionable and > would love to be able to disable them via a prefs setting. You can, just deactivate Preferences->Languages->"Show Function Prototypes" and they're gone. > BTW, maybe it's a good idea to pass the nesting level to > CFunctionScanHandler::AddFunction() instead of indenting the function > name in CLanguageProxy::AddFunction(). This way the CFunctionScanHandler > implementor can decide what to do with it. The `Find Function' Window > might rather present it in an outline list view, for instance, or at > least have the grouping information available to be able to avoid > confusion when a filtered set is shown. Yes, you are right. I have just moved the nesting level into CFunctionScanHandler() and have the implementors handle it. Currently, both implementors still do the same thing (indent with spaces). cheers, Oliver