JDT Core R3.2.x
Back to Development Resources.
What’s Happening?
This section describes the JDT/Core implementation of the official plan.
![](http://dev.eclipse.org/images/Adarrow.gif)
- preview available in update area.
- bug fixing : (all planned fixes) (unresolved) (resolved)
![](http://dev.eclipse.org/images/Adarrow.gif)
- available on the download area.
- final build notes
- bug fixing : (all planned fixes) (unresolved) (resolved)
![](http://dev.eclipse.org/images/Adarrow.gif)
- available on the download area.
- final build notes
- bug fixing : (all planned fixes) (unresolved) (resolved)
![](http://dev.eclipse.org/images/Adarrow.gif)
- available on the download area.
- final build notes
- Java SE 6 (jsr-270)
Annotation processing tools (jsr-269)
Work got initiated in org.eclipse.jdt.apt.core (and ui) project, requiring changes in JDT/Core which got released in "APT" branch. The content of this branch exposes new pluggable API for participating in compilation and completion (needed for APT processor) in a fashion which is not APT specific. This branch is intended to be merged into "HEAD" when it matures enough.Javadoc (jsr-260)
Mostly affecting Java Model rendering (see Java Model item below)Classfile (jsr-202)
Except for StackMapTable attribute support (109980), all other items already got released into Eclipse 3.1.0.- Compiler API (jsr-199)
Require 1.6 JRE libraries. Implementation of compiler API (81471) will thus likely be made available as a separate download.
- [optional] Switching codebase to Java 5.0
- If Eclipse 3.2 development switches, then will convert JDT/Core implementation (batch compiler remains 1.3 based)
- Not enough reliable 1.5 runtimes available at the moment on each platform, will be reevaluated at end of 3.2 M4.
- Incremental Java Compiler
- Improved static analysis
Enable pluggable participation in compilation (36939) (e.g. APT)
Allow valid classfile generation in presence of optional compiler errors (configured by some preference) (107282)
Provide API to compute the list of files to be cleaned by the Java builder (for a UI to warn user) (110048)
- Improve access restriction support:
restrictions should be inherited (76266)
- check more scenarii based on annotations/doclet (@CannotImplement, ...)
- hints on libraries
- export rules
- [optional] Provide API to retrieve class files generated for a given compilation unit or reference information (based on last build state) (6584)
- DOM AST
More robust DOM AST: statement level recovery (42253)
Cleanup bindings: generic vs. parameterized (80472)
- Make generic method invocation bindings unique
- Surface more compiler functionalities on DOM bindings: precomputed override indicator (AccOverriding/AccImplementing) (90660)
- Allow creating composite types on demand (array, parameterized, wildcard, capture, ...) (40096)
- [optional] Investigate having binding comparisons work across AST contexts (80715)
- Search
Enable Camel pattern matching (performance item for open type dialog) (110060)
Offer enclosing local variable when matching its type (110336)
- [optional] Allow regex in Java search (requires JDK 1.4) (36897) (1 week)
- [optional] Provide API for spell checking any symbol (i.e. is this symbol an identifier anywhere) (37528)
More powerful search (code pattern based, e.g. search where synchronized on 'JavaModelManager') (110157)
- Java Model
- LRU cache for working copy buffers (scalability of refactoring) (110158)
Surface javadoc @category (23669)
Working copy for classfiles (enablement for split refactoring) (110160)
Provide minimal support for working copy outside the workspace (open external file) (61013)
- Provide support for reacting to option changes (delta? build?) (46780)
Address long standing issue with secondary types (not found by model name environment during reconcile) (36032)
Broadcast DOM AST requested during reconcile (110168)
Provide API to encode/decode a classpath entry into String/XML form (110171)
Provide API to access javadoc from either source (
110172) or attached HTML (
110173)
Size of the internal Java model cache is now function of the VM max heap size (-Xmx) (106202)
.classpath reading is now forward compatible with upcoming versions (for unknown attributes) (101425)
- [optional] Investigate allowing classpath containers to refer to further container/variable entries (110176)
- [optional] Consider removing the need for exclusion patterns when nesting source folders (110179) (1 week)
Relax the rule that Java source file extension is "java" (71460)
- [optional] Provide more Ant functionalities, e.g. way to retrieve project classpath, etc... (5950) (3 weeks)
- Code Assist
Enrich completion context: e.g. DOM AST near completion location (110181)
Enable pluggable participation in completion (e.g. APT) (106000)
Provide completion in javadoc (no longer done in UI layer) (related bugs)
Enable constructor completions in allocations: "new A<ctrl-space>" (83392)
Support for Camel prefix: e.g. "NPE<ctrl-space> --> NullPointerException" (102572)
Provide completion on break/continue label (22072)
- Completion in annotation member pair value
- Code Formatter
Feature List
Work items completed in the 3.2 stream, also see build notes.
![](http://dev.eclipse.org/images/Adarrow.gif)
- added complete API for Compilation participant
- leveraged suppress warning options for silencing some diagnostics
- leveraged compiler inlining finally blocks
- added option to specify whether optional errors should be fatal or not
- leveraged diagnosis for assignment with no effect
- added API to allow to specify extra attributes in problem markers.
- added option to perform full build when managed class files are modified
- added option to signal fall-through switch cases.
- added option for null reference analysis of local variables.
- added partial support for statement recovery in Parser
- added batch compiler
discouraged
andforbidden
options - added support to compute the stack map frames
- added optional problem to signal method parameter assignments
- modified some javadoc options default value to reduce number of initial warnings
- added optional problem to signal unused label
- added optional problems for raw type references
- added API to extend problem definitions with notion of problem category and marker type
- leveraged optional problem for unnecessary cast
![](http://dev.eclipse.org/images/Adarrow.gif)
- leveraged @Deprecated annotation visibility in model
- leveraged accomodation of very big JAR files (i.e. containing lots of packages)
- removed unnecessary API for overriding method
- added support for depending projects with specific builder
- added API to know whether a variable is a parameter or not
- added API to transform a binding key into a resolved signature
- added marker category attribute onto Java problem markers
- added API for editing compilation units outside the workspace
- added full EFS support
- added support for optional classpath entries
- added API to enable statements recovery for reconcile operation
- added API to indicate that a rule should be ignored if a better rule is found
- added API to find secondary types while searching for type on a project
- added API to change the output location as well as the classpath without touching resources.
- added JavaCore constant to retrieve the Java source content type from the content type manager
- added API to set the classpath without touching the .classpath file.
- added API to return the relative position of the member in the source.
- added API to create a new working copy without an underlying resource.
- modified JavaCore initialization not to use a specific job
- added API for Java-like extensions
- added API to get column and line number in a compilation unit
- added API that returns the invented names arg0...argn for a binary method.
- added API that finds the line separator for the given Java element.
- added API to get first leading and last trailing node comment in a compilation unit
- added support for participating in reconcile
- added API to retrieve the source range of a javadoc comment attached to the corresponding member
- added element delta flag when one or more categories of an element are added/changed/removed
- added API that allows to the creation of an class file reader object using an input stream
- added API that allows to register an resource listener for a given event type that runs before JDT Core
- added APIs to get the values of the @category tag in the Javadoc of a type, field or method
- added API for element delta during reconcile
- added API to encode and decode a classpath entry
- added API to create working copy on a given class file
![](http://dev.eclipse.org/images/Adarrow.gif)
- DOM type bindings for generics got adjusted
- added support of DOM/AST without initializing JDT/Core
- leveraged way to flag nodes as RECOVERED
- added API to get actual value of a property as managed by the rewriter
- added API for DOM ASTNode recovered information
- added API to enable statements recovery for ASTParser
- added API for the Import Rewrite
- added new APIs for checking modifiers
- modified API for attached javadoc
- added new API in order to retrieve the binding corresponding to the component type of the array binding
![](http://dev.eclipse.org/images/Adarrow.gif)
- added Camel Case support in completion
- added API for completion context
- added support for completing on label in break/continue statement
- added option to filter deprecated types and members
- leveraged variable name completion
- added API to get all the valid warning tokens used into
@SuppressWarnings
annotations
![](http://dev.eclipse.org/images/Adarrow.gif)
- added support for completion inside javadoc comments
![](http://dev.eclipse.org/images/Adarrow.gif)
- added support for CamelCase search patterns
- added API to report local element and other elements while searching for type references
- added API to remove index file
- leveraged search for implementors to consider also subclasses
![](http://dev.eclipse.org/images/Adarrow.gif)
- updated Java conventions built-in code formatter profile to reflect the tab size at 8
- added option to indent body declarations compare to its enclosing annotation declaration header
- added option to insert a new line in an empty annotation declaration
- added support to format code in a headless environment
- added API to return the indentation string corresponding to the given indentation level.
- added support for indentations
Bug Resolution
- Rollup 3.2.2, 2007/02/12 : (fixed) (all) (unresolved) (resolved)
- Rollup 3.2.1, 2006/09/29 : (fixed) (all) (unresolved) (resolved)
- Overall R3.2, 2006/06/29 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-7, 2006/06/02 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-6, 2006/05/26 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-5, 2006/05/19 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-4, 2006/05/12: (fixed) (all) (unresolved) (resolved)
- Release Candidate-3, 2006/05/05 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-2, 2006/04/28 : (fixed) (all) (unresolved) (resolved)
- Release Candidate-1, 2006/04/13 : (fixed) (all) (unresolved) (resolved)
- Milestone-6, 2006/03/31 : (fixed) (all) (unresolved) (resolved)
- Milestone-5, 2006/02/17 : (fixed) (all) (unresolved) (resolved)
- Milestone-4, 2005/12/16 : (fixed) (all) (unresolved) (resolved)
- Milestone-3, 2005/11/04 : (fixed) (all) (unresolved) (resolved)
- Milestone-2, 2005/09/23 : (fixed) (all) (unresolved) (resolved)
- Milestone-1, 2005/08/12 : (fixed) (all) (unresolved) (resolved)
Updates
These patches are not yet part of any official release or rollup; but provide an early access to the next delivery for quality assessment. If you find any regression using these patches, please inform the JDT/Core team by entering a bug report
Batch compiler
![]() |
posted on 2008/12/16, 1,26 MB (click on picture) |
![]() |
posted on 2008/12/16, 1,01 MB (click on picture) |
extracted from | build 3.2 |
Post 3.2.2 update
![]() |
posted on 2008/12/16, 6.99 MB (click on picture), sources included |
applies to | Rollup 3.2.2 |
description | Post 3.2.2 update. Note: No official 3.2.3 is planned so far, this is only a courtesy of the JDT/Core team. Plug-in revision ID is "3.2.9".Corresponding sources are versionned using tag v_693_R32x Addresses the following issues (since 3.2.2): 138184 [search] Type Dialog (Could not uniquely map the name to a type) 240214 [compiler] final bit should be cleared from class file access flag for anonymous class 225744 Bottleneck in SetClasspathOperation 219855 [1.5][compiler] StackOverflowError during: "Requesting Java AST from selection" 216569 backport bug 178551 to R3_2 214981 Race condition allowed with SetClasspathOperation 213723 JDT not resolving classpath references to jars in other projects 208263 [ast rewrite] performance problems with lots of changes 193210 [1.5][compiler] Internal compiler error java.lang.NullPointerException 154984 Jars in library not recognized sometimes. 162054 [build] Got a failure on MultiProjectTests.testCycle5 on my speedy test box... 181270 [1.5][compiler] Class literal of array of type parameter should be rejected 184957 [1.5][compiler] Compiler crash 182930 JavaModelCache's size grows when displaying type hierarchy 161175 JarPackageFragmentRoot slow to initialize 172444 build workspace operation launched after each startup 179699 type.newTypeHierarchy doesn't cancel 138309 [index] Optimize index files path storage in DiskIndex and IndexManager 171653 [index] Java Tooling initialization performance issue after startup 183216 [1.5][compiler] Cannot refer to a generic member type using a non static subclass of the enclosing type 151787 [compiler] compiler allows assignment to final field in constructor other than through 'this' 176118 Missing library classes kill Intellisense without Error 177194 [1.5][compiler] preserveAllLocals option has undesirable side-effect when invoking generic method 177372 [1.5][compiler] Missing unboxing conversion when no value required from message send 177115 NullPointerException in BindingKeyResolver.consumeTypeVariable(...) Also see corresponding build notes. |
Getting the sources
- Make sure to target a recent SDK R3.2.x maintenance build.
- Define a CVS connection to server
pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
- Check out the
R3_2_maintenance
branch of the projectorg.eclipse.jdt.core
. - The sources of this project have been compiled against a 1.4 JRE. A 1.4 JRE should thus be installed.