Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 366390 - Call Completion based on JDT
Summary: Call Completion based on JDT
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Recommenders (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Marcel Bruch CLA
QA Contact:
URL:
Whiteboard: completion, committed
Keywords: plan
Depends on:
Blocks:
 
Reported: 2011-12-12 07:44 EST by Johannes Lerch CLA
Modified: 2019-07-24 14:36 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.