JDT Core R3.2.x
Back to Development Resources.
What’s Happening?
This section describes the JDT/Core implementation of the official plan.
Rollup 3.2.3 - NOT planned- preview available in update area.
- bug fixing : (all planned fixes) (unresolved) (resolved)
- available on the download area.
- final build notes
- bug fixing : (all planned fixes) (unresolved) (resolved)
- available on the download area.
- final build notes
- bug fixing : (all planned fixes) (unresolved) (resolved)
- 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.
- Annotation processing tools
(jsr-269)
- [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.
Incremental Java Compiler- 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
- 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
- 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
- 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
- added support for completion inside javadoc comments
- 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
- 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
(Binary) | posted on 2008/12/16, 1,26 MB (click on picture) |
(Source) | 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.