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

Bug 36889

Summary: [DCR] Keep AST created in reconcile for active editor
Product: [Eclipse Project] JDT Reporter: Jerome Lanneluc <jerome_lanneluc>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: daniel_megert, martinae, min123
Version: 2.1   
Target Milestone: 3.0 M8   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Jerome Lanneluc CLA 2003-04-25 07:33:48 EDT
Build 2.1

Keep AST created in reconcile for active editor and make it accessible for the 
UI.
Comment 1 Philipe Mulet CLA 2003-04-28 07:12:32 EDT
It is very likely that this AST wouldn't carry bindings in their 
current form, since these are holding on too much memory.
Comment 2 Martin Aeschlimann CLA 2003-05-06 05:04:09 EDT
As binding are essential, they should maybe be more 'on-demand ' in this case:
E.g keep the bindings as weak references and be able to regenerate them on demand.
Comment 3 Dani Megert CLA 2004-02-19 05:30:41 EST
Jerome,

Martin told me you are working on this. The best for us would be to get the AST
along with the reconcile process or get an API to ask for it. Can you outline
your solution and a date upon which we can expect it? Thanks.
Comment 4 Jerome Lanneluc CLA 2004-02-19 05:56:41 EST
It is in HEAD. See ICompilationUnit.reconcile(boolean, boolean, 
WorkingCopyOwner, IProgressMonitor). It will be available in next integration 
build (if we contribute, I don't know yet).
Comment 5 Jerome Lanneluc CLA 2004-02-19 11:42:47 EST
Added new API ICompilationUnit.reconcile(boolean createAST, boolean 
forceProblemDetection, WorkingCopyOwner owner, IProgressMonitor monitor) that 
returns a DOM CompilationUnit if asked to create the AST. See the Java doc for 
more details.

Added tests ASTConverterTest2.test0538a() to test0538e()
Comment 6 Frederic Fusier CLA 2004-03-25 12:40:40 EST
Verified for 3.0 using build I200403250800.