spotless.spotless-ext-greclipse.2.3.0.source-code.R33_buildnotes_jdt-core.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spotless-ext-greclipse Show documentation
Show all versions of spotless-ext-greclipse Show documentation
Groovy Eclipse's formatter bundled for Spotless
The newest version!
JDT/Core Release Notes 3.3
jdt core - build notes 3.3 stream
Java development tools core
Here are the build notes for the Eclipse JDT/Core plug-in project
org.eclipse.jdt.core,
describing bug resolution and substantial changes in the HEAD branch.
For more information on 3.3 planning, please refer to JDT/Core release plan,
the next milestone plan,
the overall official plan,
or the build schedule.
This present document covers all changes since Release 3.2 (also see a summary of API changes).
Maintenance of previous releases of JDT/Core is performed in parallel branches:
R3.2.x,
R3.1.x,
R3.0.x,
R2.1.x,
R2.0.x,
R1.0.x.
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3 - June 21, 2007 - 3.3 RELEASE
Project org.eclipse.jdt.core v_771
(cvs).
What's new in this drop
Problem Reports Fixed
193570
add eclipse.inf to top level directory of jdt.core
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC4 - June 5, 2007 - 3.3 RELEASE CANDIDATE 4
Project org.eclipse.jdt.core v_770
(cvs).
What's new in this drop
Problem Reports Fixed
190748
[1.5][compiler] AbstractMethodError on derived implementation of derived Interface declaration
189933
[compiler][1.5] extraneous ambiguous constructor error on generics
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC4 - June 4, 2007
Project org.eclipse.jdt.core v_769
(cvs).
What's new in this drop
Problem Reports Fixed
190493
[1.6][compiler] Compiling for 1.6 should not require compiler to run on 1.6 itself
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC3 - May 30, 2007 - 3.3 RELEASE CANDIDATE 3
Project org.eclipse.jdt.core v_768
(cvs).
What's new in this drop
Problem Reports Fixed
189547
Possible resource leak in org.eclipse.jdt.internal.compiler.parser.Parser
189852
[perfs] Too many JDT/Core performance tests in fingerprints
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC3 - May 29, 2007
Project org.eclipse.jdt.core v_767
(cvs).
What's new in this drop
Problem Reports Fixed
189456
Formatter is slow on big files
188105
org.eclipse.jdt.apt.pluggable.core imported as source does not compile
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC2 - May 25, 2007 - 3.3 RELEASE CANDIDATE 2
Project org.eclipse.jdt.core v_766
(cvs).
What's new in this drop
- The new API
ToolFactory#createCodeFormatter(Map options, int mode)
allows to specify whether the code
formatter is going to format new code or existing code.
Problem Reports Fixed
188960
[1.5][compiler]Do not detect duplicate constructors in a ParameterizedType
185928
New Formatter Option "Never indent comments on first column" breaks formatting of auto generated bodies
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC2 - May 24, 2007
Project org.eclipse.jdt.core v_765
(cvs).
What's new in this drop
Problem Reports Fixed
172820
Hard-coded class libraries names in org/eclipse/jdt/core/tests/util/Util.java
188741
[1.5][compiler] Incorrect ambiguous method error with inherited raw type
188247
[content assist] Code Completion for static importing fields not working
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC2 - May 23, 2007
Project org.eclipse.jdt.core v_764
(cvs).
What's new in this drop
Problem Reports Fixed
188648
ECJ compiler fails to find boot classes on Harmony
188656
[perfs] 2% regression on some Batch Compiler tests since v_756
188136
[javadoc][assist] Errors in org.eclipse.jdt.ui.JavaTypeCompletionProposalComputer
188127
[test] Some tests fail on Harmony
162054
[build] Got a failure on MultiProjectTests.testCycle5 on my speedy test box...
188103
[1.5][compiler] Inappropriate usage of HashSet
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 16, 2007 - 3.3 RELEASE CANDIDATE 1
Project org.eclipse.jdt.core v_763
(cvs).
What's new in this drop
Problem Reports Fixed
187329
compilation error constants created with static methods
187223
CompletionTestsRequestor2.getReversedResults has incorrect comparator
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 16, 2007
Project org.eclipse.jdt.core v_762
(cvs).
What's new in this drop
Problem Reports Fixed
133141
Must JavaCore.create(IFile) always do full checks?
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 15, 2007
Project org.eclipse.jdt.core v_761
(cvs).
What's new in this drop
Problem Reports Fixed
183338
[perfs] Too many JDT/Core performance tests are yellow
186833
[1.5][compiler] Should detect member supertype cycle when resolved thru static import
186382
[1.5][compiler] Ambiguous method call error reported on a demonstrably unambiguous call
186749
CCE in Scope.findMemberType
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 15, 2007
Project org.eclipse.jdt.core v_760
(cvs).
What's new in this drop
Problem Reports Fixed
177922
FlexibleProjectContainer refresh logic sporadically leaves project with "missing library" error on rename/delete
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 14, 2007
Project org.eclipse.jdt.core v_759
(cvs).
What's new in this drop
Problem Reports Fixed
185576
[javadoc][assist] Type parameters should not be proposed while completing in @link or @see reference
143026
[ast rewrite] Clean up parantheses are not recognizing comment //
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 11, 2007
Project org.eclipse.jdt.core v_758
(cvs).
What's new in this drop
Problem Reports Fixed
168208
Renaming classes from lowercase to uppercase results in an error
186181
1.5 compiler does not understand class files built by -target jsr14
186415
[search] Search for package declarations should not return duplicate elements
185129
NPE in LocalVariableBinding.computeUniqueKey
185119
[search] TypeNameMatch must specify that it could not be overridden by clients
184546
[compiler][null] Spurious redundant null check warning in finally when the class has a static field
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 10, 2007
Project org.eclipse.jdt.core v_757
(cvs).
What's new in this drop
Problem Reports Fixed
185306
Help with fields and methods on binary super types with unresolved references
185950
[performance] opening class file without source attachement is too slow
186189
NPE trying to open the following class using the ASTView
173944
cannot cancel build
185182
Fup of 126712, the two regressions tests in RuntimeTests should be rewritten
185733
Refreshing external jar doesn't update problem marker
143025
[build path] Derived attribute on default output folder of Java project doesn't work
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3RC1 - May 7, 2007
Project org.eclipse.jdt.core v_756
(cvs).
What's new in this drop
Problem Reports Fixed
185787
[1.5][compiler] Missing unnecessary cast diagnosis
154693
project clean & build sometimes copies subversion .svn folders to bin tree
84886
[compiler] compiled code wrong with ambiguous inner classes
185768
[1.6][compiler] Enabling apt by default in batch mode
185567
[compiler] dead bytecodes are generated inside optimized boolean condition
162965
[compiler] dead bytecodes are generated inside conditional expressions
185310
Removing internal jar referenced from another project doesn't update Package Explorer
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - May 2, 2007 - 3.3 MILESTONE 7
Project org.eclipse.jdt.core v_755
(cvs).
What's new in this drop
Problem Reports Fixed
156731
[compiler] Improve compiler fault-tolerance
184957
[1.5][compiler] Compiler crash
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 30, 2007
Project org.eclipse.jdt.core v_754
(cvs).
What's new in this drop
Problem Reports Fixed
184293
Unnecessary inherited method errors reported against subtypes
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 28, 2007
Project org.eclipse.jdt.core v_753
(cvs).
What's new in this drop
Problem Reports Fixed
165783
[ast rewrite] Import declaration static property can not be set correctly
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 27, 2007
Project org.eclipse.jdt.core v_752
(cvs).
What's new in this drop
Problem Reports Fixed
175409
method reference contains generic method binding
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 26, 2007
Project org.eclipse.jdt.core v_751
(cvs).
What's new in this drop
Problem Reports Fixed
180713
Anonymous type rendered as number in hover
182154
Java search gives no results on workspace with multiple projects
144776
JavaProject.resetCaches() needs to reset dependent projects
179011
IType#getMethod(..) should not throw AFE when name contains dot
162104
NPE in PackageExplorerContentProvider.getPackageFragmentRoots()
158985
Code completion engine hints annotations on wrong places
183833
NPE in latest build
183413
PDE can't find the source for plug-ins in the target
184102
[1.6][compiler] Inconsistent stackmap frame generated for static initializer of enums containing overridden methods
146556
Should refactor boolean fields into bits
49314
comments formatted even if "Enable comment formatting" is disabled
20793
[formatter] The code formatter indent left aligned comments
180905
Tweaks to recovered bindings
183216
[1.5][compiler] Cannot refer to a generic member type using a non static subclass of the enclosing type
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 24, 2007
Project org.eclipse.jdt.core v_750
(cvs).
What's new in this drop
Problem Reports Fixed
182930
JavaModelCache's size grows when displaying type hierarchy
183062
[search] OutOfMemoryError during rename refactoring
79068
[formatter] Need option to control line wrapping before/after operators
180789
[1.5][compiler] invalid incompatible return type error
183538
Not getting @Inherited annotation on annotation types from binary
183468
NPE trying to call isDefault() on the MemberValuePairBinding corresponding to array=1
183395
Fup of bug 144858, internal error is thrown for wrong exception type in catch clause
181349
ArrayIndexOutOfBoundsException while editing Java code
182485
Missing translation files in JDT plug-ins
161175
JarPackageFragmentRoot slow to initialize
182204
Deleting a JRE referenced by container does not result in unbound container problem
162370
MethodVerifier#areReturnTypesEqual is a misnomer
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 17, 2007
Project org.eclipse.jdt.core v_749
(cvs).
What's new in this drop
Problem Reports Fixed
118217
Compiler error/warning option 'Parameter is never read' produces a lot of false-positives
181393
DefaultASTVisitor doesn't override all methods
145329
[scaling] Unable to locate source in monster workspace
177174
[assist] Wrong names are proposed as unresolved local variable
181727
[perfs] JDT/Core performances tests last too long on slowest releng test boxes
180109
[compiler] JDT Throws ClassCastException on incremental build
177819
Jar files added to a plugin are ignored
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 10, 2007
Project org.eclipse.jdt.core v_748
(cvs).
What's new in this drop
Problem Reports Fixed
181269
Deleting secondary type is not detected
179684
"Reconcile editor change" perf test is getting slower
180683
codeSelect does not work in unicode names like \u0042
181270
[1.5][compiler] Class literal of array of type parameter should be rejected
178551
[index] Deadlock when doing Type Hierarchy while updating a large workspace
180524
NPE in ITypeBinding#createArrayType(..) on anonymous type
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - April 3, 2007
Project org.eclipse.jdt.core v_747
(cvs).
What's new in this drop
Problem Reports Fixed
178213
Compilation Unit not shown in Package Explorer after a rename
180471
[compiler] Unoptimal code generation for for-loops when no continuation point
176320
Non linear progress in open type dialog
176472
[compiler][null] extraneous error in case of a labeled while(true) statement
166963
[compiler] resolve binding for local variable in ConstructorInvocation
179630
Compiler parsing tests fail with IBM J2SE 1.4.2, 5.0, and 6.0 (early access)
151787
[compiler] compiler allows assignment to final field in constructor other than through 'this'
178499
[perfs] JDT/Core model performances tests must be improved
180169
Add protection against missbehaving container (returning null entries)
180046
patch to antadapter eclipse.inf
166449
Don't abort build when CompilationParticipants fix classpath
179529
Stop Eclipse takes a lot of time in case of big workspace
179000
[code assist] run() should not be a valid proposal inside the scrapbook page
169728
[1.5][compiler] WildcardBinding.boundCheck coding error
179056
[compiler] Compiler gives misleading Range for invisible field
179699
type.newTypeHierarchy doesn't cancel
179672
[assist] Only one assertion method should be called by completion parser test
174445
[1.5][compiler] missing unchecked conversion warning upon parametrized method
179258
simple reconcile starts problem finder - main thread waiting
179477
[compiler] problem in first element of array initializer suppresses further problems
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M7 - March 27, 2007
Project org.eclipse.jdt.core v_746
(cvs).
What's new in this drop
Problem Reports Fixed
179199
[search] Open type throws NPE during Items filtering
178895
[compiler][null] A for-each loop changes its value on each iterator but the null pointer analysis is not taking that into consideration
177863
[compiler][null] Spurious null pointer warning in finally block (involving def. unknown)
179065
[DOM] Test coverage for IMemberValuePairBinding methods must be improved
179042
[DOM] Implementation of IBinding.getModifiers() should return Modifier.NONE when no modifiers are available
178861
Executing run() in a scrapbook page leads to a NPE
178039
Separate advanced verbose for container and variable initialization from regular verbose
178847
[search] Potential matches found when searching references to IJavaElement#getResource()
174920
[model] closing a single project causes all variables and containers to be saved
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 21, 2007 - 3.3 MILESTONE 6
Project org.eclipse.jdt.core v_745
(cvs).
What's new in this drop
org.eclipse.jdt.core.JavaCore#setCompilanceOptions(String, Map)
has been renamed to org.eclipse.jdt.core.JavaCore.setComplianceOptions(String, Map)
.
org.eclipse.jdt.core.dom.RecoveredTypeBinding
, org.eclipse.jdt.core.dom.RecoveredVariableBinding
are not part of the API. They have been
changed to package default visibility.
org.eclipse.jdt.core.search.MethodReferenceMatch#isPolymorphic()
has been removed.
Problem Reports Fixed
178616
[API] Fix typo for JavaCore#setComplianceOptions(String, Map)
178607
[API][dom] RecoveredTypeBinding and RecoveredVariableBinding should not be public
178594
[search] Deprecated MethodReferenceMatch.isPolymorphic() should be removed
176118
Missing library classes kill Intellisense without Error
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 20, 2007
Project org.eclipse.jdt.core v_744
(cvs).
What's new in this drop
- This drop only fixes tests failures reported in I20070319-1800.
Problem Reports Fixed
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 19, 2007
Project org.eclipse.jdt.core v_743
(cvs).
What's new in this drop
- New constant API have been added in
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants
in order to fix bug 20793.
The implementation will be provided after 3.3M6.
/**
* FORMATTER / Option to indent block comments that start on the first column
* - option id: "org.eclipse.jdt.core.formatter.formatter.never_indent_block_comments_on_first_column"
* - possible values: { TRUE, FALSE }
* - default: TRUE
* @see #TRUE
* @see #FALSE
* @since 3.3
*/
public static final String FORMATTER_NEVER_INDENT_BLOCK_COMMENTS_ON_FIRST_COLUMN = JavaCore.PLUGIN_ID + ".formatter.never_indent_block_comments_on_first_column"; //$NON-NLS-1$
/**
* FORMATTER / Option to indent line comments that start on the first column
* - option id: "org.eclipse.jdt.core.formatter.formatter.never_indent_line_comments_on_first_column"
* - possible values: { TRUE, FALSE }
* - default: TRUE
* @see #TRUE
* @see #FALSE
* @since 3.3
*/
public static final String FORMATTER_NEVER_INDENT_LINE_COMMENTS_ON_FIRST_COLUMN = JavaCore.PLUGIN_ID + ".formatter.never_indent_line_comments_on_first_column"; //$NON-NLS-1$
- New constant API have been added in
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants
in order to fix bug 79068.
The implementation will be provided after 3.3M6.
/**
* FORMATTER / Option to wrap before the binary operator
* - option id: "org.eclipse.jdt.core.formatter.wrap_before_binary_operator"
* - possible values: { TRUE, FALSE }
* - default: FALSE
* This option is used only if the option {@link #FORMATTER_ALIGNMENT_FOR_BINARY_EXPRESSION} is set.
* @see #TRUE
* @see #FALSE
* @since 3.3
*/
public static final String FORMATTER_WRAP_BEFORE_BINARY_OPERATOR = JavaCore.PLUGIN_ID + ".formatter.wrap_before_binary_operator"; //$NON-NLS-1$
Problem Reports Fixed
154984
Jars in library not recognized sometimes.
102473
code assist: parameter names not harvested from debug info in class files
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 18, 2007
Project org.eclipse.jdt.core v_742
(cvs).
What's new in this drop
- As some clients need to know if some classpath container children attributes are supported or
can be modifiable, the following API methods have been added in
org.eclipse.jdt.core.ClasspathContainerInitializer
class:
#getAccessRulesStatus(IPath, IJavaProject)
#getAttributeStatus(IPath, IJavaProject, String)
#getSourceAttachmentStatus(IPath, IJavaProject)
For each of these methods, the returned status can have one of the following severities:
IStatus#OK
: means that the attribute is supported and is modifiable
IStatus#ERROR
: means that either the attribute is not supported or is not modifiable.
In this case, the IStatus#getCode()
will have respectively the #ATTRIBUTE_NOT_SUPPORTED
value
or the #ATTRIBUTE_READ_ONLY
value.
Note that if the subclass does not override this method, then the default behavior is
to return IStatus#OK
if and only if the classpath container can
be updated (see #canUpdateClasspathContainer(IPath, IJavaProject)
).
- API addition to fix bug 130001. It is being able for a user
to query what options were enabled when the DOM/AST tree has been created. The following API methods have been added:
org.eclipse.jdt.core.dom.AST#hasResolvedBindings()
org.eclipse.jdt.core.dom.AST#hasStatementsRecovery()
org.eclipse.jdt.core.dom.AST#hasBindingsRecovery()
- API addition to fix bug 149567. It is about
the incomplete binding handling. The following API methods or fields have been added:
org.eclipse.jdt.core.dom.ASTParser#setBindingsRecovery(boolean)
org.eclipse.jdt.core.dom.IBinding#isRecovered()
org.eclipse.jdt.core.ICompilationUnit#reconcile(int, int, WorkingCopyOwner, IProgressMonitor)
org.eclipse.jdt.core.ICompilationUnit#FORCE_PROBLEM_DETECTION
org.eclipse.jdt.core.ICompilationUnit#ENABLE_STATEMENTS_RECOVERY
org.eclipse.jdt.core.ICompilationUnit#ENABLE_BINDINGS_RECOVERY
- The working copy owner (
WorkingCopyOwner
) now specifies the problem requestor
(IProblemrequestor
) used to report problems on working copies it owns
(see bug 175243).
To implement this new responsibility, a new API method has been added on WorkingCopyOwner
class:
/**
* Returns the problem requestor used by a working copy of this working copy owner.
*
* By default, no problem requestor is configured. Clients can override this
* method to provide a requestor.
*
* @param workingCopy The problem requestor used for the given working copy.
* If null
, then return the problem requestor used for all working
* copies of the working copy owner.
* @return the problem requestor to be used by working copies of this working
* copy owner or null
if no problem requestor is configured.
*
* @since 3.3
*/
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) {
return null;
}
As a consequence of this addition, IProblemRequestor
parameter
of *WorkingCopy
methods becomes unnecessary and corresponding
methods have been deprecated:
ICompilationUnit#becomeWorkingCopy(IProblemRequestor, IProgressMonitor)
ICompilationUnit#getWorkingCopy(WorkingCopyOwner, IProblemRequestor, IProgressMonitor)
IClassFile#becomeWorkingCopy(IProblemRequestor, WorkingCopyOwner, IProgressMonitor)
WorkingCopyOwner#newWorkingCopy(String, IClasspathEntry[], IProblemRequestor, IProgressMonitor)
And are obviously replaced by following methods:
ICompilationUnit#becomeWorkingCopy(IProgressMonitor)
ICompilationUnit#getWorkingCopy(WorkingCopyOwner, IProgressMonitor)
IClassFile#becomeWorkingCopy(WorkingCopyOwner, IProgressMonitor)
WorkingCopyOwner#newWorkingCopy(String, IClasspathEntry[], IProgressMonitor)
- Added API org.eclipse.jdt.core.JavaCore#getGeneratedResources(IRegion, boolean) to be able to get the generated resources for all
elements of a IRegion. See bug 6584 for details.
Problem Reports Fixed
177623
[1.6][compiler] Stackmap frames generation should be protected against invalid code
177621
XML log might be corrupted if an exception occurs while extracting problem context
176725
[recovery] member value array initializer aren;t correctly recovered
168077
[classpath] Let classpath containers define what is configurable
177478
[formatter] Indent new lines option adds extra empty lines
130001
[api][AST] org.eclipse.jdt.core.dom.AST: should have API hasResolvedBindings, hasStatementRecovery
149567
AST DCR: Allow incomplete variable bindings
177009
[javadoc] Missing Javadoc tag not reported
177319
Annotation Processing (APT) affects eclipse speed
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
176825
FullSourceWorkspaceCompletionTests doesn't run correctly
177386
Wording in Javadoc of TypeNameMatch and -Requestor
177115
NullPointerException in BindingKeyResolver.consumeTypeVariable(...)
175243
[model] Let working copy owner control the problem requestor used
163733
IncrementalImageBuilder.deleteGeneratedFiles() is broken
177079
Add jdt.apt.pluggable.core as x-friend to jdt.core
6584
Need a way to get class files for a java file (or CU)
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 13, 2007
Project org.eclipse.jdt.core v_741
(cvs).
What's new in this drop
- The non-Java resources in jar files returned by
IPackageFragmentRoot#getNonJavaResources()
and
IPackageFragment#getNonJavaResources()
are now of type IJarEntryResource
(a subinterface
of IStorage
). This interface allows to navigate the tree of non-Java resources using the
getChildren()
and getParent()
methods.
Problem Reports Fixed
176269
[index] NullPointerException filtering for exception breakpoint
176027
[javadoc] {@link} to member type handled incorrectly
153044
JarEntryFile does not return fully qualified path
170595
[batch][compiler] BatchCompilerTest#test024 is no more significant
176971
[assist] types are computed if TYPE_REF are filterred and JAVADOC_TYPE_REF aren't filtered
175987
[1.5][compiler] Missing error when implementing a method with a mix of parameterized and raw generics
148944
need to render resource folders in JARs
176190
[assist] Inferred variable names are not good when the declared type is a base type
176057
IAE in ASTConverter for invalid source range
174436
API request: MethodInvocation/SuperMethodInvocation#isResolvedTypeInferredFromExpectedType()
176364
[assist] missing return and continue proposals within switch statements
161704
[model] Improve progress for Java initialization task job
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - March 6, 2007
Project org.eclipse.jdt.core v_740
(cvs).
What's new in this drop
- Refined the problem IDs and messages associated to null-related issues
detection, for which typical examples would now be:
NullLocalVariableReference
- Null pointer access: The variable o can only be null at this location
PotentialNullLocalVariableReference
- Potential null pointer access: The variable o may be null at this location
RedundantNullCheckOnNullLocalVariable
- Redundant null check: The variable o can only be null at this location
NullLocalVariableComparisonYieldsFalse
- Null comparison always yields false: The variable x can only be null at this location
RedundantLocalVariableNullAssignment
- Redundant assignment: The variable x can only be null at this location
NullLocalVariableInstanceofYieldsFalse
- instanceof always yields false: The variable o can only be null at this location
RedundantNullCheckOnNonNullLocalVariable
- Redundant null check: The variable o2 cannot be null at this location
NonNullLocalVariableComparisonYieldsFalse
- Null comparison always yields false: The variable i cannot be null at this location
Note that problem IDs LocalVariableCannotBeNull
,
LocalVariableCanOnlyBeNull
, and
LocalVariableMayBeNull
have been deprecated.
See bugs 175570
and 175571
for details.
- The API method
IClassFile#getType()
does not longer throw JavaModelException
(see bug 154667).
- Code Assist: unresolved simple names are proposed when completing a simple name reference
package test;
public class E1 {
void m() {
variable = 10;
System.out.println(v); // do completion after 'v'
}
}
When v is completed, variable is proposed as a possible local variable which are not yet declared.
Unresolved simple names are searched before and after the completion location.
Problem Reports Fixed
174588
[compiler] Code in abstract class calls wrong overloaded method. Correct method is defined in the implemented interface.
176321
Test failures in MethodParameterGuessingCompletionTest
176361
[search] TypeNameMatchRequestorWrapper creates invalid handle for member type
176358
[search] Failure in JavaSearchBugsTest while running random tests order
147461
[compiler][batch][options] tighten the use of : and ; within access restriction specifications
162865
Content assist for undeclared locals when using local
154667
IClassFile#getType() should not throw JavaModelException
175571
[compiler][null] Better compiler message for 'Redundant null check'
175570
[compiler][null] Improve compiler message for 'Null reference'
175849
Project is touched on restart
175832
[recovery] $missing$ should not be shown inside a message
175834
[assist] already defined name is proposed as variable name
175531
Livelock in OverflowingLRUCache.privateRemoveEntry
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - 27th February 2007
Project org.eclipse.jdt.core v_739
(cvs).
What's new in this drop
- Refined the options that control null-related issues detection. The existing
nullReference
option has been repurposed and split into three
options:
COMPILER / Reporting Null Dereference
When enabled, the compiler will issue an error or a warning whenever a
variable that is statically known to hold a null value is used to
access a field or method.
- option id: "org.eclipse.jdt.core.compiler.problem.nullReference"
- possible values: { "error", "warning", "ignore" }
- default: "ignore"
COMPILER / Reporting Potential Null Dereference
When enabled, the compiler will issue an error or a warning whenever a
variable that has formerly been tested against null but is not (no more)
statically known to hold a non-null value is used to access a field or
method.
- option id: "org.eclipse.jdt.core.compiler.problem.potentialNullReference"
- possible values: { "error", "warning", "ignore" }
- default: "ignore"
COMPILER / Reporting Redundant Null Check
When enabled, the compiler will issue an error or a warning whenever a
variable that is statically known to hold a null or a non-null value
is tested against null.
- option id: "org.eclipse.jdt.core.compiler.problem.redundantNullCheck"
- possible values: { "error", "warning", "ignore" }
- default: "ignore"
See bug 170704
for details.
Problem Reports Fixed
170704
[compiler][null][enh] separate "null dereference" and "null reference" compiler options
172666
Importing pde.ui and dependencies as binary gives compile error
174971
[index] Many exceptions from background indexer
172913
[compiler][1.5] an extra checkcast bytecode instruction generated
174879
[1.5][compiler] Optimisation for empty if blocks results in not evaluating the test expression
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - 21st February 2007
Project org.eclipse.jdt.core v_738
(cvs).
What's new in this drop
Problem Reports Fixed
171802
[javadoc][select] F3 does not work on method which have deprecated type as argument
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - 20th February 2007
Project org.eclipse.jdt.core v_737
(cvs).
What's new in this drop
- API added on
org.eclipse.jdt.core.IClassFile
:
/**
* Returns the bytes contained in this class file.
*
* @return the bytes contained in this class file
*
* @exception JavaModelException if this element does not exist or if an
* exception occurs while accessing its corresponding resource
* @since 3.3
*/
byte[] getBytes() throws JavaModelException;
See bug 150244 for details.
Problem Reports Fixed
171653
[index] Java Tooling initialization performance issue after startup
174348
[classpath] Classpath validation messages are non-standard
172345
[model][delta] path error markers are not regenerated on project rebuild
97199
[formatting] Code formatting activation in comments (using <PRE>) is case sensitive
150244
[API] Add getBytes() on IClassFile
174434
[1.5][compiler] Parameterized constructor leads to Internal Errror
152850
[formatter] Formatter marks unchanged file dirty
104371
[JDOM] JDOM should not crash on 1.5 code
168910
Should default compliance be 6.0 in JSR199 batch compilation?
167317
ecjsrc.zip should contain a build system
173992
Duplicate local variable for exception in different catch blocks
174298
Wrong NAME_PROPERTY child type for AnnotationTypeDeclaration and EnumDeclaration
174002
[assist] Exceptions which are already covered by the another exception are proposed
174001
[assist] Unexpected types are proposed inside catch block
149154
BinaryMethod#getParameterNames() should not try to extract from attached javadoc for synthetics
174131
[assist] Result of test CompletionTests#testCompletionInsideExtends10 is wrong
34373
Class file view doesn't show actual modifiers for member types
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M6 - 13th February 2007
Project org.eclipse.jdt.core v_736
(cvs).
What's new in this drop
Problem Reports Fixed
158039
[ast rewrite] ArrayIndexOutOfBoundsException when rewriting
173907
[code assist] severe NPE on exception completions
173800
[compiler] suboptimal line number attributes for cascading field accesses
173849
ITypeBinding#getJavaElement() fails for array of inner type
173853
[recovery] Recovery add an unnecessary default contructor
173013
[assist] NPE while completing in catch formal parameter
142234
problem range includes parenthesis for warning on expression
107001
ITypeBinding#getBinaryName() returns java.lang.Object for type variable
156307
JavaElement.getURLContents() hack breaks "Open External Javadoc"
111529
npe trying to get ITypeBinding for parameterized type
144742
Setting the bootclasspath for some VMs fails the evaluation tests
172743
[jsr269] APT needs to convert IFile into internal ICompilationUnit
138897
Error ranges for unreachable code
172848
[formatter] code formatter produces syntax error (unary operator+ followed by prefix increment operator++)
173376
[jsr269] Multiple annotations on class, only first is resolved
173416
[compiler][batch][options] ecj doesn't support classpath entry starting with [
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 8th February 2007 - 3.3 MILESTONE 5
Project org.eclipse.jdt.core v_735
(cvs).
What's new in this drop
Problem Reports Fixed
172633
NPEs while starting my workspace
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 3rd February 2007
Project org.eclipse.jdt.core v_734
(cvs).
What's new in this drop
- New extension point has been added to register an annotation processor manager inside the Java Builder.
See bug 172369 for details.
- In order to fix bug 49412, the following constants have been deprecated:
- org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES
- org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT
They have been replaced by these constants respectively:
- org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES_IN_JAVADOC_COMMENT
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES_IN_BLOCK_COMMENT
- org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_LINE_COMMENT
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_BLOCK_COMMENT
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_JAVADOC_COMMENT
Problem Reports Fixed
172648
[model] Some inconsistencies while adding listeners to DeltaProcessingState
49412
[formatting] Offer comment formatting options per comment type
161996
[compiler][batch][options] ecj can't cope with [] brackets in classpath names
172444
build workspace operation launched after each startup
172028
[clean up] Sort members clean up leaks working copies
172369
Adding an extension point to register an annotation processor inside the java builder
172189
[1.5][compiler] NPE in CompilationUnitProblemFinder.process with explicit wildcard invocation
172207
[model] Marker for deprecated classpath variable should always have WARNING severity
172328
Javadoc for SearchEngine.searchAllTypeNames(..) has wrong @param ordering
171684
Replace references to IMarker.GENERATED_BY with IMarker.SOURCE_ID
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 30th January 2007
Project org.eclipse.jdt.core v_733
(cvs).
What's new in this drop
- New API added in
org.eclipse.jdt.core.compiler.CharOperation
:
/**
* Compares the two char arrays lexicographically.
*
* Returns a negative integer if array1 lexicographically precedes the array2,
* a positive integer if this array1 lexicographically follows the array2, or
* zero if both arrays are equal.
*
* @param array1 the first array
* @param array2 the second array
* @return the returned value of the comparison between array1 and array2
* @throws NullPointerException if one of the arrays is null
* @since 3.3
*/
public static final int compareTo(char[] array1, char[] array2)
- New API added in
org.eclipse.jdt.core.util.CompilationUnitSorter
:
/**
* Reorders the declarations in the given compilation unit according to the
* specified comparator. The caller is responsible for arranging in advance
* that the given compilation unit is a working copy, and for applying the
* returned TextEdit afterwards.
*
* Note: Reordering the members within a type declaration might be
* more than a cosmetic change and could have potentially serious
* repercussions. Firstly, the order in which the fields of a type are
* initialized is significant in the Java language; reordering fields and
* initializers may result in compilation errors or change the execution
* behavior of the code. Secondly, reordering a class's members may affect
* how its instances are serialized. This operation should therefore be used
* with caution and due concern for potential negative side effects.
*
*
* The compare
method of the given comparator is passed pairs
* of body declarations (subclasses of BodyDeclaration
)
* representing body declarations at the same level. The nodes are from an
* AST of the specified level ({@link org.eclipse.jdt.core.dom.ASTParser#newParser(int)}.
* Clients will generally use AST.JLS3 since that will cover all
* constructs found in Java 1.0, 1.1, 1.2, 1.3, 1.4, and 1.5 source code.
* The comparator is called on body declarations of nested classes,
* including anonymous and local classes, but always at the same level.
* Clients need to provide a comparator implementation (there is no standard
* comparator). The RELATIVE_ORDER
property attached to these
* AST nodes affords the comparator a way to preserve the original relative
* order.
*
*
* The body declarations passed as parameters to the comparator always carry
* at least the following minimal signature information:
*
*
* TypeDeclaration
* modifiers, isInterface, name, superclass,
* superInterfaces, typeParameters
* RELATIVE_ORDER property
*
* FieldDeclaration
* modifiers, type, fragments
* (VariableDeclarationFragments
* with name only)
* RELATIVE_ORDER property
*
* MethodDeclaration
* modifiers, isConstructor, returnType, name,
* typeParameters, parameters
* (SingleVariableDeclarations with name, type, and modifiers only),
* thrownExceptions
* RELATIVE_ORDER property
*
* Initializer
* modifiers
* RELATIVE_ORDER property
*
* AnnotationTypeDeclaration
* modifiers, name
* RELATIVE_ORDER property
*
* AnnotationTypeMemberDeclaration
* modifiers, name, type, default
* RELATIVE_ORDER property
*
* EnumDeclaration
* modifiers, name, superInterfaces
* RELATIVE_ORDER property
*
* EnumConstantDeclaration
* modifiers, name, arguments
* RELATIVE_ORDER property
*
* Clients should not rely on the AST nodes being properly parented
* or on having source range information. (Future releases may provide
* options for requesting additional information like source positions, full
* ASTs, non-recursive sorting, etc.)
*
* @param unit
* the CompilationUnit to sort
* @param comparator
* the comparator capable of ordering
* BodyDeclaration
s; this comparator is passed
* AST nodes from an AST of the specified AST level
* @param options
* bitwise-or of option flags; 0
for default
* behavior (reserved for future growth)
* @param group
* the text edit group to use when generating text edits, or null
* @param monitor
* the progress monitor to notify, or null
if none
* @return a TextEdit describing the required edits to do the sort, or null
* if sorting is not required
* @exception JavaModelException
* if the compilation unit could not be sorted. Reasons
* include:
* - The given compilation unit does not exist
* (ELEMENT_DOES_NOT_EXIST)
* - The given compilation unit is not a working copy
* (INVALID_ELEMENT_TYPES)
* - A CoreException
occurred while
* accessing the underlying resource
* - The given compilation unit doesn't come from an ICompilationUnit and this ICompilationUnit is
* not a working copy (NO_ELEMENTS_TO_PROCESS)
* @exception IllegalArgumentException
* if the given compilation unit is null or if the given
* comparator is null, or if options
is not one
* of the supported levels.
* @see org.eclipse.jdt.core.dom.BodyDeclaration
* @see #RELATIVE_ORDER
* @since 3.3
*/
public static TextEdit sort(CompilationUnit unit,
Comparator comparator,
int options,
TextEditGroup group,
IProgressMonitor monitor) throws JavaModelException;
Problem Reports Fixed
166354
[1.5][compiler] extraneous error caused by a non visible method of an inherited
class taking precedence over a visible method of an enclosing class
167190
[search] TypeNameMatchRequestorWrapper causing ClassCastException
141830
[1.3][compiler] Severe runtime errors with anonymous classes
171634
[formatter] doesn't add line feed at end of file
171472
[1.6][compiler] Illegal stack map frames
163590
[1.5][compiler] Incompatible type bounds message points to the generic type instead of its type parameter
171771
[assist] JAVADOC_TYPE_REF aren't correctly filtered
171184
[compiler] Java compiler does not generate InnerClass attribute as per JVMS
173279
[indexing] Category table is not cached for rt.jar since 1.5 version
138309
[index] Optimize index files path storage in DiskIndex and IndexManager
166570
[assist] Proposal computer from the 'org.eclipse.mylar.java' plug-in did not complete normally
162073
[compiler] extraneous interface compatibility error
171066
Provide TextEdit when sorting compilation unit
170318
[1.5][compiler] improve message on nameclash when overriding method with "wildcard" parameter
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 23rd January 2007
Project org.eclipse.jdt.core v_732
(cvs).
What's new in this drop
- Code Assist: Exception thrown in a try block are more relevant if the completion occurs in a catch clause.
Already caught exceptions are filtered.
public class X {
void foo() throws XAException, XBException {}
void bar() {
try {
foo();
} catch(XAException e) {
} catch(X| //do ctrl + space at |
}
In this example XBException will more relevant than XCException and XAException won't be proposed.
- Classpath variable may now be flagged as deprecated or read-only (see bug 138599
and bug 156226).
Two new attributes have been added on ClasspathVariableInitializer
schema:
<element name="classpathVariableInitializer">
<complexType>
...
<attribute name="deprecated" type="string">
<annotation>
<documentation>
String explaining the reason why the associated variable is deprecated
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="readOnly" type="boolean">
<annotation>
<documentation>
Indicates that the associated variable cannot be modified
</documentation>
</annotation>
</attribute>
</complexType>
</element>
When deprecated attribute is set on ClasspathVariableInitializer extension point, classpath entry validation
returns a warning status if no other error was previously detected.
For example, following classpathVariableInitializer
extension point set
the TEST
classpath variable as deprecated and read-only:
<extension
point="org.eclipse.jdt.core.classpathVariableInitializer">
<classpathVariableInitializer
class="org.eclipse.jdt.tests.model.TestInitializer"
deprecated="The reason why this variable is deprecated"
readOnly="true"
variable="TEST">
</classpathVariableInitializer>
</extension>
Calling JavaConventions.validateClasspathEntry(IJavaProject, IClasspathEntry, boolean)
method on this variable entry will return a IStatus.WARNING
status with following message:
.
Classpath variable deprecation message and read-only information are accessible using two new added
JavaCore
API methods:
/**
* Returns deprecation message of a given classpath variable.
*
* @param variableName
* @return A string if the classpath variable is deprecated, null
otherwise.
* @since 3.3
*/
public static String getClasspathVariableDeprecationMessage(String variableName)
/**
* Returns whether a given classpath variable is read-only or not.
*
* @param variableName
* @return true
if the classpath variable is read-only,
* false
otherwise.
* @since 3.3
*/
public static boolean isClasspathVariableReadOnly(String variableName)
Problem Reports Fixed
169017
[1.6][compiler] VerifyError: Inconsistent stackmap frames
156226
[model][classpath] Allow classpath variable to be marked as non modifiable
138599
[model][classpath] Need a way to mark a classpath variable as deprecated
157584
[content assist] There is no content assist for catching exceptions
171016
[javadoc][assist] No completion for tag when uppercase is used
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 16th January 2007
Project org.eclipse.jdt.core v_731
(cvs).
What's new in this drop
- The compiler can now detect unused local types (as opposed to only private types up until now).
- The compiler is now better able to detect unused private constructors, it now tolerates more than the
private constructor with no parameter as the known pattern for blocking instantiation. Basically, unless a
non private constructor is defined as well, it will ignore unused private constructors from now on (also see bug 163443).
- Code Assist can propose import statements:
public class CompletionProposal {
...
/**
* Completion is an import of reference to a static field.
* <p>
* The following additional context information is available
* for this kind of completion proposal at little extra cost:
* <ul>
* <li>{@link #getDeclarationSignature()} -
* the type signature of the type that declares the field that is imported
* </li>
* <li>{@link #getFlags()} -
* the modifiers flags (including ACC_ENUM) of the field that is imported
* </li>
* <li>{@link #getName()} -
* the simple name of the field that is imported
* </li>
* <li>{@link #getSignature()} -
* the type signature of the field's type (as opposed to the
* signature of the type in which the referenced field
* is declared)
* </li>
* <li>{@link #getAdditionalFlags()} -
* the completion flags (including ComletionFlags.StaticImport)
* of the proposed import
* </li>
* </ul>
* </p>
*
* @see #getKind()
*
* @since 3.3
*/
public static final int FIELD_IMPORT;
/**
* Completion is an import of reference to a static method.
* <p>
* The following additional context information is available
* for this kind of completion proposal at little extra cost:
* <ul>
* <li>{@link #getDeclarationSignature()} -
* the type signature of the type that declares the method that is imported
* </li>
* <li>{@link #getFlags()} -
* the modifiers flags of the method that is imported
* </li>
* <li>{@link #getName()} -
* the simple name of the method that is imported
* </li>
* <li>{@link #getSignature()} -
* the method signature of the method that is imported
* </li>
* <li>{@link #getAdditionalFlags()} -
* the completion flags (including ComletionFlags.StaticImport)
* of the proposed import
* </li>
* </ul>
* </p>
*
* @see #getKind()
*
* @since 3.3
*/
public static final int METHOD_IMPORT;
/**
* Completion is an import of reference to a type.
* Only reference to reference types are allowed.
* <p>
* The following additional context information is available
* for this kind of completion proposal at little extra cost:
* <ul>
* <li>{@link #getDeclarationSignature()} -
* the dot-based package name of the package that contains
* the type that is imported
* </li>
* <li>{@link #getSignature()} -
* the type signature of the type that is imported
* </li>
* <li>{@link #getFlags()} -
* the modifiers flags (including Flags.AccInterface, AccEnum,
* and AccAnnotation) of the type that is imported
* </li>
* <li>{@link #getAdditionalFlags()} -
* the completion flags (including ComletionFlags.StaticImport)
* of the proposed import
* </li>
* </ul>
* </p>
*
* @see #getKind()
*
* @since 3.3
*/
public static final int TYPE_IMPORT;
...
}
- Code Assist propose completions computed from a list a favorite references.
public class CompletionRequestor {
...
/**
* Returns the favorite references which are used to compute some completion proposals.
* <p>
* A favorite reference is a qualified reference as it can be seen in an import statement.<br>
* e.g. <code>{"java.util.Arrays"}</code><br>
* It can be an on demand reference.<br>
* e.g. <code>{"java.util.Arrays.*"}</code>
* It can be a reference to a static method or field (as in a static import)<br>
* e.g. <code>{"java.util.Arrays.equals"}</code>
* </p>
* <p>
* Currently only on demand type references (<code>"java.util.Arrays.*"</code>),
* references to a static method or a static field are used to compute completion proposals.
* Other kind of reference could be used in the future.
* </p>
* @return favorite imports
*
* @since 3.3
*/
public String[] getFavoriteReferences() {...}
/**
* Set the favorite references which will be used to compute some completion proposals.
* A favorite reference is a qualified reference as it can be seen in an import statement.<br>
*
* @param favoriteImports
*
* @see #getFavoriteReferences()
*
* @since 3.3
*/
public void setFavoriteReferences(String[] favoriteImports) {...}
...
}
With the following example if the favorite reference is "java.util.Arrays.*" then a proposal
will be the method "sort()" with a required proposal of a static import "import static java.util.Arrays.sort;".
If the completion level is lesser than 1.5 the proposal will be "Arrays.sort()" with a required proposal of an import
"import java.util.Arrays;".
The option JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS
can be disabled to avoid to propose static import
even if compliance is 1.5 or greater.
Problem Reports Fixed
168331
[1.5][compiler] AbstractMethodError on interface method
170181
[compiler] Could diagnose unused local types
144044
[search] NPE when trying to find references to field variable
152123
[1.5][assist] Code assist for references that require static imports
170247
[model] Document reasons to use or not use CompilationParticipant
140340
[5.0][templates] foreach template does not work when an Iterable over a static inner class exists
163443
[clean up] private constructor with parameter flagged as unnecessary
152961
[compiler] Private inner interface is "never used locally"
157035
"Open Type Hierarchy" fails if subtype is anonymous or local class and location for this subtype contains ".class"
167488
[compiler] Fup of bug 165291, the two warnings (assignment has no effect) should not be reported
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 9th January 2007
Project org.eclipse.jdt.core v_730
(cvs).
What's new in this drop
- The grammar file java_1_5.g is renamed java.g.
Problem Reports Fixed
162478
NPE in MethodBinding#signature
169744
[AST] character position range wrong for super method call with type arguments
162991
[1.5][compiler] Name clash reported for (correct) eclipse-generated code
157336
build output contains unnecessary empty directories
157019
[build] incremental build involving a resource filter fails to produce expected subdirectory of the output folder
99738
[formatting] each format shifts code inside <pre> one space to the right
169596
anewarray not propertly supported in 1.6
169545
java_1_4.g should be removed
168665
[1.6][compiler] AIOOBE during stack map frame generation
160550
Infinite build when projects have cycle and build path errors
114349
[compiler] Problems building cyclical projects
161541
[compiler][1.5] eclipse fails to compile when two methods are joined to one
166977
[vista] Unexpected errors while running JDT/Core tests
168671
[model] Model tests should not run read-only tests when file system does not support it
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 19th December 2006
Project org.eclipse.jdt.core v_729
(cvs).
What's new in this drop
Problem Reports Fixed
168610
Chkpii error in build I20061218-0800
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M5 - 19th December 2006
Project org.eclipse.jdt.core v_728
(cvs).
What's new in this drop
Problem Reports Fixed
167743
[search] Open Type Dialog cannot find types from projects migrated from 3.2.1 workspace
168088
SourceTypeConverter NPE in log
160773
[jsr269] Need interfaces between jdt compiler and jsr269 impl
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 9th December 2006 - 3.3 MILESTONE 4
Project org.eclipse.jdt.core v_727
(cvs).
What's new in this drop
- IMarker-s generated by JDT and compiler participants may now have their
IMarker#GENERATED_BY attribute set according to the following rules:
- IMarker-s generated by JDT get JavaBuilder#GENERATED_BY, currently
valued to JDT, as their GENERATED_BY attribute; that value is
non API and may change in future releases;
- IMarker-s originating from compiler participants' categorized
problems which do not have the IMarker#GENERATED_BY extra attribute
set do not have their GENERATED_BY attribute set;
- IMarker-s originating from compiler participants' categorized
problems which have the IMarker#GENERATED_BY set to a given value
get their GENERATED_BY attribute set to the said value.
See also bug 158611.
Problem Reports Fixed
167217
[1.5][compiler] ClassCastException during annotation code generation
165900
[select] Incoherent behavior when there is ambiguous methods
166570
[assist] Proposal computer from the 'org.eclipse.mylar.java' plug-in did not complete normally
158611
Set 'generatedBy' attribute of IMarker anywhere markers are generated in JDT/Core code
166348
[search] Stack trace console resolves wrong source
164792
CodeAssist should treat #clone() special in 1.5 mode
154111
Compiler API (JSR 199)
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 5th December 2006
Project org.eclipse.jdt.core v_726
(cvs).
What's new in this drop
Problem Reports Fixed
166641
[compiler] uninitialized variable not reported in if (false) block
140191
NPE in ClassFileReader.getSourceName logs full CU source
166436
[javadoc] Potentially wrong javadoc warning for unexpected duplicate tag @value
166365
[javadoc] severity level of malformed javadoc comments did not work properly
166077
[compiler] extraneous tests in Scope#findExactMethod
165976
ECJ Ant adapter doesn't allow setting empty bootclasspath
142205
[batch][options] -deprecation option is not on by default, whereas the help message says so
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 28th November 2006
Project org.eclipse.jdt.core v_725
(cvs).
What's new in this drop
- Added
org.eclipse.jdt.core.JavaCore#VERSION_1_7
. It can be used to set the compliance, the source or the
target platform values. This has no impact right now beside setting the major version inside .class file to
org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants#MAJOR_VERSION_1_7
.
- Added new API
org.eclipse.jdt.core.JavaCore#setComplianceOptions(String, Map)
to set the compiler's
options relative to a given compiler's compliance.
- Tuned compiler semantics for unchecked cast detection. As a consequence, more warnings should be issued
(also see bugs 106451 and
165143).
- Raw type warnings are now also diagnosed for cast types.
- Improved compiler diagnosis for type hiding to now report: member type hiding type parameters,
nested types hiding other accessible types in scope (direct enclosing are already reported as errors).
- Compiler is now more resilient with duplicate local type declarations; thus allowing further
operation to still be carried out accurately (codeselect, completion, search, DOM AST ops)
(cf. bug 165662).
- New Java Model element interface has been added as common supertype for
ICompilationUnit
and IClassFile
(see bug 125504).
/**
* Represents an entire Java type root (either an ICompilationUnit
* or an IClassFile
).
*
* This interface is not intended to be implemented by clients.
*
* @see ICompilationUnit
* @see IClassFile
* @since 3.3
*/
public interface ITypeRoot extends IJavaElement, IParent, IOpenable, ISourceReference, ICodeAssist {
...
}
Problem Reports Fixed
165917
Error range for IProblem.IncompatibleReturnType should be predictable
165620
Regression in 3.3M3 with generics - ambiguous method.
163370
[1.5][compiler] Incorrect ambiguous method error
165794
[javadoc] Should not report ambiguous on method with parameterized types as parameters
165701
[model] NPE while computing method unique key
142219
[batch][options] inconsistent help message: -X<option> vs -Xemacs
160520
[compiler] Should better locate overriding return type conflict onto return type reference
125504
[API] common supertype for ICompilationUnit and IClassFile
165525
[comments] ASTParser excludes trailing line comments from extended range of fields in enums
165654
[ast rewrite] add final to parameter does not work with annotations
161980
Make some member class static
161975
Should factorized all empty strings constants
163680
[1.5] [compiler] JDT Internal Exception under import circularity
165645
[1.5][compiler] Member type should take precedence over enclosing type parameters
165662
[compiler] Be more resilient with duplicate local types
161617
[ast rewrite] replacing InstanceofExpression.LEFT_OPERAND_PROPERTY should ensure whitespace
165291
[1.5] Missing diagnosis for illegal forward field ref in generics
165453
[1.5][compiler] Improve unchecked cast message in compiler's warning
165145
[1.5][compiler] Missing raw type warning
106451
[1.5][compiler] Error and unchecked warnings missing for cast to parameterized type
165143
[1.5][compiler] Missing unchecked cast warning
165346
[compiler][null] org.eclipse.jdt.internal.compiler.ast.OperatorExpression.nullStatus(FlowInfo) too conservative
149118
[batch] shorten the error message in case a .java directory is used as a parameter
156339
Abort compilation surfaces through the UI
164657
[compiler] Wrong line is showed during debug
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 21st November 2006
Project org.eclipse.jdt.core v_724
(cvs).
What's new in this drop
- Added
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_BLANK_LINES_BETWEEN_IMPORT_GROUPS
. See bug 165210 for details.
- Added
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_INSERT_SPACE_BEFORE_PARENTHESIZED_EXPRESSION_IN_THROW
. See bug 164946 for details.
- javadoc checker now correctly allow usage of {@value} tags only on field declaration when source level is less than 1.5
(see bug 153399).
Problem Reports Fixed
164707
ArrayIndexOutOfBoundsException in JavaModelManager if source level == 6.0
165210
Fup of bug 74997, add new formatter option for number of blank lines between import groups
165069
[1.5][compiler] incorrect field hiding
165081
[1.5][compiler] Fup of bug 165069, unused imports are not reported
154993
org.eclipse.jdt.ui.JavaNoTypeCompletionProposalComputer throws a runtime exception when using content assist on 'this.' in annontations
139621
[javadoc][assist] No Javadoc completions if there's no member below
164946
Spaces in control statements
163807
JDT fails to compile legal Java source files
153399
[javadoc] JDT Core should warn if the @value tag is not used correctly
84049
[javadoc][dom] Extended ranges wrong for method name without return type
164791
[search] Type reference reports anonymous type in invalid class file
164450
[comments] DefaultCommentMapper should release scanner after use
163984
[search] no results from SearchEngine.searchAllTypeNames with types in scope
74997
import rewrite: no empty line between groups
164311
Code completion unavailable for static methods
156352
NPE when accessing annotations from ITypeBinding
99928
ContentAssist should propose methods of intersection types
157570
Bug in ASTParser
164656
IScanner.setSource should spec that 'null' is allowed
160637
getKey(...) for BinaryMethod returns a key with '.' in the return type instead of '/'
110771
align all ICompilationUnit#getContents implementations on a 'never null' behavior
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 14th November 2006
Project org.eclipse.jdt.core v_723
(cvs).
What's new in this drop
- javadoc checker did incorrectly allow compatible matches for method references; where only exact matches are mandated
(see bug 163659).
Problem Reports Fixed
140980
[recovery] ClassCastException from JDT compiler
162918
[compiler] Illegal usage of a local inside a switch statement is not rejected
164121
[search] Misses declarations of method parameters
164081
XML log could contain package information
160301
[search] too many matches found for method references
163659
[javadoc] Compiler should warn when method parameters are not identical
164092
[model] Possible NullPointerException in org.eclipse.jdt.internal.core.Buffer.
164091
[model] Possible NullPointerException in JavaProjectElementInfo.
159939
[1.5][compiler] Eclipse allows List<void[]>, javac doesn't
162621
[model][delta] Validation errors do not clear after replacing jar file
163782
Possible resource leaks
162026
[1.5][compiler] Erroneous Report of an Ambiguous Method
163600
[compiler] Internal references to static inner classes fail in presence of assert keyword
149004
static fields from package classes wrong quick-fix'ed
101476
"Serializable class without serialVersionUID" setting and writeReplace
163647
[model] Thrown exceptions are not found in method binding key which have a capture as declaring class
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M4 - 7th November 2006
Project org.eclipse.jdt.core v_722
(cvs).
What's new in this drop
JavaConventions
can now validate names using specific source and compliance levels. New validate*Name
API methods
with the source and the compliance level as given parameters have been added to this class. Clients should now use these new methods instead
of deprecated ones which only verify names using the 1.3 default level.
- Added new API method on
org.eclipse.jdt.core.BindingKey
class to get the exceptions thrown by a method
(see bug 155003):
/**
* Returns the thrown exception signatures of the element represented by this binding key.
* If this binding key does not represent a method or does not throw any exception,
* returns an empty array.
*
* @return the thrown exceptions signatures
* @since 3.3
*/
public String[] getThrownExceptions()
Problem Reports Fixed
162903
SuppressWarnings and NON-NLS'd strings as errors
161400
Scanning of identifiers should be optimized
163349
[assist] code assist doesn't correctly use scanner eofPosition
162968
Content Assist for undeclared local variable should prioritize unbound names
163549
Exclude JDT ant tasks from signing
163072
[search] method reference reports wrong potential matches
155003
[model] Missing exception types / wrong signature?
161621
enum is a Keyword for Java5 and cannot be used as a Enum name
162743
Duplicate variable declaration code assist proposals
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 30th October 2006 - 3.3 MILESTONE 3
Project org.eclipse.jdt.core v_721
(cvs).
What's new in this drop
- Removed fix for bug 141289
Problem Reports Fixed
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 30th October 2006
Project org.eclipse.jdt.core v_720
(cvs).
What's new in this drop
Problem Reports Fixed
148041
[compiler][1.5] should issue unchecked warning on cast to Set<X> of Iterator#next () returning X
159631
[dom] NPE while trying to cleanup specific pair of file
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 29th October 2006
Project org.eclipse.jdt.core v_719
(cvs).
What's new in this drop
Problem Reports Fixed
161846
Expanding a java project with invalid classpath container entries in Project Explorer causes CPU to stay at 100%
159738
[1.5][compiler] Missing class casts in generated byte code for generic method
162296
[compiler] Anonymous and local classes are tagged as final and/or private in the inner class infos
162390
JavaCodeFormatter Annotation Bug
162400
[1.5][compiler] Return type inference does not perform well in array initializer
159893
[compiler] Compilation Error with nested classes
162056
[recovery] Confusing errors in editor
154811
[compiler] Internal compiler error while parsing/formatting
160823
[formatter] Java Conventions [built-in] inserts blank line between field declarations
161412
org.eclipse.jdt.internal.core.NamedMember#getFullyQualifiedParameterizedName probably boggus
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 24th October 2006
Project org.eclipse.jdt.core v_718
(cvs).
What's new in this drop
- New compiler warning to detect overriding of a method without a super invocation has been added.
See bug 156736 for further details.
- Code Assist propose unresolved names as possible local variable name
int f<code assist>
System.out.print(foo);
In this example foo is proposed as a possible completion.
- The compiler now tolerates that methods implementing a method declared
in an implemented interface or an extended abstract class bear an @Override
annotation (1.6 mode only - see also bug
141931).
Problem Reports Fixed
161967
Map.keySet() can be replaced with Map.entrySet() when value is used
161214
[compiler] Fup on bug 159709: improve deprecation marks propagation
161581
Adding a missing folder doesn't remove classpath marker
157996
[compiler] ProblemReferenceBinding missing a closestMatch
160337
Empty block not detected inside anonymous class
161555
org.eclipse.jdt.core.tests.model.ReconcilerTests#testDeleteTwoMethods is failing on IBM 1.5 VM
161557
[assist] JavaTypeCompletionProposalComputer throws a runtime exception when using content assist on generics type argument with instance member arrays
150228
Code assist for unresolved local variables
161204
code assist with unresolved types does not work when using 5.0 rt.jar
161554
org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest#test1050 fails on IBM JDK 1.5 VM
141931
[1.5][compiler] @Override: upcoming changes of the reference implementation
161476
org.eclipse.jdt.core.tests.compiler.regression.BatchCompilerTest.test024 passes unexpectedly with IBM Java2 5.0
161459
9 tests in org.eclipse.jdt.core.tests.compiler.regression fail on IBM Java2 5.0
156736
[compiler] Add compiler option to warn overriding methods that do not call super
159711
[1.5][compiler] wrongly reports ambiguous method error
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 17th October 2006
Project org.eclipse.jdt.core v_717
(cvs).
What's new in this drop
TypeNameMatch
API has been polished while implementing new searchAllTypeNames(char[][] char[][],...)
API method (see next point).
This class has been abstracted and clients now need to use added SearchEngine
following method
to create an instance of it:
/**
* Create a type name match on a given type with specific modifiers.
*
* @param type The java model handle of the type
* @param modifiers Modifiers of the type
* @return A non-null match on the given type.
*/
public static TypeNameMatch createTypeNameMatch(IType type, int modifiers)
Early performance tests using added searchAllTypeNames
method with TypeNameMatchRequestor
requestor (i.e. a la Open Type dialog) show interesting memory footprint reduction (around 30%). More precise measures of this
performance improvement will be done later...
- Added new
SearchEngine
API method for search all type names with multiple qualifications and type names
(see bug 160324).
Only requestor differs from already existing corresponding searchAllTypeNames
method:
/**
* Searches for all top-level types and member types in the given scope matching any of the given qualifications
* and type names in a case sensitive way.
*
* Provided {@link TypeNameMatchRequestor} requestor will collect {@link TypeNameMatch}
* matches found during the search.
...
* @param nameMatchRequestor the {@link TypeNameMatchRequestor requestor} that collects
* {@link TypeNameMatch matches} of the search.
...
* @since 3.3
*/
public void searchAllTypeNames(
final char[][] qualifications,
final char[][] typeNames,
IJavaSearchScope scope,
final TypeNameMatchRequestor nameMatchRequestor,
int waitingPolicy,
IProgressMonitor progressMonitor) throws JavaModelException
Similarily to previous added searchAllTypeNames
new API method, clients have to provide
a new requestor: TypeNameMatchRequestor
in order to get matches collected during the search.
- Code Assist can return completion proprosals that required some other completion proposals:
To apply a completion proposal the required completion proposals must be applied otherwise the resulting code won't be correct.
To manage completion proposalswith required proposals the following API have been added:
public class CompletionProposal {
...
/**
* Returns the required completion proposals.
* The proposal can be apply only if these required completion proposals are also applied.
* If the required proposal aren't applied the completion could create complations problems.
*
* <p>
* This field is available for the following kinds of
* completion proposals:
* <ul>
* <li><code>FIELD_REF</code> - The allowed required proposals for this kind are:
* <ul>
* <li><code>TYPE_REF</code></li>
* </ul>
* </li>
* <li><code>METHOD_REF</code> - The allowed required proposals for this kind are:
* <ul>
* <li><code>TYPE_REF</code></li>
* </ul>
* </li>
* </ul>
* </p>
* <p>
* Other kinds of required proposals will be returned in the future, therefore clients of this
* API must allow with {@link CompletionRequestor#setAllowsRequiredProposals(int, int, boolean)}
* only kinds which are in this list to avoid unexpected results in the future.
* </p>
* <p>
* A required completion proposal cannot have required completion proposals.
* </p>
*
* @return the required completion proposals, or <code>null</code> if none.
*
* @see CompletionRequestor#setAllowsRequiredProposals(int, int,boolean)
*
* @since 3.3
*/
public CompletionProposal[] getRequiredProposals() {...}
...
}
public class CompletionRequestor {
...
/**
* Returns whether a proposal of a given kind with a required proposal
* of the given kind is allowed.
*
* @param proposalKind one of the kind constants declared
* @param requiredProposalKind)one of the kind constants declared
* on <code>CompletionProposal</code>
* @return <code>true</code> if a proposal of a given kind with a required proposal
* of the given kind is allowed by this requestor, and <code>false</code>
* if it isn't of interest.
* <p>
* By default, all kinds of required proposals aren't allowed.
* </p>
* @see #setAllowsRequiredProposals(int, int, boolean)
* @see CompletionProposal#getKind()
* @see CompletionProposal#getRequiredProposals()
*
* @since 3.3
*/
public boolean isAllowingRequiredProposals(int proposalKind, int requiredProposalKind) {...}
/**
* Sets whether a proposal of a given kind with a required proposal
* of the given kind is allowed.
*
* Currenlty only a subset of kinds support required proposals. To see what combinations
* are supported you must look at {@link CompletionProposal#getRequiredProposals()}
* documentation.
*
* @param proposalKind one of the kind constants declared
* @param requiredProposalKind)one of the kind constants declared
* on <code>CompletionProposal</code>
* @param allow <code>true</code> if a proposal of a given kind with a required proposal
* of the given kind is allowed by this requestor, and <code>false</code>
* if it isn't of interest
* @see #isAllowingRequiredProposals(int, int)
* @see CompletionProposal#getKind()
* @see CompletionProposal#getRequiredProposals()
*
* @since 3.3
*/
public void setAllowsRequiredProposals(int proposalKind, int requiredProposalKind)boolean allow) {...}
...
}
- Code Assist propose completion even if the type of a variable or the return type of the method is missing.
e.g.
package p;
public class X {
void foo() {
Vector v = null;
v.addEl| // complete at | location
}
}
A completion proposal with required proposals will be returned. The main proposal will be the method addElement()
at addEl
location with a required proposal of the type java.util.Vector
at
Vector
location.
The same kind of completion can be computed with the following examples.
package p;
public class X {
Vector v = null;
void foo() {
v.addEl| // complete at | location
}
}
package p;
public class X {
Vector bar() {return null;}
void foo() {
bar().addEl| // complete at | location
}
}
Problem Reports Fixed
161190
[search] All type search doesn't find all types
151756
[compiler] unverifiable bytecode created with cvs head compiler
161028
[search] NPE on organize imports in TypeNameMatch.equals
160854
[search] No type is found using seachAllTypeNames(char[][],char[][],...) methods when no type names is specified
80339
Wrong error message "; expected" when writing an interface
159709
[compiler] missing warnings for deprecated member types
157170
[AST visitor] Unvisited elements
159973
[1.5] [compiler] VerifyError due to compiler generating incorrect synthetic methods
160655
[assist] Bug with code assist and generics
44984
[typing] Automatically optimize class imports
160494
[search] searchAllTypeNames(char[][], char[][],...) fails to find types in default package
160328
[search] Remove constructor TypeNameMatch(IType)
160327
[search] Add specification for TypeNameMatch.getType
160324
[search] SearchEngine.searchAllTypeNames(char[][], char[][], TypeNameMatchRequestor
160323
[search] TypeNameMatch: support hashCode/equals
160352
COMPACT mode doesn't work for exception table in the disassembler
90600
[model] CreateElementInCUOperation.apply: should use project options for rewriter
160352
COMPACT mode doesn't work for exception table in the disassembler
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 10th October 2006
Project org.eclipse.jdt.core v_716
(cvs).
What's new in this drop
- Raw type reference are now reported by default. See bug 159456.
- API of
TypeNameMatch
has been changed to improve memory consumption performance.
It now creates IType handle while accepting the type information from indexes and stores their modifiers
to avoid java element opening while getting this piece of information.
Note that there's no Java Model initialization nor populating while creating handles...
Note also that previously added API method on IJavaProject has been removed:
IType findType(String packageName,
String typeQualifiedName,
IPackageFragmentRoot root,
ICompilationUnit[] units,
IProgressMonitor progressMonitor) throws JavaModelException;
- While fixing bug 157814, new
MethodReferenceMatch.isPolymorphic()
API method has been renamed to:
/**
* Returns whether the reference is on a message sent from a type
* which is a super type of the searched method declaring type.
* If true
, the method called at run-time may or may not be
* the search target, depending on the run-time type of the receiver object.
*
* @return true
if the reference is on a message sent from
* a super-type of the search method declaring class, false
otherwise
*/
public boolean isSuperInvocation()
- Added new API
ClasspathContainerInitializer#getFailureContainer(...)
that returns the classpath container that
should be used if a container initializer fails to initialize a container.
Problem Reports Fixed
95008
[assist] Missing completion for field initialization in boolean case
160015
[1.5][javadoc] Missing warning on autoboxing compatible methods
160132
[1.5][compiler] Compiler fails with indirect reference error message
160005
Add protection about misbehaving container initializer
86482
ISourceRange implementation does not implements value equals
157814
[search] polymorphic matches in supertype hierarchy should be marked as potential
148380
[search] get IType from TypeNameRequestor result
160025
CharOperation fails with AIOOBE when replaced array contains the same chars
159641
patch to refactor Main and add new "GCCMain" driver
134848
[compiler][null] false positive after nested loop with break to explicit label
159654
[compiler] unverifiable bytecode created by current cvs head compiler
158518
Remove dependency of GenericTypeTest#test370 on SUN internal APIs
159607
[1.5][compiler] M2: Unnecessary cast is necessary
158267
Brace positions line after annotation
158258
Double check sorting algorithms
159456
[1.5][compiler] Enable compiler warning for raw type reference by default
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 3rd October 2006
Project org.eclipse.jdt.core v_715
(cvs).
What's new in this drop
- Added new
SearchEngine
API method for search all type names (see bug 148380).
Only requestor differs from already existing searchAllTypeNames
method:
/**
* Searches for all top-level types and member types in the given scope.
* The search can be selecting specific types (given a package name using specific match mode
* and/or a type name using another specific match mode).
*
* Provided {@link TypeNameMatchRequestor} requestor will collect {@link TypeNameMatch}
* matches found during the search.
...
* @param nameMatchRequestor the {@link TypeNameMatchRequestor requestor} that collects
* {@link TypeNameMatch matches} of the search.
...
* @since 3.3
*/
public void searchAllTypeNames(
final char[] packageName,
final int packageMatchRule,
final char[] typeName,
final int typeMatchRule,
int searchFor,
IJavaSearchScope scope,
final TypeNameMatchRequestor nameMatchRequestor,
int waitingPolicy,
IProgressMonitor progressMonitor) throws JavaModelException
Clients have to provide a new requestor: TypeNameMatchRequestor
in order to
get matches collected during the search.
Note that this match (TypeNameMatch
) can resolve type and then provide corresponding java model IType
:
/**
* Returns the java model type corresponding to fully qualified type name
* (based on package, enclosing types and simple name).
*
* @return the java model type
* @throws JavaModelException happens when type stored information are not valid
*/
public IType resolvedType() throws JavaModelException
-
Deprecated existing
SearchEngine
API helper method:
public void searchAllTypeNames(
final char[] packageExactName,
final char[] typeName,
final int matchRule,
int searchFor,
IJavaSearchScope scope,
final TypeNameRequestor nameRequestor,
int waitingPolicy,
IProgressMonitor progressMonitor) throws JavaModelException
This should avoid to have too many similar searchAllTypeNames
available methods...
-
Added new
JavaCore
API method to create a java element from an IFile
using a specific project:
/**
* Returns the Java element corresponding to the given file, its project being the given
* project.
* Returns null
if unable to associate the given file
* with a Java element.
*
* The file must be one of:
* . a file with one of the {@link JavaCore#getJavaLikeExtensions()
* Java-like extensions} - the element returned is the corresponding ICompilationUnit
* . a .class
file - the element returned is the corresponding IClassFile
* . a .jar
file - the element returned is the corresponding IPackageFragmentRoot
*
* Creating a Java element has the side effect of creating and opening all of the
* element's parents if they are not yet open.
*
* @param file the given file
* @return the Java element corresponding to the given file, or
* null
if unable to associate the given file
* with a Java element
* @since 3.3
*/
public static IJavaElement create(IFile file, IJavaProject project)
Existing API method JavaCore.create(IFile)
assumed that project to use was the file one
but it was not always the case, especially for class files belonging to an external class folder...
Note that no other methods was added for IResource
and IFolder
as default project was
always well computed for this kind of resources.
Problem Reports Fixed
158506
[search] SearchEngine.searchAllTypeNames should spec that null is valid for package
159325
Any idea why ClasspathEntry checks for string object reference instead of equals
155824
[javadoc] Content assist doesn't suggest Varargs
150289
[hierarchy] NPE in hierarchy builder when region is empty
159250
[1.5][compiler] Should better locate raw type usage for array qualified type references
159245
[1.5][compiler] Missing raw type usage warning for array type ref
159243
[compiler] Should better locate deprecation issue for qualified type ref
158951
[model] IWorkingCopy should not be referenced in any javadoc comment of JavaModel methods
153133
[model] toggle breakpoint in constructor creates a class load breakpoint
159021
[compiler] Unused locals initialisation is optimized out when it is a single name reference
158548
[1.5][compiler] Compiler should be more resilient with unresolved parameterized type references
154995
[compiler][null] false positive in embedded while/while/break code
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M3 - 26th September 2006
Project org.eclipse.jdt.core v_714
(cvs).
What's new in this drop
Problem Reports Fixed
147667
[1.5][compiler] Illegal compile error: "the method XXX is ambiguous for the type YYY"
158000
[compiler][null] Second diagnostic absorbed within finally blocks
150082
[compiler][null] Null reference warning ignores try blocks
149665
[compiler][null] Unexpected variable might be null warning in finally block
147118
[compiler][null] Incorrect null analysis involving do_while loop
142303
Right-click, "Open Declaration" fails under 3.2RC4
141518
IEvaluationContext.newVariable is not considered when doing codecomplete.
143001
Statement recovery doesn't recover broken try statement
123225
Code assist suggests overridden method
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M2 - 15th September 2006 - 3.3 MILESTONE 2
Project org.eclipse.jdt.core v_713
(cvs).
What's new in this drop
- Added
isPolymorphic()
getter to MethodReferenceMatch
(see bug 73401
and bug 156491).
When a search requestor (SearchRequestor
) accepts this kind of match,
it knows if a method reference match is a polymorphic method (i.e. implemented in a super or sub type) or not.
For example, in example below:
class A { public void foo() {} }
class B extends A {}
class C extends B { public void foo() {} }
class D extends C {}
public class X {
void foo() {
new B().foo();
new C().foo();
new D().foo();
}
}
Searching for all references to C.foo()
method get 3 matches
(instance of MethodReferenceMatch
). Two of them, new B().foo()
and
new D().foo()
are flagged as polymorphic due to the fact that these are methods
respectively of a superclass and of a subclass...
Search view has been modified to filter this kind of matches when user wants to focus only
on exact references of the searched method.
Problem Reports Fixed
157389
[1.4][compiler] assertionStatus is not set properly for nested types
157333
calling delete on enum constant deletes entire Enum
157403
NPE when trying to get the ast for a class with boggus annotations
156491
[search] Reference search unusable in some situations
73401
[search] Unable to search just for references to overridden method
157247
[1.6] [compiler] VerifyError with StackMap frames when no local variable attributes are generated
157086
should adopt ICU Collator and use new APIs on StructuredViewer
149751
Enum-valued annotation element handles non-enum constant badly
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M2 - 12th September 2006
Project org.eclipse.jdt.core v_712
(cvs).
What's new in this drop
- Code Assist: Annotation types are proposed even there is no prefix.
public @interface MyAnnot {
int foo();
}
@|
public class AClass {}
'MyAnnot' is proposed if you do code assist at '|' location.
-
Added new flag on nature of searched element to specify both interfaces and annotations (see bug 156177).
This flag is defined on IJavaSearchConstants interface:
/**
* The searched element is an interface or annotation type.
* More selective than using {@link #TYPE}.
* @since 3.3
*/
int INTERFACE_AND_ANNOTATION= 11;
Problem Reports Fixed
148859
[model][delta] Package Explorer only shows default package after import
156591
[1.5][compiler] constant-specific methods in enum cannot be abstract
156540
[1.5][compiler] Compiler produces invalid bytecode for certain enum declarations
156177
[search] interfaces and annotations could be found with only one requets of searchAllTypeName
156340
[search] searchAllTypeNames return nothing for empty prefix
151189
[search] Declaration search does not find all matches
153874
[1.5][compiler] Compiler fails to consider bridge method with -source 1.4
129983
[1.5][assist] Need partial word for annotation autocompletion
156194
[codeassist] PROPOSE_MEMBER_TYPES can be removed
155115
UnresolvedReferenceBindings surfacing through DOM AST
153128
[compiler] Duplicate methods generated (from invalid source, but still :-)
156119
No warning for unnecessary semicolon in interface
155255
[1.5][compiler] ternary conditional operator returns wrong type
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M2 - 5th September 2006
Project org.eclipse.jdt.core v_711
(cvs).
What's new in this drop
- Added to the batch compiler the ability to redefine the destination path
on a source folder basis. Directories cited as sources, directly or as
arguments to the
-classpath
and other classpath related
options, can bear a [-d dir]
specification that directs the
generated class files to dir
for source files fetched from the
said directories.
For example, given the source files src/X.java
and
Y.java
, X depending from Y, the command ecj src[-d bin1]
-d bin2
will produce the files bin1/X.class
and
bin2/Y.class
, while the command ecj src[-d bin] -d
none
will only produce the file bin/X.class
.
- Code Assist: Annotation arguments names are proposed even there is no prefix.
public @interface MyAnnot {
int foo();
}
@MyAnnot(|
public class AClass {}
'foo' is proposed if you do code assist at '|' location.
Problem Reports Fixed
148521
[5.0][content assist] Content assist show all members of a full annotation
156108
[1.5][compiler] Autoboxing doesnt workt in switch-statement
140123
Missing callback in CodeSnippetToCuMapper#getCompletionRequestor()
153130
[assist] IOB during content assist in scrapbook
154170
Printing warnings breaks in-editor quick fixes
146554
[batch][compiler][options] Allow the batch compiler to output compiled files
into multiple output folders
155887
Breakpoint in 'finally' not hit - test suite failing
155795
Patch to fix jface.text.Assert deprecation
154880
DeltaProcessor does not set project references if first build is a project build
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M2 - 29th August 2006
Project org.eclipse.jdt.core v_710
(cvs).
What's new in this drop
Problem Reports Fixed
155423
[compiler] Unoptimal code generation when an initializer contains a statement that returns
151153
[1.6][compiler] Invalid Stackmap attribute generated for ternary operator
145397
[1.6][compiler] Invalid StackMap attribute
148224
AST API request: have binding for int, need int[], int[][] ....
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M2 - 15th August 2006
Project org.eclipse.jdt.core v_709
(cvs).
What's new in this drop
Problem Reports Fixed
151756
[compiler] unverifiable bytecode created with cvs head compiler
153303
IBinding.getAnnotations() returns array with null element
148661
[formatter] leverage CombinedBinaryExpression in BinaryExpressionFragmentBuilder#visit(BinaryExpression, BlockScope)
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 6th August 2006 - 3.3 MILESTONE 1
Project org.eclipse.jdt.core v_708
(cvs).
What's new in this drop
- New fix for bug 95152 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
Problem Reports Fixed
95152
[search] F3 can't find synthetic constructor
152725
[1.6][formatter] Code formatter does not format 1.5 code when source level is 1.6
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 3rd August 2006
Project org.eclipse.jdt.core v_707
(cvs).
What's new in this drop
-
SearchPattern API method
createPattern(IJavaElement, int, int)
behavior has been modified for generic searches.
It now returns erasure matches instead of exact ones (see bug 124489 for detailed discussion on this topic).
Problem Reports Fixed
116459
[1.5][search] Generic type reference should return exact match on parameterized type with its own variables
124489
[1.5][search] "Find unused dependencies" misses references to generic types
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 1st August 2006
Project org.eclipse.jdt.core v_706
(cvs).
What's new in this drop
Problem Reports Fixed
133024
[ast rewrite] ASTRewrite does not honor forced line splits
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 25th July 2006
Project org.eclipse.jdt.core v_705
(cvs).
What's new in this drop
Problem Reports Fixed
151118
verifier errors occur when running osgi tests
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 18th July 2006
Project org.eclipse.jdt.core v_704
(cvs).
What's new in this drop
- Wildcard captures are now indicating some ID to better address ambiguities in error messages
e.g. now telling: capture#2-of ? extends Number
is not compatible with capture#1-of ? extends Number
as opposed to: capture-of ? extends Number
is not compatible with capture-of ? extends Number
(also see bug 149573).
Problem Reports Fixed
129317
Outline view inconsistent with code
102875
code assist should propose types even if there's no initial character(s)
129584
Java model gives different results
150758
[1.5][compiler] NullPointerException in internal compiler
150074
[compiler] init part of for each loop with empty body is not executed
149028
Limiting number of characters to read with the file size is invalid.
149893
[1.5] Compilation error: The method is ambiguous for the type
149376
Internal compiler error on "import static"
149573
[1.5][compiler] Improve readable name of wildcard captures
128073
Content Assist should give static fields and methods declared in target type higher relevance
149043
Unresolvable classpath container leads to lots of scheduled jobs
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 4th July 2006
Project org.eclipse.jdt.core v_703
(cvs).
What's new in this drop
Problem Reports Fixed
149013
[javadoc] In latest 3.3 build, there is a javadoc error in org.eclipse.core.resources
119857
[javadoc] Some inner class references should be flagged as unresolved
103304
[Javadoc] Wrong reference proposal for inner classes.
148797
Syntax error in java class results in AST=null-error on "organize imports"
148742
[5.0][content assist] Annotation content assist not working in all cases for parameters
117302
Clean build of large project gives unresolved type errors
147875
[1.5][compiler] NPE when initializing annotations of a binary field
146012
No F_CONTENT flag on delta when reverting to old annotations
148970
Exceptions opening external Java file
148949
JarEntryFile now returning 'null'
120865
ICompilationUnit.findPrimaryType(..) should not throw internal AFE
148370
[formatter] new Class<?>[] {} kills formatter
148010
Code select doesn't find binary parameterized method
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 27th June 2006
Project org.eclipse.jdt.core v_702
(cvs).
What's new in this drop
- Add new Search API method to support patterns for package/enclosing type name while searching all types names
(see bug 92264).
/**
* Searches for all top-level types and member types in the given scope.
* The search can be selecting specific types (given a package name using specific match mode
* and/or a type name using another specific match mode).
*
* @param packageName the full name of the package of the searched types, or a prefix for this
* package, or a wild-carded string for this package.
* @param typeName the dot-separated qualified name of the searched type (the qualification include
* the enclosing types if the searched type is a member type), or a prefix
* for this type, or a wild-carded string for this type.
* @param packageMatchRule one of
* . {@link SearchPattern#R_EXACT_MATCH} if the package name and type name are the full names
* of the searched types.
* . {@link SearchPattern#R_PREFIX_MATCH} if the package name and type name are prefixes of the names
* of the searched types.
* . {@link SearchPattern#R_PATTERN_MATCH} if the package name and type name contain wild-cards.
* . {@link SearchPattern#R_CAMELCASE_MATCH} if type name are camel case of the names of the searched types.
* combined with {@link SearchPattern#R_CASE_SENSITIVE},
* e.g. {@link SearchPattern#R_EXACT_MATCH} | {@link SearchPattern#R_CASE_SENSITIVE} if an exact and case sensitive match is requested,
* or {@link SearchPattern#R_PREFIX_MATCH} if a prefix non case sensitive match is requested.
* @param typeMatchRule one of
* . {@link SearchPattern#R_EXACT_MATCH} if the package name and type name are the full names
* of the searched types.
* . {@link SearchPattern#R_PREFIX_MATCH} if the package name and type name are prefixes of the names
* of the searched types.
* . {@link SearchPattern#R_PATTERN_MATCH} if the package name and type name contain wild-cards.
* . {@link SearchPattern#R_CAMELCASE_MATCH} if type name are camel case of the names of the searched types.
* combined with {@link SearchPattern#R_CASE_SENSITIVE},
* e.g. {@link SearchPattern#R_EXACT_MATCH} | {@link SearchPattern#R_CASE_SENSITIVE} if an exact and case sensitive match is requested,
* or {@link SearchPattern#R_PREFIX_MATCH} if a prefix non case sensitive match is requested.
* @param searchFor determines the nature of the searched elements
* . {@link IJavaSearchConstants#CLASS}: only look for classes
* . {@link IJavaSearchConstants#INTERFACE}: only look for interfaces
* . {@link IJavaSearchConstants#ENUM}: only look for enumeration
* . {@link IJavaSearchConstants#ANNOTATION_TYPE}: only look for annotation type
* . {@link IJavaSearchConstants#CLASS_AND_ENUM}: only look for classes and enumerations
* . {@link IJavaSearchConstants#CLASS_AND_INTERFACE}: only look for classes and interfaces
* . {@link IJavaSearchConstants#TYPE}: look for all types (i.e. classes, interfaces, enum and annotation types)
* @param scope the scope to search in
* @param nameRequestor the requestor that collects the results of the search
* @param waitingPolicy one of
* . {@link IJavaSearchConstants#FORCE_IMMEDIATE_SEARCH} if the search should start immediately
* . {@link IJavaSearchConstants#CANCEL_IF_NOT_READY_TO_SEARCH} if the search should be cancelled if the
* underlying indexer has not finished indexing the workspace
* . {@link IJavaSearchConstants#WAIT_UNTIL_READY_TO_SEARCH} if the search should wait for the
* underlying indexer to finish indexing the workspace
* @param progressMonitor the progress monitor to report progress to, or null if no progress
* monitor is provided
* @exception JavaModelException if the search failed. Reasons include:
* . the classpath is incorrectly set
* @since 3.3
*/
public void searchAllTypeNames(
final char[] packageName,
final int packageMatchRule,
final char[] typeName,
final int typeMatchRule,
int searchFor,
IJavaSearchScope scope,
final TypeNameRequestor nameRequestor,
int waitingPolicy,
IProgressMonitor progressMonitor) throws JavaModelException
Note that already existing searchAllTypeNames(char [], char[], int, int, IJavaSearchScope, TypeNameRequestor, int, IProgressMonitor)
API method documentation has been updated to reflected the fact
that package name is an exact name and does not accept wildcards.
- Incremented plug-in version ID to "3.3.0" due to newly added API method (see details above).
- Huge String concatenations - thousands of terms and beyond - are now
handled smoothly by the compiler even when they are not solely comprised of
literals and other constants (cf. bug
102728).
Problem Reports Fixed
148278
Default-package classes missing in Package Explorer
148352
NLS warning shows up on incomplete code
102728
[compiler] Reduce the stack depth demands of extended string concatenation ASTs
142530
[hierarchical packages] '.' in folder names confuses package explorer
148523
[batch] Batch compiler output contains extra linebreak before line position
147485
Anonymous type missing from java model
111086
[1.5][compiler] Compiler accepts call to parameterized method with invalid arguments
148215
[search] Exception while searching for declarations of referenced types in binary java elements packaged in a jar
146331
Java Editor won't save file
145367
Failing to open a binary member leaves cache inconsistent
96237
[javadoc] Inner types must be qualified
92264
[search] all types names should support patterns for package/enclosing type name
102720
org.eclipse.jdt.core.Signature spec incomplete
148015
NPE in log from ClasspathChange
143212
IAE in log
145544
Comment indentation wrong when using sun conventions
146214
Refactor XmlWritter and Main.Logger
147877
source end of array access isn't correct
145007
[1.5][javadoc] Generics + Inner Class -> Javadoc "missing @throws" warning
147690
[1.5][compiler] Incompatible serialversionuid when using covariant in Java 1.5
147747
max stack for clinit of enum overestimated
142059
[efs] renaming package fails to update references
143013
SWTException: Failed to execute runnable (...AbortCompilation)
147024
[compiler] Compiler bug when accessing static final attribute in a non-static way
143684
Creating of static imports is unavailable..
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 20th June 2006
Project org.eclipse.jdt.core v_701
(cvs).
What's new in this drop
- Fix for bug 120667 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
Problem Reports Fixed
147736
ClassCastException in TypeHierarchy
91709
[1.5][model] Quick Fix Error but no Problem Reported
147381
[1.5][compiler] Generics discrepancy between Eclipse compiler and Sun compiler.
139555
[hierarchy] Opening a class from Type hierarchy will give the wrong one if source and compiled are in defined in project
144573
compilationParticipant extension point schema incomplete
145835
getJavaClassLibs needs to account for IBM J2SE 1.5
145333
[hierarchy] Resolving too much
122444
[hierarchy] Type hierarchy of inner member type misses anonymous subtypes
114894
[compiler] Compiler generate dead bytecode
147096
ecj.jar manifest should not use x-friends, but use x-internal=true instead
146015
Some JDT/Core tests results are still VM dependent
120667
[hierarchy] Type hierarchy for enum type does not include anonymous subtypes
146324
Batch builds produce "The type X is already defined" errors
146615
[hierarchy] TypeHierarchyTests is tests order dependent
142207
[batch][options] Source/target level names 5 and 5.0 missing from batch
compiler help message
76734
[classpath] Attemp to lock workspace during container initialization
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.3M1 - 13th June 2006
Project org.eclipse.jdt.core v_700
(cvs).
What's new in this drop
- Progressive help message for the batch compiler.
The new -help:warn option displays details about the various
parameters applicable to the -warn option; these details are no
more part of the general help message, which is thus more compact
(cf. bug 144248).
- Compiler is now better resilient to duplicate local variables, thus allowing further
operation to still be carried out accurately (codeselect, completion, search, DOM AST ops)
(cf. bug 144858).
Problem Reports Fixed
146215
JDT Core tests should not be dependent on HashMap implementation
144858
[compiler] Should be more resilient with duplicate locals
145746
[1.5][compiler] Enum synthetic methods should be improved
145732
[1.5][compiler] Inconsistent behavior in ECJ code for enum types
145516
Bad performance when compiling a java file with non java content
142897
[1.5][compiler] Compiler cannot resolve type of inner class of a bounded generic type
144976
[hierarchy] NPE in ReferenceBinding
145500
[hierarchy] Superclass could be more resilient
144866
[assist][javadoc] Wrong completion inside @value tag
144414
JDT Compiler fails while standard javac compiler can proceed
142772
[1.5][compiler] Compilation succeeds with static imports that fail with javac
143259
[1.5][compiler] NullPointerException in ReferenceBinding.binarySearch , Eclipse 3.2RC4
144426
[compiler] Compiler incorrectly reports "assignment to variable has no effect" when it is a duplicate
144248
[batch] Progressive help text
141512
[batch] re-format the help message so as to fit into 80 columns
141522
[compiler][batch] ClassFile#buildAllDirectoriesInto should protect itself
against concurrent directory creation
141330
[1.5][compiler] Suspicious error message for type mismatch
141252
[1.6]][compiler] ClassFormatError: Illegal class name "" in class file
141810
[1.5][compiler] Enum switch tables incorrectly generated by the compiler
141327
StackFrame and VerificationTypeInfo must call super.clone() in their clone() method
140476
JDOM: IDOMType.setSuperInterfaces(new String [0]) fails to remove existing implements clause
132430
[1.5][javadoc] Unwanted missing tag warning for overridden method with parameter containing type variable
130752
[comments] first BlockComment parsed as LineComment
140156
[1.5][search] Invalid method handle with parameterized parameters when no source is attached
123679
[search] missing icon or bad hit in search results
141550
Enable now passing tests
For earlier build notes, also see build notes up to Release 3.2.
© 2015 - 2024 Weber Informatics LLC | Privacy Policy