Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 366390

Summary: Call Completion based on JDT
Product: z_Archived Reporter: Johannes Lerch <lerch>
Component: RecommendersAssignee: Marcel Bruch <marcel.bruch>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 Keywords: plan
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard: completion, committed

Description Johannes Lerch CLA 2011-12-12 07:44:13 EST
For Juno Release we are planning to provide a call completion engine based on JDT. The vision is described here http://www.eclipse.org/recommenders/documentation/completion/ and we currently have a basic implementation in our git repository. For the release we plan to refactor large parts of the code and get it to a final and stable version.
Comment 1 Marcel Bruch CLA 2011-12-26 16:08:18 EST
JDT call-chain completion passed review. It will be part of 0.5.



There are a few known limitations:

* no proper handling of generics in method returns
* templates do not insert existing parameters properly

These are minor limitations that will be tracked separately.
Comment 2 Marcel Bruch CLA 2011-12-26 16:09:56 EST
My apologies. I closed the wrong bug.
Comment 3 Marcel Bruch CLA 2012-01-15 06:01:31 EST
Call completion now completely works on JDT. There are three potential bottlenecks that need to be evaluated later:

* Model loading. It seems that loading the call models is very time consuming. If so, this must be improved for Juno

* Fetching AST: We currently use CU.reconcile to obtain the latest AST. As Dani pointed out, this operation may block the UI. This topic needs further investigation.

* AST Analysis: There is a performance benchmark missing. We may have problems is complex methods. But yet we don't know. We should consider to add some perf experiments

These potential issues will be investigate for M6.