Fwd: Re: Guidance needed to contribute to kdev-clang

Milian Wolff mail at milianw.de
Tue Feb 11 14:32:42 UTC 2014


Forwarding to the list, see replies inline, prefixed by "Milian:". Note that I 
did not forward the screenshots to the list.


----------  Forwarded Message  ----------

Subject: Re: Guidance needed to contribute to kdev-clang
Date: Tuesday 11 February 2014, 15:07:30
From: Maciej Cencora <m.cencora at gmail.com>
To: Milian Wolff <mail at milianw.de>

Hi,

thank you for suggestions. Some comments inline.

Regards,
Maciej

2014-02-11 11:43 GMT+01:00 Milian Wolff <mail at milianw.de>:

> On Tuesday 11 February 2014 11:23:33 Olivier J. G. wrote:
> > On Mon, Feb 10, 2014 at 6:30 PM, Maciej Cencora <m.cencora at gmail.com>
> wrote:
> <snip>
> > > 2) same data/function member use is colorized differently in header
> file
> > > and in source file
> >
> > Not sure I can identify this problem... are you talking about old-cpp's
> use
> > of orangish for member variables/declarations?
>
> I also need example code to understand what you mean here. Maybe also a
> screenshot or two?
>

Yes, in oldcpp the member variables usages were colored in orange both in
header in source files,
while for clangcpp the member variables usages inside cpp file are colored
in dark blue, and usages in h file are colored in orange.

See attached screenshots.

-----------------
Milian: For reference: A use of a member in a function outside the header does 
not find the member. Probably all thats missing is the import of the class 
context in the function body context.
-----------------

> > > 3) no navigation widget on class scope specifier for out-of-line member
> > > function definitions
> > > class Foo
> > > {
> > >
> > >     void bar();
> > >
> > > };
> > >
> > > void Foo::bar() {} // "Foo" not navigable, but colorized
> >
> > This is strange. Possibly something going wrong with use creation
> > (tuduchain.cpp:157), but it seems to create a valid use...
>
> Generally, look into the context browser, add/enable debug output and
> figure
> out why it does not trigger a navigation widget to be shown. Maybe
> declaration
> under cursor fails for some reason?
>

And this got even weirder now:
1) Create an empty project
2) repace main.cpp with following code by pasting from clipboard:
class Bar
{
    void foo();
};

Bar createBar()
{
    return Bar{};
}

void Bar::foo()
{
    return Bar::foo();
}
3) the uses inside createBar and Bar::foo are navigable, but Bar in
function signatures is not
4) close the main.cpp file in kdevelop
5) close the kdevelop
6) clean kdevduchain (rm -Rf ~/.cache/kdevduchain/)
7) open the kdevelop and let it automatically parse the project
8) open main.cpp file
9) Bar in  "Bar createBar()" and "void Bar::foo()" is navigable, but the
functions body is not (and is not colorized)
10) press F5
11) function body is colorized and navigable again, but Bar in function
signatures is not anymore

-----------------
Milian: must be debugged, could be anything from unicorns to missing features 
to ...
-----------------
-----------------------------------------
-- 
Milian Wolff
mail at milianw.de
http://milianw.de


More information about the KDevelop-devel mailing list