GSoC 2010: Java support on KDevelop

Hamish Rodda rodda at
Mon Mar 22 01:45:25 UTC 2010

On Mon, 22 Mar 2010 09:54:44 am Paulo Rômulo wrote:
> Well, I think that could arise a good proposal from this work. I don't know
> the procedure to put the idea on the wiki, I think that only mentors can do
> it. Who could be the mentor of this idea? Is it interesting for you
> developers?

Hi, the current java support is built on a reliable parser (however only 
handles up to java 1.5) by Jakob Petsovits, and I did much of the definition - 
use chain support, which is incomplete but is certainly a good start; it can 
now load the jdk source files, and resolves declarations from other files ok.

The major deficiency with it at the moment is that there is not much done on 
the expression parser, which is required for good code completion.  I have a 
large patch locally which mostly copies the logic from the c++ support, but it 
is pretty experimental so I haven't committed it yet, and haven't worked on it 
since december.

The other problems that I can forsee include a lack of build system support, 
which might be needed for larger projects that are not in one tree, but that 
won't stop you from progressing the language plugin in the mean time.

There would be more than enough work for a gsoc project to make the duchain 
support reliable and complete the expression parser so that code completion 
works well.  Especially if you plan to create regression testing for it.

Given my history with mentoring projects and the fact I don't have any time to 
spare these days I won't be able to mentor your project but I may be able to 
help with any tricky questions regarding the current code.  I hope we can find 
you another appropriate mentor though.

In terms of the project it is more up to you to have a look what is there, 
understand some of how the duchain system works for kdevelop, and come up with 
a proposal (I'm sure you can find some help on doing that by searching 
online).  There doesn't need to be a suggestion on the wiki for you to propose 
a project, and successful projects will be allocated a mentor by kde, even if 
that person is not from within the kdevelop team.  To create a successful 
proposal for this project you will need to set up a development environment, 
start looking at the documentation and code, and preferably start with some 
small improvements to the java duchain support to get an understanding of how 
it all works.

Have a look at (if you haven't already):


More information about the KDevelop-devel mailing list