spotless.spotless-ext-greclipse.2.3.0.source-code.R31_buildnotes_jdt-core.html Maven / Gradle / Ivy
Show all versions of spotless-ext-greclipse Show documentation
JDT/Core Release Notes
jdt core - build notes 3.1 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 R3.1 branch.
This present document covers all changes since Release 3.0 (also see a summary of API changes).
Older changes which occurred up to Release 3.0 can be found in
build notes R3.0.
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC4 - 27th June 2005 - 3.1 RELEASE (R3_1)
Project org.eclipse.jdt.core v_570
(cvs).
What's new in this drop
Problem Reports Fixed
101453
java.lang.UnsupportedOperationException: Operation only supported in JLS2 AST
101794
[1.5][compiler] Compiling Classpath classes results in bad class file
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC4 - 24th June 2005 - 3.1 RELEASE CANDIDATE 4
Project org.eclipse.jdt.core v_569
(cvs).
What's new in this drop
Problem Reports Fixed
101613
Performance regressions in Open Type Hierarchy performance test
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC4 - 23rd June 2005
Project org.eclipse.jdt.core v_568
(cvs).
What's new in this drop
Problem Reports Fixed
101426
[search] Search doesn't work with imported plugin
101120
Cannot generate an executable of the batch compiler using gcj 3.4.4
100631
Internal compiler error in 3.1RC2
101230
[compiler] Internal compiler error when labeled statement processing
101022
[search] JUnit Test Runner on folder runs tests outside directory
101019
RC3: Type Hierarchy does not find implementers/extenders of inner class/interface in other project
100009
[assist] Content assist uses generic parameter name arg0 instead of real name
100584
[1.5][dom] NPE when selecting a faulty member type following a generic type reference
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC3 - 17th June 2005 - 3.1 RELEASE CANDIDATE 3
Project org.eclipse.jdt.core v_567
(cvs).
What's new in this drop
Problem Reports Fixed
100519
[1.5][compiler] generic parameter and qualified access seems to confuse each other
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC3 - 16th June 2005
Project org.eclipse.jdt.core v_566
(cvs).
What's new in this drop
Problem Reports Fixed
100421
[1.5][compiler] chain of generics-extends confuse compiler
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC3 - 16th June 2005
Project org.eclipse.jdt.core v_565
(cvs).
What's new in this drop
Problem Reports Fixed
99654
[5.0] JavaModel returns both IClassFile and ICompilationUnit for package-info.java
100393
Defaults for compiler errors/warnings settings
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC3 - 16th June 2005
Project org.eclipse.jdt.core v_564
(cvs).
What's new in this drop
- Fix for bug 99606 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
100302
StackOverflowError during completion
99606
Subtype not found if parameterized on inner class
100293
1.5 compiler - Methods using non-generic inner types of concreted generic classes generate wrong signatures
98322
[compiler] ParameterizedTypeBinding should not have AccGenericSignature set when no type arguments
99978
MalformedTreeException on Inline Method
100128
[1.5][compiler] StackOverflow compiling GNU Classpath generics branch
100142
CCE when calling ITypeBinding#getJavaElement() on char[][]
100147
[1.5][compiler] NPE when reporting an error on an unsafe type conversion
100062
[formatting] Code formatter is broken on test case from bug 99999
100162
java.lang.VerifyError is produced by Eclipse Java compiler
99428
[1.5][compiler] enum classes created without final accessFlag
99999
[1.5][compiler] AIOOBE with generics + nested classes + arrays
99686
IAE in Util#scanTypeBoundSignature
100149
[1.5][compiler] Raw type upper bounds should be raw types
99927
NPE in ParameterizedTypeBinding.initialize
100138
[doc] Confusing documentation in Project Configuration tutorial
99915
[search] Open Type: not yet saved types not found if case-sensitve name is entered
100007
[1.5][compiler] ClassCastException using array object as generic type
99600
[search] Java model exception on "Move to new file" on inner type with inner type
99982
[DOM] Wrong positions for boolean[] type
99811
NPE during content assist
99629
Error while entering expression in change variable value dialog
99922
[1.5][compiler] NPE in compiler for Arrays.asList(3, 3.1);
98378
[search] Can't find declarations in hierarchy of interface.
97614
[1.5][search] Refactoring: renaming of field of a (complex) parametrized type does not replace all occurrences
97547
[search] Package search does not find references in member types import clause
96950
[search] Code assist proposes non accessible types into completion
99510
isCastCompatible seems to need capture bindings now to answer correct results
99608
IMethodBinding#overrides returns false on overridden method
99901
[select] AIOOBE when selecting package reference in import statement
99282
[1.5][compiler] Enum / Switch method is not initialized in a thread safe way
52921
[formatting] Javadoc formatting: extra newline with [pre]
99507
[javadoc] Infinit loop in DocCommentParser
99397
Typo in CompletionProposal#isConstructor()
99553
[1.5][compiler] Parameterized class nested statically inside another parameterized type causes compile errors when used in method signatures
99355
extract method trips up with generics and final variables
99469
[1.5][compiler] NPE compiling code with unknown annotations
99375
Compiler error using Annotations
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC2 - 10th June 2005 - 3.1 RELEASE CANDIDATE 2
Project org.eclipse.jdt.core v_563
(cvs).
What's new in this drop
Problem Reports Fixed
99260
[1.5][compiler] Bad bytecode generated with varargs + generics
98331
[1.5][compiler] Casting Conversion needs to check all supertypes for conflicts
99106
[1.5][compiler] Ambiguous method error because methods don't override in eclipse
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC2 - 9th June 2005
Project org.eclipse.jdt.core v_562
(cvs).
What's new in this drop
Problem Reports Fixed
97487
[call hierarchy] Call Hierarchy Fails in mounted classes with attached src files
97524
[prefs] Importing preferences with user library doesn't recreate jar entries
99142
Exception when shutting down quickly after starting
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC2 - 9th June 2005
Project org.eclipse.jdt.core v_561
(cvs).
What's new in this drop
- The build state version number has changed. A full build of all projects in the workspace will be triggered upon
startup if autobuild is on, or on the next build if autobuild is off.
- The new list of supported warning tokens for the @SuppressWarnings annotation is:
- all : any warning
- boxing : autoboxing conversion
- dep-ann : missing @Deprecated annotation
- deprecation : deprecation outside deprecated code
- incomplete-switch : incomplete enum switch (enumSwitch)
- hiding :
- field hiding another variable (fieldHiding)
- local variable hiding another variable (localHiding)
- type parameter hiding another type (typeHiding)
- hidden catch block (maskedCatchBlock)
- finally : finally block not completing normally
- static-access :
- indirect reference to static member (indirectStatic)
- non-static reference to static member (staticReceiver)
- nls : string literal lacking non-nls tag //$NON-NLS-<n>$
- serial : missing serialVersionUID
- unqualified-field-access : unqualified reference to field (unQualifiedField)
- unchecked : unchecked type operation
- unused :
- unread method parameter (unusedArgument)
- unread local variable (unusedLocal)
- unused private member declaration (unusedPrivate)
- unused declared thrown exception (unusedThrown)
- synthetic-access : synthetic access for innerclass (syntheticAccess)
NOTE:
All other warning tokens are not longer supported by @SuppressWarnings;
considering that for some diagnosis, it is simpler to just fix the code than silence some warning.
In Italic the old warning token is specified.
Warning tokens also supported by javac are in red (also see declared warning tokens).
- CodeAssist: added a new API CompletionProposal#isConstructor() to distinguish method and constructor proposal
- Access rules file patterns have been changed to ignore the file extension. This allow easy switching from a source project
to a binary project. Thus
"com/test/X.java"
is now an invalid access rule pattern, and
"com/test/X"
is a valid access rule pattern.
-
Following batch compiler options default value have been changed from "ignore" to "warning":
- unusedLocal (unread local variable)
- unusedPrivate (unused private member declaration)
- fieldHiding (field hiding another variable)
- localHiding (local variable hiding another variable)
(see bug 76530)
- Compiler optional diagnosis for unused private members got generalized to also flag unused
members of local types.
- Compiler no longer reports as unchecked the situation where a method of a raw type is invoked,
and only the return type got altered by raw conversion (also see bug 85815).
This change is motivated to better match the language spec 3rd edition.
- Fix for bug 97087 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
99138
NPE in RawTypeBinding.computeUniqueKey(..) for raw type inside anonymous parameterized type
93975
[1.5][syntax] Poor recovery when extra semicolon in annotation
93208
[dom] CompilationUnit.rewrite throws AssertionFailedException with legal AST (bug in recoding ast modifications)
97440
[1.5][compiler] StackOverflow compiling heavily generic code
99104
Startup job displayed as "Initializing the Java d...ent tooling"
99084
Formatter error when generic method has an argument
98892
[compiler] Eclipse compiler generates code that calls the finally block twice
98969
Builder didn't find state for prereq project
96586
[1.5][compiler] Invalid cycle detected
98954
Javadoc of ITypeBinding#getErasure() is wrong for array types
98504
[1.5][compiler] Compiler difference between javac and jdt?
96763
[1.5][search] Search for method declarations does not find overridden method with different signature
96761
[1.5][search] Search for declarations of generic method finds non-overriding method
98228
[1.5][compiler] regression - incorrect handling of generics
98720
[preferences] classpath variables are not exported if the session is closed and restored
98906
No rebuild after upgrade
98711
no way to distinguish constructor from method proposals
98434
A non-1.5 project with 1.5 projects in the classpath does not show methods with generics
98750
[dom] Java DOM Parser finding syntax Problems when parsing Annotations
90619
[1.5][compiler] Cannot implement generified interface with erased method
98500
[1.5] Internal compiler error
98488
NPE while computing a key for a paramterized type binding
97087
[1.5][search] Can't find reference of generic class's constructor.
93668
Search indexes not rebuild
98473
AST binding: type variable reports as 'isTopLevel'
98364
[1.5][compiler] Compiler allowing invalid generic interface inheritance
85815
[1.5] warn when raw iterator is used
93377
[1.5][compiler] Multiple auto-build failures when using generics
79309
Nested interfaces aren't resolved correctly in import (with "Open Declaration" / F3)
96765
Code completion does not work in enum constants
98483
IMethodBinding.override does not compare method names
98115
Field completion failed to propose a field declared into an innerclass
93789
[1.5][compiler] Compiler incorrectly allows static declarations in enum constants.
98396
[1.5][compiler] Casting Conversion ignores second bound of Type Variables
98383
[1.5][compiler] ClassCastException attempting to cast from intersection type
97322
[search] Search for method references sometimes reports potential match with differing argument count
94160
[1.5][search] Generic method in superclass does not exist
91061
[1.5][compiler] Static reference to outer type variable should not be allowed
97108
[1.5][compiler] NullPointerException encountered while running Java Builder
98259
NPE computing ITypeBinding#getKey()
93536
[1.5] Internal compiler generating error on code that javac accepts
97606
[1.5][search] Raw type reference is reported as exact match for qualified names
96424
[search] SearchParticipant sets containerPath to documentPath
97542
ASTParser#createASTs does not correctly resolve bindings in working copies
94898
[1.5] errors in ambiguous method invocation detection
94754
[1.5][compiler] Ambiguous method call is not detected
84035
[1.5][compiler] Ambiguous method call
76530
[options] Warn about unused local variables and private members
98091
[1.5][compiler] @SuppressWarnings("assertIdentifier") cannot be applied
94907
[assist] missing keyword completions for generic signatures
84001
[select] Renaming of class with internal classes fails.
94641
Code assist does not display parameters for constructor with type parameters
96991
[1.5][compiler] Annotation attribute should be able to reference field
96713
[1.5][compiler] Inconsistency with Sun JDK
95684
[1.5][compiler] Type handling on concrete inner class of super class is incorrect
97273
Illegal argument exception in Signature#getTypeSignatureKind
98165
Wrong source range for ConditionalExpression with casted target in FieldAccess as expression
96085
[1.5][compiler] problems with inner classes and generics
98139
Java Code Formatter is severely confused by following code
98079
[1.5][compiler] incorrect Bound mismatch compilation error
97860
[1.5][assist] All current proposals while completing after a type parameter results in a compiler error
82560
[assist] Completion fails on parameterized generic method call
98086
[1.5][dom] CU still have problems even with @SuppressWarnings("all")
98037
[Java Editor Templates] Templates with multiple lines are inlined when used
96258
Bogus build path errors caused by multiple project import
97902
NPE on Open Declaration on reference to generic type
80432
Code Assist box exhibits strange behavior in an endless for loop
96944
[1.5][assist] shoud not suggest type parameters after new
97801
[1.5][codeassist] The type of the class literal must be parameterized
85384
[1.5][assist] "extends" not proposed when writing method declarations
97219
[1.5] eclipse does not detect ambiguous method invocation errors
97744
[compiler][ant adapter] NPE when verbose = true and destDir not specified
97480
[1.5][compiler] incorrect error on some calls to raw Map.Entry.setValue
97809
Ambiguous method reference wrongly reported
97814
Incorrect resolved information on hover
97841
[1.5][dom] null binding for ClassInstanceCreation
90916
CCE in SourceTypeConverter
97466
NPE in SourceTypeConverter
97307
[5.0][typing] completion for "import static" deletes all source before
97459
CCE during reconcile and AST creation
97800
[1.5][compiler] Cast type shouldn't be used in generic method argument inference
95349
Access rule pattern matching should ignore file extension
97161
[1.5][compiler] Internal compiler error java.lang.NullPointerException
97303
[1.5][compiler] Cannot convert when inferring list of inner parameterized type
97272
Export preferences offers "all" button, does not export classpath variables
96794
Polishing disassembler output
97275
method reference should not contain type variable anymore
97187
[rendering] Shows Single Char for primitve Types
96918
Code Assist - suggest extends and super in the context of a wildcard type argument
97190
Incorrect handling of large long values
97247
ArrayIndexOutOfBoundsException in ClassFile.addSyntheticSwitchTable
76155
[options] Unused code warning for unused methods in anonymous inner classes
97224
[polish][compiler] Inconsistent error message for non-visible field
95481
[1.5] NPE in TypeVariableBinding.checkBounds
65748
[type hierarchy] Hierarchy view fails to pick up class modifier change
96633
getJavaElement returns null for Object[] array binding
96605
JDTCompilerAdapter should allow a log without all verbose information
96858
IllegalArgumentException in Signature
97164
classpath variables lost when upgrading from M7 to RC1
97139
eclipse 3.1RC1 compiler crash for project
96974
[5.0] @SuppressWarnings({"nls"}) does not work for unexternalized strings
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC1 - 26th May 2005 - 3.1 RELEASE CANDIDATE 1
Project org.eclipse.jdt.core v_560
(cvs).
What's new in this drop
Problem Reports Fixed
96646
[1.5][compiler] VerifyError - Generics and Interfaces - "Wrong return type in function"
96631
NPE in Annotation on empty ArrayInitializer
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC1 - 26th May 2005
Project org.eclipse.jdt.core v_559
(cvs).
What's new in this drop
Problem Reports Fixed
95638
[1.5][compiler] Possibly incorrect Bounds Mismatch errors for complicated bounds
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1RC1 - 26th May 2005
Project org.eclipse.jdt.core v_558
(cvs).
What's new in this drop
- The Code Assist option CODEASSIST_HIDE_RESTRICTED_REFERENCES is replaced by
CODEASSIST_FORBIDDEN_REFERENCE_CHECK and CODEASSIST_DISCOURAGED_REFERENCE_CHECK
(see bug 94403).
- Code Assist suggest all member types when completion token is a single name.
Y<complete here> // p.q.X.Y is proposed.
As all member types are proposed, code assist does not propose types of the wrong kind.
Only classes are proposed inside an extends clause, only interfaces inside an implements clause
and only annotations in annotation reference (It was necessary before to be able to propose
a top level type which contains these types).
Note: To re-enabled quickly the old behaviors, change the value of Completion.PROPOSE_MEMBER_TYPES.
- Added API
JavaCore#initializeAfterLoad(IProgressMonitor)
to allow
a client to force the initialization of internal structures.
- Default value for
COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING
and
COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING
JavaCore options have been changed from "enabled" to "disabled".
(see bug 96270).
- Fix for bug 75816 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
-
Duplicate names are not allowed in classpath entry extra attributes.
Javadoc comment of each JavaCore.new*Entry
method have been updated to clearly specify this behavior:
* The extraAttributes
list contains name/value pairs that must be persisted with
* this entry. If no extra attributes are provided, an empty array must be passed in.
* Note that this list should not contain any duplicate name.
JavaConventions.validateClasspathEntry(IJavaProject,IClasspathEntry,boolean,boolean)
has been modified
to verify this point. It now returns an invalid status (new IJavaStatus(IJavaModelStatusConstants.NAME_COLLISION,...)
)
when duplicate names are found in extra attributes.
Problem Reports Fixed
93119
code assist: proposals for wildcard types
95505
Can not use code completion
96698
org.eclipse.jdt.core.dom.VariableBinding.getUnresolvedJavaElement produce ClassCastException
88364
compiler options
94267
[1.5][select] Selecting type parameter in binary answer match on line 0
96642
CCE in SourceMapper.computeAllRootPaths(..)
87362
BindingKey#internalToSignature() should return the field's type signature
94404
[model] Disallow classpath attributes with same key
92398
[compiler] Leverage access rule support in batch compiler
96588
Rename Signature#removeCaptureFromMethod(...) to removeCaptureFrom(..)
96410
Incorrect information in selection resolved key
75816
[search] Call Hierarchy does not find calls to the constructor of java.util.HashMap.Entry [call hierarchy]
95167
[content assist] Spurious "Access restriction" error during code assist
95580
CreateField on IType doesn't work if the type is an enum type that has enum constants
95963
(3.1M7) Compiler error when parameterizing with missing inner type.
96134
Internal error for odd (probably illegal) class declaration
96464
[assist] JavaCorePreferenceInitializer does not initialized CODEASSIST_DISCOURAGED_REFERENCE_CHECK
96414
Javadoc of ASTParser#setCompilerOptions(..): mention that setProject(..) resets options
95933
Refining a generic method causes AbstractMethodError
94897
[1.5] Compiler does not reject class with two erasure-equivalent methods
96213
Eclipse 3.1M7 - Field completion stack overflow
96401
jdt.core tests pass, but fill the .log
96439
Hierarchy not refreshed if adding a dependent project
82852
"Searching for errors in <project>" running unit tests from package
95154
Missing package.html files for API packages
96387
Schemas for extension points are inaccurate
93249
Code assist doesn't propose full method stub
94878
Configuration details is large, containing many prefs for PDE and JDT classpath containers
96270
[javadoc] Missing Javadoc comment: 'check overriding..' should be 'off' by default
96300
Use the line separator platform preference for new files
94303
import static adds annoying semicolon
83716
[search] refs to 2-arg constructor on Action found unexpected matches
96071
Javadoc for IJavaProject.findType(String ) is not consistant
94903
Error setting method breakpoint in 1.5 project
88395
[1.5][compiler] Binary compat problem with enum/switch codegen
95727
ITypeBinding#getJavaElement() returns a ResolvedSourceField for an anonymous class
95909
Error with static import
95794
[1.5][search] Search for all occurrences does not find references in static imports
95911
[5.0][dom] Wrong node range for variable declaration fragment containing anonymous class declaration
93941
Classpath initialization on shutdown
93731
JDT core job still running after shutdown.
89849
[1.5][assist] Completion in switch proposes already written enum constants
91670
package-info.java is not being correctly compiled
93880
[1.5][javadoc] Source range of PackageDeclaration does not include Javadoc child
93254
[assist] ClassCastException when complete annotation type ref
95760
[1.5][search] MatchLocator does not compile against 5.0 JRE
93668
Search indexes not rebuild
95748
SourceMapper should not write timing info to stdout
92555
Code assist in Annotations suggests non-annotations
92733
[assist] Classes suggested in implements clause
94965
[assist] code assist should suggest inner types
92937
Need API: JavaCore#initializeAfterLoad()
90215
[1.5] Enums implementing generic interfaces can compile incorrectly.
95244
performance optimization in SourceMapper.computeAllRootPaths
91615
Wrong class opened by debugger/"Open Type"
39856
External jar's timestamps should be persisted accross sessions
89632
Exception when trying to evaluate in Snippet Editor
95538
Operation not supported in JLS2 AST from resolving MethodBinding
95521
[1.5][javadoc] validation with @see tag not working for generic method
95286
[1.5][javadoc] package-info.java incorrectly flags "Missing comment for public declaration"
95388
[code manipulation] NPE sorting members
94150
[1.5][javadoc][enum] javadoc is always null for EnumConstantDeclaration
94653
[1.5][select] Selection on invalid raw member type should still surface raw type
94092
ASTParser#createASTs(..) restores wrong bindings from capture keys
88719
UserLibrary.serialize /createFromString need support for access restriction / attributes
89937
[1.5][compiler] Annotation attribute should not be able to reference field
93891
Restricted UIPlugin is in my code assist
93905
Batch compiler - add a timestamp to log files
95262
ASTParser fails with K_CLASS_BODY_DECLARATIONS
95211
[api] stale J2SE5 comment in IDOMImport
95431
Code formatter fails to format this code
95394
Problem resolving types for Assignment ("+=") on 3.1M7
83034
[1.5][compiler] method on A<D,?> not applicable for argument <?>
87550
[1.5] [compiler] The method in the type is not applicable for the arguments
95021
[1.5][compiler] incorrectly inferred method type parameters bug in 3.1M6?
91588
Delete CVS project and then add as source project leads to duplicate Open Type entries
73969
Full build on startup
80118
[search] OutOfMemoryError while searching for Test class
87749
different IMethodBindings of generic method have equal getKey()
94398
Error attempting to find References
93408
ITypeBinding#isEqualTo(..) does not resolve type variables
94389
[search] InvocationTargetException on Rename
79990
[1.5][search] Search for method declaration doesn't find method with instantiated type parameters
95066
[1.5][compiler] Wrong Cast Allowed
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 12th May 2005 - 3.1 MILESTONE 7 / 3.1 RELEASE CANDIDATE 0
Project org.eclipse.jdt.core v_557
(cvs).
What's new in this drop
Problem Reports Fixed
94308
[1.5][compiler] @SuppressWarnings("deprecation") does not suppress warnings from javadoc
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 12th May 2005
Project org.eclipse.jdt.core v_556
(cvs).
What's new in this drop
- Enabled by default the optional compiler diagnosis to signal unhandled warning tokens in
@SuppressWarnings
annotations.
Note that this warning can itself be turned off using @SuppressWarnings("warningToken").
* COMPILER / Reporting Unhandled Warning Token for @SuppressWarnings
* When enabled, the compiler will issue an error or a warning when encountering a token
* it cannot handle inside a @SuppressWarnings annotation.
* - option id: "org.eclipse.jdt.core.compiler.problem.unhandledWarningToken"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
- Fix for bug 94718 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
94928
[1.5][compiler] NPE in ParameterizedGenericMethodBinding generated by making method generic
93727
Code Formatter fails with Method Parameter Annotations
93075
Invalid source ranges for nested ParameterizedTypes
92360
type binding with isWildcardType() == true should not have isClass() == true
94168
Java annotation is missing in EnumConstantDeclaration
94867
[1.5][compiler] Annotation method should tolerate empty array default value
94747
[1.5][compiler] Error message is not optimal
94718
[1.5][search][annot] Find references in workspace breaks on an annotation
94644
[1.5][compiler] Non-static member type of raw type should be raw
94206
CCE in BindingKeyResolver when restoring array type of method type parameter
94260
[Preferences] preference option missing in Compiler Settings
94262
[1.5] non static class must not be visible through static import
93904
Batch compiler -log option broken for some values
87627
[1.5][search] references to type variable yield non-existent elements in search view
93588
[compiler] java.lang.VerifyError: Looks similar to 60040 but is happening on current release
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 9th May 2005
Project org.eclipse.jdt.core v_555
(cvs).
What's new in this drop
- Code Assist provide the enclosing type reference when cursor is inside a type argument
and the completion token is empty (in the same way as method calls).
p.q.X<<complete here>> // p.q.X<T,U> is proposed.
p.q.X<Object, <complete here>> //p.q.X<T,U> is proposed
- Code Assist provide the enclosing annotation reference when completion is inside an annotation argument
and the completion token is empty (in the same way as method calls).
@Annot(<complete here>) // p.Annot is proposed.
@Annot(foo1=0, <complete here>) // p.Annot is proposed.
- In 5.0 compliant mode, changed local inner type naming convention to reflect JLS 13.1 (3rd edition).
As a consequence, instead of generating a file named
X$1$A.class
, it will simply be X$1A.class"
.
- Added optional compiler diagnosis to signal unhandled warning tokens in
@SuppressWarnings
annotations.
Note that this warning can itself be turned off using @SuppressWarnings("warningToken").
* COMPILER / Reporting Unhandled Warning Token for @SuppressWarnings
* When enabled, the compiler will issue an error or a warning when encountering a token
* it cannot handle inside a @SuppressWarnings annotation.
* - option id: "org.eclipse.jdt.core.compiler.problem.unhandledWarningToken"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
- Added compiler option to control whether @SuppressWarning annotations are active or not.
By disabling them, one can quickly revive all hidden warnings.
* COMPILER / Determine whether @SuppressWarnings is effective
* When enabled, the @SuppressWarnings annotation can be used to suppress some compiler warnings.
* When disabled, all @SupressWarnings annotations are ignored; i.e., warnings are reported.
* - option id: "org.eclipse.jdt.core.compiler.problem.suppressWarnings"
* - possible values: { "enabled", "disabled" }
* - default: "enabled"
- Added API on
CorrectionEngine
for computing the warning token corresponding to an optional warning ID.
/**
* Returns a token which can be used to suppress a given warning using
* @SuppressWarnings
annotation, for a given problem ID
* ({@link IProblem }). If a particular problem is not suppressable,
* null
will be returned.
*
* Note: @SuppressWarnings
can only suppress warnings,
* which means that if some problems got promoted to ERROR using custom compiler
* settings ({@link IJavaProject#setOption(String, String)}), the
* @SuppressWarnings
annotation will be ineffective.
*
* Note: @SuppressWarnings
can be argumented with
* "all"
so as to suppress all possible warnings at once.
*
* Note: The tokens returned are not necessarily standardized across Java
* compilers. If you were to use one of these tokens in an @SuppressWarnings
* annotation in the Java source code, the effects (if any) may vary from
* compiler to compiler.
*
* @param problemID
* the ID of a given warning to suppress
* @return a String which can be used in @SuppressWarnings
annotation,
* or null
if unable to suppress this warning.
* @since 3.1
*/
public static String getWarningToken(int problemID)
- More warning tokens are now recognized by
@SuppressWarnings
, see list below. Note that
these are subject to changing in the near future.
- all : any warning
- boxing : autoboxing conversion
- charConcat : char[] in String concat
- conditionAssign : possible accidental boolean assignment
- constructorName : method with constructor name
- dep-ann : missing @Deprecated annotation
- deprecation : deprecation outside deprecated code
- emptyBlock : undocumented empty block
- enumSwitch : incomplete enum switch
- fieldHiding : field hiding another variable
- finalBound : type parameter with final bound
- finally : finally block not completing normally
- indirectStatic : indirect reference to static member
- intfAnnotation : annotation type used as super interface
- intfNonInherited : interface non-inherited method compatibility
- javadoc : invalid javadoc
- localHiding : local variable hiding another variable
- maskedCatchBlock : hidden catch block
- nls : string literal lacking non-nls tag //$NON-NLS-<n>$
- noEffectAssign : assignment without effect
- over-ann : missing @Override annotation
- pkgDefaultMethod : attempt to override package-default method
- semicolon : unnecessary semicolon, empty statement
- serial : missing serialVersionUID
- unqualifiedField : unqualified reference to field
- unchecked : unchecked type operation
- unusedArgument : unread method parameter
- unusedImport : unused import declaration
- unusedLocal : unread local variable
- unusedPrivate : unused private member declaration
- unusedThrown : unused declared thrown exception
- unnecessaryElse : unnecessary else clause
- uselessTypeCheck : unnecessary cast/instanceof operation
- specialParamHiding : constructor or setter parameter hiding another field
- staticReceiver : non-static reference to static member
- syntheticAccess : synthetic access for innerclass
- typeHiding : type parameter hiding another type
- varargsCast : varargs argument need explicit cast
- warningToken : unhandled warning token
-
SearchMatch now has a implicit field which shows whether the associated element is implicit or not
(see bug 94062).
Added new API methods to access this field:
SearchMatch#isImplicit()
SearchMatch#setImplicit(boolean)
Problem Reports Fixed
94053
[javadoc] Unknown references are not warned for string or href in @see/@link tags
94111
[assist] provide parameter hints for template instantiations
94062
[1.5][search][annot] search for annotation elements incorrect match range
93392
[1.5][search] Reference to implicit annotation element "value" has wrong offset
84968
[1.5][generics] Exception type handling broken in latest milestone
75885
[1.5][compiler] Naming convention for local innerclasses
89426
provide Java class file content type
93826
ArrayIndexOutOfBoundsException when opening type hierarchy
83739
[1.5] support @SuppressWarnings
89850
Duplicate strings of VM path
83750
[perf] Excessive File.isFile calls for clients of JavaModel.getTarget(...)
92210
[search] Search for method declaration in working set (source folder) searches in whole project
93913
wrong resolved type caused by a static import
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 6th May 2005
Project org.eclipse.jdt.core v_554
(cvs).
What's new in this drop
- Code Assist doesn't propose anymore type completion when completion token is empty.
Note: the code to propose completion when token is empty is not removed.
Change the value of Completion.NO_TYPE_COMPLETION_ON_EMPTY_TOKEN to re-enabled this behavior.
- @SuppressWarnings is now supported. Recognized warning names are:
"all"
, "deprecation"
,
"serial"
, "unchecked"
, "finally"
.
- Changed Code Assist options.
CODEASSIST_FORBIDDEN_REFERENCE_CHECK and CODEASSIST_DISCOURAGED_REFERENCE_CHECK are replaced by CODEASSIST_HIDE_RESTRICTED_REFERENCES.
/*
* CODEASSIST / Hide Proposals for Restricted Completions
* When value is "never", never hide proposals for restricted completions.
* When value is "error", hide proposals for restricted completions if insertion of these completions would create a compile error.
* When value is "warning", hide proposals for restricted completions if insertion of these completions would create a compile error or warning.
* To configure the severity of restrictions, "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
* option must be used for forbidden reference and "org.eclipse.jdt.core.compiler.problem.discouragedReference"
* option must be used for discouraged reference.
* - option id: "org.eclipse.jdt.core.codeComplete.restrictionsCheck"
* - possible values: { "never", "error", "warning" }
* - default: "error"
*/
public static final String CODEASSIST_HIDE_RESTRICTED_REFERENCES;
- Removed 3.1 APIs
BindingKey#getDeclaringTypeSignature()
and
BindingKey#toSignature()
as they were found error prone. See bug 93105
for details.
- Added support for 'capture' inside Code Assist. Delaring type of a completion proposal is captured for qualified completion.
- Added APIs to replace a range of moved nodes (
ListRewrite#createMoveTarget(first, last, replacingNode, editGroup)
).
See bug 91938 for details.
Problem Reports Fixed
93854
IAE in Util.scanTypeSignature when scanning a signature retrieved from a binding key
93662
Singature#getTypeParameters returns strange signature string
93113
Opening the Type Hierarchy of Object uses 400M of heap
92071
Duplicate entry on classpath with -promiscuous mode
93486
[compiler] Wrong compile errors reported
93487
IType#findMethods fails on vararg methods
90186
resolved key of methods should contain parametrized types
88082
ASTParser#createASTs(..) does not use the given progress monitor
90612
Forbidden types must not be available in Code Assist
93105
Remove unnecessary APIs on BindingKey
93396
[1.5] problem with recovery and enum constant body
92899
Empty extra attributes list should not appear in .classpath
93275
Need ITypeBinding#getDeclaringClass() for capture types
93298
[1.5][compiler] nested statics and templates compilation error
92477
[1.5][compiler] Internal compiler error: NullPointerException in ReferenceBinding.findSuperTypeErasingTo
83083
[1.5][compiler] NPE while checking bounds of type variable
93204
[1.5][compiler] EnumSet.of within generic class
90775
[1.5][compiler] Missing unchecked warning
88202
Javadoc: clarify ITypeBinding#getTypeBounds()
93093
[1.5][dom] Capture binding "? extends Number[]" has bound Object instead of Number[]
93102
[1.5] Cannot restore capture binding from binding key
93082
[1.5][compiler] Eclipse accepts assignment between captures with array-type bounds
91467
[1.5][compiler] Eclipse asks for and then complains about unnecessary cast
92982
[1.5][compiler] Bounds and erasure of capture and type variable bindings
84690
[assist] CompletionProposal.getDeclarationSignature returns null for array types
92821
[javadoc] Organize Imports - M6 - incorrectly retains import when only referered to in javadoc
91542
[1.5][search] JavaModelException on ResolvedSourceMethod during refactoring
92981
Content Assist overrides wrong method
91619
Extraneous exported package
92872
[api] API constants renamed in IProblem
92888
ITypeBinding#isEqualTo(..) is wrong for capture bindings
84224
Need advice for finding duplicate Types
92944
[1.5][search] SearchEngine#searchAllTypeNames doesn't honor enum or annotation element kind
91078
[search] Java search for package reference wrongly identifies inner class as package
92005
AIOBE during content assist
67139
[classpath] n^2 classpath computations
80063
code assist allows overriding super class' private method
82208
[search] BasicSearchEngine#searchAllTypeNames doc
3336
SearchEngine doesn't support CLASS and INTERFACE (1GIEPRK)
90160
[search] SearchEngine.createJavaSearchScope swallows problems
88174
[1.5][search][enum] method declarations not found in anonymous enum
91938
[ast rewrite] new API: move range of nodes and replace
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 26th April 2005
Project org.eclipse.jdt.core v_553
(cvs).
What's new in this drop
- Removed the need to load
java.lang.RuntimeException
and java.lang.Error
eagerly
during compilation when assessing unchecked exception diagnosis. This allows Java class library developpers to be
more minimalistic.
- Fix for bug 83230 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Added support for Javadoc in package-info.java. Compiler now verifies package comment tags
syntax and references for this compilation unit. See bug 83804 for
further details.
Problem Reports Fixed
91761
[1.5][compiler] Return statements ignored in anonymous inner classes used as enum constant constructor parameters.
84049
[javadoc][dom] Extended ranges wrong for method name without return type
82673
[search] Refactor->Rename on local class also renames references to different local classes with same name
81062
[builder] Build is aborted even when no errors are occuring (incomplete build path == warning)
83012
[1.5][search][annot] Search for annotations misses references in default and values constructs
92588
Full build in reaction to beginRule failure
92451
code assist failure: new+cast+arrays
92373
[1.5] Can't distinguish capture ITypeBindings by #getKey() or #isEqualTo()
92370
[1.5] IAE in Signature.getParameterCount(..) for method proposal on capture type receiver
92361
[1.5] NPE in ITypeBinding#getJavaElement() for capture binding
92315
[search] NPE in MethodLocator.matchReportReference
86380
[1.5][search][annot] Add support to find references inside annotations on a package declaration
83804
[1.5][javadoc] Missing Javadoc node for package declaration
83501
IBinding#getJavaElement needs better specification
83230
[1.5][search][annot] search for annotation elements does not seem to be implemented yet
89624
Open on selection proposes twice the same entry
92237
IType resolved key: key.toSignature has wrong format
91804
JavaProject.isOnClasspath(IJavaElement) should avoid resolving classpath
92059
IVariableBinding#getJavaElement() thows NPE for array's 'length' field
84551
[1.5][compiler] compiler must not allow implicit static reference to outer type
89440
[1.5][problems] Reference to member of parameterized type incorrectly marked as error
84973
[1.5] parameterized inner type is illegal without parameterized outer type
90484
[1.5][compiler] Missing override annotation conflicts with Javac error checking
81831
[1.5][compiler] JDT compiler tries to infer the wildcard type "too early" in case of recursive generic type-bounds
89274
[1.5][compiler] Enums in hierarchies with generics produces unnecessary warnings and errors
90137
[1.5][compiler] Collections.sort (List<Comparable>) compile error
90879
[1.5][compiler] Cannot sort a raw Comparable
85281
[1.5][compiler] A<++Element> should not be assignable a A<+Element>
91091
[quick assist] Cannot rename type name in file
90881
[1.5][compiler] NPE in builder
84496
[1.5][compiler] Capture Conversion not correctly implemented
92086
[index] ClassCastException in DiskIndex.mergeCategory()
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 20th April 2005
Project org.eclipse.jdt.core v_552
(cvs).
What's new in this drop
Problem Reports Fixed
91772
Exported plugin dependencies are missing from the classpath
88769
IMethodBinding#getJavaElement() drops extra array dimensions and varargs
88892
[1.5] IMethodBinding#getJavaElement() returns nonexistent IMethods (wrong parameter types)
91445
IMethodBinding.getJavaElement() returns an "unopen" IMethod
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 19th April 2005
Project org.eclipse.jdt.core v_551
(cvs).
What's new in this drop
- Added performance instrumentation to track performance problem (use PerformanceStats from Core).
To enabled this Jdtcore instrumentation, you must add some new entries inside .options.
org.eclipse.jdt.core/perf/completion=300
: add an entry to performance.log if CompletionEngine.complete() take more than 300ms
org.eclipse.jdt.core/perf/selection=300
add an entry to performance.log if SelectionEngine.select() take more than 300ms
org.eclipse.jdt.core/perf/javadeltalistener=500
add an entry to performance.log if the call to the listener take more than 500ms
org.eclipse.jdt.core/perf/variableinitializer=5000
add an entry to performance.log if the initialization take more than 5000ms
org.eclipse.jdt.core/perf/containerinitializer=5000
add an entry to performance.log if the initialization take more than 5000ms
org.eclipse.jdt.core/perf/reconcile=1000
add an entry to performance.log if ComplationUnit.reconcile() take more than 1000ms
Current default thresholds are not accurate and must be adjusted.
- Added support for completion inside single member annotation and annotation attribute value.
@MyAnnotation(<complete here>
@MyAnnotation(foo=<complete here>
Problem Reports Fixed
91861
Deadlock on startup while computing namelookup
89411
ICompilationUnit#becomeWorkingCopy takes 18% of startup
91716
[prefs] Too many calls to EclipsePreference#get while scanning full workspace units
90615
Proposal for boolean
84877
Performance on startup
91497
[prefs] JavaCore should not give access to default preferences
90414
[content assist] Content Assist fails when escape sequence present
91438
Need definitive set of jdt-core tests checked into cvs
91498
Reconcile still sees old access rules
91221
Code assist stopped working
91371
[assist] Stack Overflow - Field completion
91098
The Mark Occurrences feature does not mark all occurrences
79288
Code assist offers types which are out of scope ==> compile errors
88298
[1.5][assist] no completion inside SingleMemberAnnotation
91238
Malfunction of Format function
91160
SourceField.getConstant() incorrect for char constants
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 12th April 2005
Project org.eclipse.jdt.core v_550
(cvs).
What's new in this drop
- Fix for bug 90431 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
89096
Convert to new platform NLS support
90302
[javadoc] {@inheritedDoc} should be inactive for non-overridden method
90779
[search] Constructor Declaration search with ignoring declaring and return type also ignores type name
90915
[1.5][search] NPE in PatternLocator
90266
[select] Code select returns null when there's a string including a slash on same line
90605
Severity is not severe enough
89470
Generic Method override compatibility
90446
Update CreateTypeMemberOperation for changes in Indents
90431
Improve path lookup in scopes
90423
[1.5][compiler] Generic method overloading. Javac allows but eclipse doesn't
90213
[Formatter] Redundant space in multidimensional array literals
88263
[1.5][compiler] Autobox and extends
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M7 - 5th April 2005
Project org.eclipse.jdt.core v_549
(cvs).
What's new in this drop
Problem Reports Fixed
89815
Types not found using Open Type and search for declaration
77809
[format] Line wrapping for enum constants
49896
Formatters should have option to use tabs only for leading indents.
89777
Improve doc formatting for IMethodBinding.getMethodDeclaration()
90111
[1.5][compiler] Compiler warning "tagged with @Override" not correct with static methods
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 1st April 2005
Project org.eclipse.jdt.core v_548 - 3.1 MILESTONE 6
(cvs).
What's new in this drop
-
New Code Formatter built-in profile has been added: "Eclipse [built-in]".
This new profile is based on "Java Conventions" but uses tab character (instead of space) and set tab size to 4 (instead of 8).
JavaCore was using these values by default but they were wrongly showed as "Java Conventions" in Code Formatter
preference page. This problem is now fixed (see bug 89739).
Code formatter behavior is still fully compatible with previous milestones for users who have not modified Code Formatter
options in their workspace. However, users who have explicitely modified them and have troubles with use of tab character,
should open Code Formatter preference page and either select this new "Eclipse" profile or verify state of "Use of tab character"
check-box.
Problem Reports Fixed
89982
[1.5][compiler] Internal failure during missing enum case diagnosis
89848
[search] does not find method references in anonymous class of imported jarred plugin
89778
NPE in bindThrownExceptions
89710
[compiler] local variable range is wrong.
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 31st March 2005
Project org.eclipse.jdt.core v_547
(cvs).
What's new in this drop
Problem Reports Fixed
89739
[prefs] Default for formatter should be Tab characters, not spaces
89448
Java Generics code throws a java.lang.NoClassDefFoundError
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 31st March 2005
Project org.eclipse.jdt.core v_546
(cvs).
What's new in this drop
- In order to fix bugs 49896 and 77809, we added the following
two APIs:
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_USE_TABS_ONLY_FOR_LEADING_INDENTATIONS
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_ALIGNMENT_FOR_ENUM_CONSTANTS
Problem Reports Fixed
89477
[1.5][select] ArrayStoreException in SelectionEngine
73658
[1.5] Not all new 1.5 formatter options seem to work
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 29th March 2005
Project org.eclipse.jdt.core v_545
(cvs).
What's new in this drop
Problem Reports Fixed
81497
[format] Wrong feeding after array-initialization
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 29th March 2005
Project org.eclipse.jdt.core v_544
(cvs).
What's new in this drop
- In order to fix 73104, we have added the following new API:
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_INDENTATION_SIZE
- Added new API
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#MIXED
. This new constant is used for the option:
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_TAB_CHAR
.
- Added new API on
org.eclipse.jdt.core.dom.ITypeBinding#getDeclaringMethod()
. See bug 86580 for details.
Problem Reports Fixed
89312
API: BindingKey should probably be final
89318
[formatter] Option FORMATTER_INSERT_SPACE_AFTER_CLOSING_ANGLE_BRACKET_IN_TYPE_ARGUMENTS has no effect
89302
[formatter] Insert space after comma in enum constants has no effect
73104
[format] indentation amount tied to tab size
84872
Improve string sharing in JavaModelCache
68148
[model] Leaking persisted containers
89110
Redundant information in SourceTypeElementInfo
89092
Redundant information in ImportDeclarationElementInfo
89090
Redundant information in SourceFieldElementInfo
89014
IMethodBinding#isEqualTo(..) returns true for methods in different anonymous classes
86580
API on ITypeBinding for asking about the declaring node of type variable
88575
[1.5] treatment of Object.getClass() not API compliant
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 24th March 2005
Project org.eclipse.jdt.core v_543
(cvs).
What's new in this drop
- Added new kinds for the code formatter:
org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT
org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT
org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC
- Added new options to format comments:
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_CLEAR_BLANK_LINES
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HEADER
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HTML
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_SOURCE
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_ROOT_TAGS
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER
org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_LINE_LENGTH
- Added constant for the javadoc location attribute name:
IClasspathAttribute#JAVADOC_LOCATION_ATTRIBUTE_NAME
.
- Added API to create an array type binding key from a type key and array dimension:
BindingKey#createArrayTypeBindingKey(String typeKey, int arrayDimension)
- Added API to create a binding key from a type name:
BindingKey#createTypeBindingKey(String typeName)
.
- Added API to create a parameterized or raw type binding key from a generic type binding key and argument type binding keys:
BindingKey#createParameterizedTypeBindingKey(String genericTypeKey, String[] argumentTypeKeys)
.
- Added API to create a type variable binding key from a type variable name and a declaring key:
createTypeVariableBindingKey(String typeVariableName, String declaringKey)
- Added API to create a wildcard binding key from a type key and wildcard kind:
BindingKey#createWildcardTypeBindingKey(String typeKey, char kind)
- Added API to query whether a field is an enum constant:
IField#isEnumConstant()
- Added API to code assist for access rule management.
- Added JavaCore#CODEASSIST_FORBIDDEN_REFERENCE_CHECK and JavaCore#CODEASSIST_DISCOURAGED_REFERENCE_CHECK options
- Removed JavaCore#CODEASSIST_RESTRICTIONS_CHECK (Replaced by CODEASSIST_FORBIDDEN_REFERENCE)
- Added CompletionProposal#getAccessibility()
Problem Reports Fixed
89088
[performance] Scanner is sending 2 messages per identifier character
83502
Need API to create binding keys.
88845
NPE in codeComplete for supertype that extends invisible type
70827
[Search] wrong reference match to private method of supertype
88300
[search] Reference search result is changed by placement of private method
87173
Surface compiler information about boxing/unboxing in the DOM AST (implicit conversion)
88841
IAE while opening ASTView
88548
Need to get constant value on expression
88921
[Formatter] Adopt comment formatter from JDT/UI inside JDT/Core API
88849
Infinite loop in scanner when using eof=Integer.MAX_VALUE
88859
Constant for the name of the Javadoc attribute
71460
[model] Non *.java file association with Java contents.
88756
[codeassist] Code assist propose anonymous enum
76863
[1.5][model] IField should offer a method isEnumConstant
88757
[API] SwitchStatement.statements() returns list of SwitchGroups
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 22nd March 2005
Project org.eclipse.jdt.core v_542
(cvs).
What's new in this drop
- The internal build state format has changed and a full build is expected when restarting an existing workspace with this version of JDT Core.
- Added the following APIs to control access rules severity:
org.eclipse.jdt.core.IAccessRule
int K_ACCESSIBLE;
int K_NON_ACCESSIBLE;
int K_DISCOURAGED;
IPath getPattern();
int getKind();
org.eclipse.jdt.core.JavaCore
String COMPILER_PB_DISCOURAGED_REFERENCE;
IAccessRule newAccessRule(IPath pattern, int kind);
IClasspathEntry newContainerEntry(
IPath containerPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported);
IClasspathEntry newLibraryEntry(
IPath path,
IPath sourceAttachmentPath,
IPath sourceAttachmentRootPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported);
IClasspathEntry newProjectEntry(
IPath path,
IAccessRule[] accessRules,
boolean combineAccessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported);
IClasspathEntry newVariableEntry(
IPath variablePath,
IPath variableSourceAttachmentPath,
IPath variableSourceAttachmentRootPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported);
org.eclipse.jdt.core.IClasspathEntry
boolean combineAccessRules();
IAccessRule[] getAccessRules();
- Code select now works into Javadoc comment wherever a reference can be specified
(i.e. @see, @link, @linkplain, @throws, @exception, @param or @value tags)
(see bug 54968).
For example, hit F3 with cursor located in MyClass
, in following Javadoc comment:
/**
* @see MyClass This is my class
*/
will open editor on MyClass.java file.
- New CodeSelect feature: Code select return an element if the selection is an enum constant inside a switch label.
Colors c;
swith(c) {
case BLUE:
case RED; // select RED
}
- Added new kind of type signature:
Signature#WILDCARD_TYPE_SIGNATURE
.
Signature#getTypeSignatureKind(char[])
and Signature#getTypeSignatureKind(String)
now return Signature#WILDCARD_TYPE_SIGNATURE
if the signature is a wildcard : * or +Ljava.lang.Object; or -Ljava.lang.Object;
- Added new completion API to describe context in which the completion occurs.
Currently only the expected types of the potential completion proposals are proposed.
X x = zzz<complete here>
In this example the expected type is X
. It is not mandatory to a proposal
to respect this expectation and it is possible that there is no completion proposal.
public class CompletionContext {
public char[][] getExpectedTypesSignatures() {...}
public char[][] getExpectedTypesKeys() {...}
}
Client must override CompletionRequestor#acceptContext(..)
to know the context.
This method call ocurs after the call to beginReporting()
and before the call to any
accept(CompletionProposal)
method.
public class CompletionRequestor {
...
public void acceptContext(CompletionContext context) {..}
...
}
Problem Reports Fixed
87644
Control access rules severity
88625
[1.5][compiler] Invalid Enum comparing (Build id: I20050219-1500)
87998
[1.5][compiler] Enum constants generate warnings about synthetic constructor access
88562
Internal compiler error when compiling GNU Classpath
88295
[1.5][assist] too many completion on enum case label
88446
[1.5] annotations declared inside generic classes are not visible at runtime
54968
[javadoc][select] ICodeAssist#codeSelect doesn't work for member references in javadoc
85379
[1.5][select][enum] Code resolve on enum in switch
88429
Redundant information in SourceMethodElementInfo
88428
Class file reader's method info still hold on byte array
88223
[1.5][compiler] Local enums are not reported as error
88224
[1.5][DOM] ASTRewriteAnalyzer blows up with local enums
86971
[1.5][codeselect] F3 should perform if selecting '@Deprecated'
85713
Signature.getTypeSignatureKind does not like wildcard types
87762
[model] suspicious huge amount of IPackageFragmentRoot[]
88252
Deleting a MemberValuePair with a NormalAnnotation child does not work
87818
[compiler] local enums are illegal, but does this need to be a syntax error?
69657
[dom] deprecate JLS2 once JLS3 is fully supported
81797
NPE in SortElementBuilder
80036
EmptyStackException in CompilationUnitSorter
88187
Unexpected deprecation warnings during full build
88094
[1.5] compiler accepts two methods with same erasure
86970
[codeassist] Add an API on completion proposal API to surface the expected type
88124
More deprecated warnings than expected
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 15th March 2005
Project org.eclipse.jdt.core v_541
(cvs).
What's new in this drop
- Compiler now recognizes
@Deprecated
annotations, and treats them equivalent
to doc comment /** @deprecated */
.
- Added optional compiler diagnosis to flag deprecated constructs missing a proper
@Deprecated
annotation (to encourage using annotations instead of doc comment tag).
Corresponding problem IDs are: IProblem.FieldMissingDeprecatedAnnotation
,
IProblem.MethodMissingDeprecatedAnnotation
,
IProblem.TypeMissingDeprecatedAnnotation
.
* COMPILER / Reporting Missing @Deprecated Annotation
* When enabled, the compiler will issue an error or a warning whenever encountering a declaration
* carrying a @deprecated doc tag but has no corresponding @Deprecated annotation.
* - option id: "org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
- JLS2 API have been deprecated (see bug 69657).
- Allowed javadoc reference to varargs methods (see bug 87845).
The 1.5 spec for the Javadoc tool does not mention the possibility
of a variable arity indicator in method references. However, the 1.5
Javadoc tool itself does indeed support it. Since it makes sense to have
a way to explicitly refer to variable arity methods, it seems more likely
that the Javadoc spec is wrong in this case.
Following API methods were added to MethodRefParameter
:
/**
* The "varargs" structural property of this node type (added in JLS3 API).
* @since 3.1
*/
public static final SimplePropertyDescriptor VARARGS_PROPERTY;
/**
* Returns whether this method reference parameter is for
* the last parameter of a variable arity method (added in JLS3 API).
*
* Note that the binding for the type Foo
in the vararg method
* reference #fun(Foo...)
is always for the type as
* written; i.e., the type binding for Foo
. However, if you
* navigate from the MethodRef to its method binding to the
* type binding for its last parameter, the type binding for the vararg
* parameter is always an array type (i.e., Foo[]
) reflecting
* the way vararg methods get compiled.
*
*
* @return true
if this is a variable arity parameter,
* and false
otherwise
* @exception UnsupportedOperationException if this operation is used in
* a JLS2 AST
* @since 3.1
*/
public boolean isVarargs();
/**
* Sets whether this method reference parameter is for the last parameter of
* a variable arity method (added in JLS3 API).
*
* @param variableArity true
if this is a variable arity
* parameter, and false
otherwise
* @since 3.1
*/
public void setVarargs(boolean variableArity);
- Added new flags on nature of match to specify that declaring or return type should be ignored during the search
(see bug 80264).
These flags are defined on IJavaSearchConstants
interface:
/**
* Ignore declaring type while searching result.
* Can be used in conjunction with any of the nature of match.
* @since 3.1
*/
int IGNORE_DECLARING_TYPE = 0x10;
/**
* Ignore return type while searching result.
* Can be used in conjunction with any of the nature of match.
* Note that:
* - for fields search, pattern will ignore field type
* - this flag will have no effect for types search
* @since 3.1
*/
int IGNORE_RETURN_TYPE = 0x20;
Note that these flags are active only for search of declarations (i.e. IJavaSearchConstants.DECLARATIONS
and IJavaSearchConstants.ALL_OCCURRENCES
)
and while searching for IJavaElement (see doc of SearchPattern.createPattern(IJavaElement, int)
API method).
- Improved API for type name requestor. Abstract class
TypeNameRequestor
replaces interface ITypeNameRequestor
which is deprecated.
There's now only a single method for type name requestor while accepting a type:
/**
* Accepts a top-level or a member type.
*
* The default implementation of this method does nothing.
* Subclasses should override.
*
* @param modifiers the modifier flags of the type. Note that for source type,
* these flags may slightly differ from thoses get after resolution.
* For example an interface defined by interface A {}
, although obviously public,
* will be returned false by Flags.isPublic(modifiers)
due to the fact
* that its declaration does not explicitely define public
flag.
* @see org.eclipse.jdt.core.Flags
* @param packageName the dot-separated name of the package of the type
* @param simpleTypeName the simple name of the type
* @param enclosingTypeNames if the type is a member type,
* the simple names of the enclosing types from the outer-most to the
* direct parent of the type (for example, if the class is x.y.A$B$C then
* the enclosing types are [A, B]. This is an empty array if the type
* is a top-level type.
* @param path the full path to the resource containing the type. If the resource is a .class file
* or a .java file, this is the full path in the workspace to this resource. If the
* resource is an archive (that is, a .zip or .jar file), the path is composed of 2 paths separated
* by IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR
:
* the first path is the full OS path to the archive (if it is an external archive),
* or the workspace relative IPath
to the archive (if it is an internal archive),
* the second path is the path to the resource inside the archive.
*/
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path)
Clients can now distinguish Annotation, Enum, Interface and Class using Flags
API methods on modifiers
parameter.
- Added support for package-info.java. This allows to define annotations on the package declaration. See bug 86167 for
further details.
- Added API
JavaCore#newProjectEntry(IPath, IPath[], IPath[], boolean, IClasspathAttribute[], boolean)
that take a 'combineAccessRestrictions' flag to control whether access restrictions of exported libraries of the project
should be combined with the access restrictions of this project entry.
- Added API method
AST#newName(String qualifiedName)
for creating
SimpleName
or QualifiedName
nodes depending on the form of the given name string.
Problem Reports Fixed
83643
[1.5] @Deprecated members not 'slashed'
86291
[1.5][compiler] Annotation attribute see members of the annotated type
69657
[dom] deprecate JLS2 once JLS3 is fully supported
77349
[compiler] ClassFormatError when accessing clone() or finalize() methods from an interface
87956
compiling error on jdk1.5 collection generics
87900
Error 'Requesting Java AST from selection': Bug in the Java AST parser
87754
[1.5][javadoc][dom] Type of ArrayType component type inside MethodRef has no binding
87845
[1.5][dom][javadoc] allow javadoc references to vararg methods
87778
[search] doesn't find all declarations of method with covariant return type
80264
[search] Search for method declarations in workspace, disregarding declaring type
85924
[1.5][compiler[ code generation error in M5 w/regard to generics
87849
[AST] SimpleName.setIdentifier() not detecting bogus identifiers
86779
AST#resolveWellKnownType(..) should support primitive type wrappers
85900
[1.5] [compiler] internal compiler reports name clash
87777
Bindings.isEqualTo returns false for equal bindings
86902
[1.5][compiler] Raw field access is not flagged as unsafe type operation
81498
[search] ITypeNameRequestor should support enums and annotations as well
87490
Internal compiler error
85491
[1.5] Compiler rejects autoboxing-calls to overloaded varargs methods as ambiguous
87613
Access restrictions should only apply to project's own package fragment roots
86167
[1.5] Add support for package-info.java
87350
IllegalArgumentException when converting AST with invalid enum body declaration
85262
[1.5] Bound mismatch: type R is not a valid substitute for the bounded parameter...
87498
StackOverflowError when marking occurrences of Comparable in Collections.min(..)
87481
[1.5] type reference in CastExpression is generic type instead of parameterized
87463
The built-in Eclipse compiler behaves differently than IBM or Sun JDK
85226
[1.5] EnumConstantDeclaration should declare resolveConstructorBinding
36938
[plan item][1.5] Add early support for J2SE 1.5 features
87404
[javadoc] Unexpected not defined warning on constructor
85811
BindingKey.toSignature should return method signature for methods
87411
[dom] API: ast.newName(String qualifiedName)
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 8th March 2005
Project org.eclipse.jdt.core v_540
(cvs).
What's new in this drop
Problem Reports Fixed
83693
[search][javadoc] References to methods/constructors: range does not include parameter lists
87273
[1.5][compiler] Code with generics compiles, but throws a NoSuchMethodError when executed
87050
ASTParser#createASTs(..) cannot resolve method type parameter binding from key
83002
[1.5] Compiler generates incorrect signature for throws clause.
87318
[1.5][compiler] Array.asList(int[]) should be accepted
87171
Find declaring node doesn't work for methods/fields using type parameters
86908
Code formatter fails to format when this code is present
86967
[1.5][dom] NPE in BindingKeyResolver for multi-level parameterized type binding
86898
[1.5][compiler] compiler should flag unchecked cast
87267
[1.5][compiler] cast from Integer[] to int[] should fail
82830
AST: String concatenation represented as single node
83393
[1.5][javadoc] reference to vararg method also considers non-array type as correct
83285
[javadoc] Javadoc reference to constructor of secondary type has no binding / not found by search
87042
Passing null as first vararg makes parameter null (3.1M4)
86906
[1.5][dom] SourceType#createField fails for enums
86878
Parameterized varargs causes Java formatter to fail
80221
[dom][javadoc] No Javadoc comment node when return type missing
86901
[1.5][search] Static import method references not found in unused import
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 1st March 2005
Project org.eclipse.jdt.core v_539
(cvs).
What's new in this drop
- Fix for bug 83319 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Added optional compiler diagnosis to flag incomplete enum switch statements.
Corresponding problem ID is:
IProblem.MissingEnumConstantCase
* COMPILER / Reporting Incomplete Enum Switch
* When enabled, the compiler will issue an error or a warning whenever an enum constant has
* no corresponding case label in an enum switch statement
* type has no case label matching an enum constant.
* - option id: "org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
- Added API
org.eclipse.jdt.core.dom.CompilationUnit#getJavaElement()
to retrieve the compilation unit
or class file the compilation unit node was created from.
- Added API
IMethodBinding#isSubsignature(IMethodBinding)
to find out if a method's signature
is a subsignature of another method.
- Added optional compiler diagnosis to flag method overriding a superclass method, but missing
proper
@Override
annotation.
Corresponding problem ID is: IProblem.MissingOverrideAnnotation
* COMPILER / Reporting Missing @Override Annotation
* When enabled, the compiler will issue an error or a warning whenever encountering a method
* declaration which overrides a superclass method but has no @Override annotation.
* - option id: "org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
- New CodeAssist feature: Enum constant are proposed inside switch label if the expression is an enum.
Colors c;
swith(c) {
case BLUE:
case RED<complete here>
}
- New CodeAssist feature: Annotation's attribute name are proposed.
@Annot(attr<complete here>=value)
To propose this new completion kind a new API has been added: CompletionProposal.ANNOTATION_ATTRIBUTE_REF.
/**
* Completion is a reference to annotation's attribute.
* This kind of completion might occur in a context like
* <code>"@Annot(attr^=value)"</code> and complete it to
* <code>"@Annot(attribute^=value)"</code>.
* <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 annotation that declares the attribute that is referenced
* </li>
* <li>{@link #getFlags()} -
* the modifiers flags of the attribute that is referenced
* </li>
* <li>{@link #getName()} -
* the simple name of the attribute that is referenced
* </li>
* <li>{@link #getSignature()} -
* the type signature of the attribute's type (as opposed to the
* signature of the type in which the referenced attribute
* is declared)
* </li>
* </ul>
* </p>
*
* @see #getKind()
*/
public static final int ANNOTATION_ATTRIBUTE_REF = 13;
Problem Reports Fixed
83319
[1.5][search] Search does not find references to statically imported methods
86838
[1.5] [compiler] Eclipse compiles parameterized code that javac says is "is not within its bound"
84121
[1.5][search][varargs] reference to type reported as inaccurate in vararg
83388
[search] SearchRequestor reports 'null' as match
86775
[1.5][compiler] Infer Generic Types Arguments throws NPE
86596
[search] Search for type finds segments in import
79378
[search] IOOBE when inlining a method
68825
[compiler][1.5] detect not-exhaustive enum switches
81377
[1.5][search] Semantics of search for methods with generics
84944
[1.5][builder] Parameterized return type is sometimes not visible.
83770
[1.5] ITypeBinding getQualifiedName doesn't cover the case of parameterized member type
84140
The type binding of a vararg should be an array not a simple type
83100
[5.0] need IVariableBinding.isGeneric/Parametrized, getGeneric..
86663
[DOM] AbortCompilation should not abort the creation of the tree
86463
[1.5][compiler] Compiler-Bug using generics
86611
[1.4] 1.5 power double causes compiler internal failure
86531
Javadoc: class AST has several parameterless methods claiming to throw IllegalArgumentException
86217
NPE resolving bounds of Type Variable
84554
[1.5] code assist in enum switch statements
75702
[dom] Need a way to get back from an AST to the originating ICompilationUnit
86410
formatting generics type parameters
86487
[1.5] infinite loop in enhanced for statement when the current element is optimized out
73676
[dom] Need API on bindings for overriding and assignment rules
72258
[model] Should be able to dynamicaly set the size of Java model cache
84562
[DCR][1.5][options] Optional warning/error to avoid accidental overrides with JDK 5.0
85538
[1.5] compiler does not reject cyclic annotation element types
86141
[recovery] ClassCastException with annotation of parameter
86179
[1.5] Type parameters lost with nested inheritance and generics
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M6 - 22nd February 2005
Project org.eclipse.jdt.core v_538
(cvs).
What's new in this drop
- Inclusion/exclusion filters used as import restrictions have been renamed into 'accessible files' and 'non accessible files' patterns.
The following APIs have been added on
IClasspathEntry
: getAccessibleFiles()
and getNonAccessibleFiles()
.
These are valid only for library, project, container and variable entries. getInclusionPatterns()
and getExclusionPatterns()
temporary return the accessible files and non accessible files patterns for these entries.
- Added ability to associate classpath attributes to a classpath entry (see
IClasspathAttribute
). A classpath attribute
is created using JavaCore#newClasspathAttribute(String, String)
. Then one can associate this attribute with
a classpath entry using one of:
JavaCore#newContainerEntry(IPath containerPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)
JavaCore#newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)
JavaCore#newProjectEntry(IPath path, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)
JavaCore#newSourceEntry(IPath path, IPath[] inclusionPatterns, IPath[] exclusionPatterns, IPath specificOutputLocation, IClasspathAttribute[] extraAttributes)
JavaCore#newVariableEntry(IPath variablePath, IPath variableSourceAttachmentPath, IPath variableSourceAttachmentRootPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)
- Added optional compiler diagnosis when a type parameter declaration is hiding another type.
Corresponding problem ID is:
IProblem.TypeParameterHidingType
* COMPILER / Reporting Type Parameter Declaration Hiding another Type
* When enabled, the compiler will issue an error or a warning whenever a type parameter
* declaration is hiding some type.
* - option id: "org.eclipse.jdt.core.compiler.problem.typeParameterHiding"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
- The predicates
isInterface()
on Java element and DOM AST are now answering true
for annotation types. Indeed, annotation types are allowed to be implemented just like regular interfaces.
- Added optional compiler diagnosis signalling usage of an annotation type as a super interface.
Corresponding problem ID is:
IProblem.AnnotationTypeUsedAsSuperInterface
* COMPILER / Reporting Use of Annotation Type as Super Interface
* When enabled, the compiler will issue an error or a warning whenever an annotation type is used
* as a super-interface. Though legal, this is discouraged.
* - option id: "org.eclipse.jdt.core.compiler.problem.annotationSuperInterface"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Problem Reports Fixed
72704
[compiler][1.5] unexpected IBindings and class files with conflicting method argument types
85397
[1.5][enum] erroneous strictfp keyword on enum type produces error on constructor
83321
[1.5][assist][enum] no override completion proposals in type when followed by a package visible enum
85402
[1.5][assist] NPE while trying to complete on empty annotation
85290
[1.5] Code assist for annotations
85810
[1.5][search] Missed type parameter reference in implements clause
85421
[1.5][search] NPE while searching type parameter reference in workspace
85432
Make jdtcore.jar an executable jar
85933
Type parameters in anonymous type is missing
82429
[1.5] Need emulation of Unicode 4 using 1.4 libraries
85062
[compiler] Implicit static method invocation should target the receiver type not the declaring class
84355
[1.5] Generics bounds overzealous when converting to Object
85477
[1.5] certain unchecked conversion not reported
85303
[1.5] wrong declaring class for invokevirtual call
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 15th February 2005 - 3.1 MILESTONE 5
Project org.eclipse.jdt.core v_537
(cvs).
What's new in this drop
Problem Reports Fixed
85203
VerifyError running o.e.pdu.ui from workspace
85160
[compiler] java.lang.Object.finalize() method cannot be invoked on an array type
85157
[compiler] Integer[] is not compatible with String[] in conditional expression
85215
[DOM][1.5] Annotation type getModifiers() always returns 0
85115
[1.5] AST annotation.isTopLevel() doesn't work
84724
[5.0][search] fails to find call sites for varargs constructors
85125
When bracket is placed after MethodDeclarator, build fails.
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 14th February 2005
Project org.eclipse.jdt.core v_536
(cvs).
What's new in this drop
Problem Reports Fixed
78906
[1.5][compiler] this$0 is not allowed as a field in a member class
79396
[compiler] Static receiver for a static method invocation should be generated to cover side-effects
84801
Bad code generated for Java 5.0
83902
[1.5] AbstractMethodError when using covariant returns
83901
[1.5] AbstractMethodError: Compiler fails to catch missing methods of implemented interface
82461
[5.0] Unconventional formatting of annotations in ASTRewrite
81244
error range for generic vararg argument
84743
[1.5][compiler] Cast between two interfaces doesn't need to check compatibility of method return types
84869
Missing constant for "org.eclipse.jdt.core.compiler.problem.autoboxing"
84770
Formatter fails in specific case (.class in code)
84778
NaiveASTFlattener should add spaces around extendedOperands in InfixExpression
84791
[1.5][compiler] eclipse doesn't allow types to be derived from annotation types
83600
[code assist] METHOD_REF proposals have non-standard signatures
80630
[1.5] Conditional expression unboxing should handle this case
84717
Typo in javadoc of Signature.C_GENERIC_END
84528
Not visiting line comments in compilation unit?
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 8th February 2005
Project org.eclipse.jdt.core v_535
(cvs).
What's new in this drop
- Tuned generic method type argument inference (JLS 15.12.2.7&8).
- Optional diagnosis for assignment with no effect now also detects: "var = var++;" scenario.
- Added APIs
IType#getKey()
, IField#getKey()
, IMethod#getKey()
that return a binding key for these Java elements.
- Added APIs
IType#isResolved()
, IField#isResolved()
,
IMethod#isResolved()
that return whether these Java elements are resolved elements
and thus whether their key (see above) contains resolved information.
- Added API class
org.eclipse.jdt.core.BindingKey
to decode a binding key
obtained from IBinding#getKey()
or one of the getKey()
methods above.
Problem Reports Fixed
84717
Typo in javadoc of Signature.C_GENERIC_START
84669
[5.0] VerifyError: Expecting to find object/array on stack
84593
[1.5][compiler] NPE during problem detection with raw reference to parameterized inner class
84558
Strange error message when using keywords "const" and "goto" as variable names
83648
[1.5] Enum constructor cannot be public or protected
83379
[1.5] compiler does not warn when overriding methods with parameters as array and vararg
84345
[1.5][compiler] Widening reference is possible when boxing in a cast expression
83615
[1.5][compiler] lenient subclass checking with interdependent type variables
84480
Warning for "no effect assignment" j = j++
83500
Can't restore a secondary top level from key
84416
Stepping into message send without receiver should highlight message before sending message
76773
Stepping through conditional looks like it evaluates both halves
84504
[Format] Extra empty line before class in default package when imports are specified
83383
IllegalArgumentException in Signature.getParameterCount
83218
[1.5] Covariant return type & generics
83499
NPE when restoring ITypeBinding from key
83611
compiler reports error but there is no error
84055
[1.5] Unnecessary cast wrongly reported with boxing
83965
[1.5][compiler] Widening conversion is possible when unboxing in a cast expression
81544
[dom] java.util.List<URL> sometimes has a binding, sometimes not
82647
[compiler][1.5] Erroneous error with autoboxing and conditional operand
79696
[dom] Wrong type binding in qualified name
84215
ArrayIndexOutOfBoundsException, internal compiler error
84181
[1.5] ITypeBinding.isFromSource incorrect on raw bindings
83376
[1.5] compiler should error on ambiguous method invocation due to duplicate static imports
78934
[1.5][dom] ParameterizedType for nested generic types has missing bindings
83162
Eclipse reports no name clash with equivalent bridge methods
81332
[1.5][compiler] Is this a name clash?
80626
[1.5] enum types cannot define a compareTo(Object o) method
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 1st February 2005
Project org.eclipse.jdt.core v_534
(cvs).
What's new in this drop
- Add CompletionProposal#getDeclaringKey() and CompletionProposal#getKey() API
Problem Reports Fixed
84064
AST: Wrong source ranges for superconstructorinv with type args
83939
[1.5][compiler] null is allowed as a legal element value in annotations
83817
IBinding#isEqualTo(..) returns true for methods of different parameterized types
82349
[compiler][1.5] Problems deriving from generic class that uses inner classes
83904
[compiler][1.5] Y<T> should be uniquely defined in the same signature
83646
NPE renaming package
83398
[compiler][1.5] compiler allows adding Object to List super Number>
83219
NPE in ProblemReporter with duplicate abstract enum methods
83860
[1.5] java.lang.VerifyError with Enums
83847
[compiler][1.5] can create annonymous class of an enum
83236
ClassCastException using code assist in a javadoc comment
83822
Classes at root of project not found in Open Type dialog
83593
Rename of enum type does not update constructor / throws ClassCastException
83225
[1.5] incorrect(?) compiler errors with type inference
83127
[1.5][javadoc][dom] Wrong / strange bindings for references in javadoc to methods with type variables as parameter types
80257
[1.5][javadoc][dom] Type references in javadocs should have generic binding, not raw
83713
[search] IAE while searching reference to parameterized type
83684
[formatting] Formatting codes like A extends B.C<Object> has no effect.
83599
CU dirty after move refactoring
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 25th January 2005
Project org.eclipse.jdt.core v_533
(cvs).
What's new in this drop
- Search engine is now able to find references and declarations to ITypeParameter.
To perform this kind of search, clients need to create a pattern using SearchPattern.createPattern(IJavaElement,int,int)
providing searched ITypeParameter for IJavaElement parameter.
TypeParameter#resolveBinding()
now returns an ITypeBinding
instead of
an IBinding
- Java model operations have been ported off the deprecated JDOM. They now use AST rewrite. This enables
these operations on local and anonymous types, enumerations and annotation types.
Problem Reports Fixed
83489
[select] Code select returns IType instead of ITypeParameter on method parameters types
83536
"Incompatible argument to function" at vararg function
83300
[1.5] ClassCastException in #getJavaElement() on binding of annotation element
81190
[1.5][search] no search for type parameters - SearchPattern is null
82671
[compiler][1.5]Protected field not visible to subclass in different package when having a class parameter
83210
Unidentical ITypeBindings for same type from same AST from reconcile
80800
getErasure() of ITypeBinding and IMethodBinding don't match the JLS
83304
[1.5][search] Erasure match doesn't work for binary parameterized types
83078
Auto formating multiple classes has errors
25800
Class file editor uses non-standard modifier order
82859
[1.5] void.class is incompatible with Void.TYPE
83297
[1.5] Annotation bindings don't provide their declared elements/methods
43483
[model] Can not add method to local type
77894
[model] Remove dependency to old JDOM in JavaModel implementation
83161
Can't access public field from private subclass
78151
'Insert single proposals automatically' should not insert without prefix
83096
[1.5][compiler] NPE for class with duplicate type parameter
82547
[1.5][compiler] NullPointerException compiling invalid source
83098
IBinding#isEqualTo(..) does not compare occurrence count of local variables
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 18th January 2005
Project org.eclipse.jdt.core v_532
(cvs).
What's new in this drop
- Support for generic methods/constructors search has been added to SearchEngine (see bug 75642).
User can now search for declaration and/or references to generic methods/constructors or parameterized methods/constructors (like public <U> void foo(U u){}
or <String>foo("")
for example).
This search can be done either selecting a JavaElement or using Java Search dialog.
- Added new API
JavaConventions#validateTypeVariableName(String)
.
- Added new API
JavaCore#newTypeHierarchy(IRegion,WorkingCopyOwner,IProgressMonitor)
that creates a hierarchy
independently of a project.
Problem Reports Fixed
83032
VerifyError for anonymous declaration using variable arguments
75642
[1.5][search] Methods and constructor search does not work with generics
83013
[5.0] TypeDeclaration after AnnotationTypeDeclaration has wrong source range
82985
Static imports can't resolve bindings
83011
[5.0] TypeName of an Annotation has no binding
79144
[1.5][compiler] generic type checking not performed for method return array types
82844
[1.5] Array type as type variable bound gives internal compiler error
81590
[1.5][compiler] Iteration over nested arrays is broken
82439
[compiler] [1.5] internal compiler reports type mismatch
80945
[1.5] Code assist does not offer static fields and methods from static imports
82590
[compiler] [1.5] internal compiler reports method not implemented
81721
[compiler][1.5] Correct use of generic interfaces give compiler error
82754
[1.5] too many methods allowed by static import
80745
[1.5][compiler] Two interfaces with methods with compatible return types are compatible
80736
[1.5] Compiler doesn't check that bounds have methods with same return type
73535
[1.5][model] Method to validate type parameter names missing in JavaConventions
82740
[assist] NPE inside CompletionEngine with 1.5 code if compliance source level is 1.4
80098
newTypeHierarchy(IRegion,...) should not be constrained to an IJavaProject
82510
[compiler] Util.bind(...) methods should use MessageFormat
81706
[1.5] Static import of static method produces compile error
82670
[5.0] wrong source range for VariableDeclarationFragment with ArrayCreation
80743
[compiler] Interface cannot define a method from Object with a different return type
82616
CharacterLiteral.charValue fails for '\000'
77283
Incremental and full builds produce different problem markers for same duplicate type error
74394
[compiler] Provide XML output option for Eclipse compiler
81719
[compiler][1.5] Correct use of generic abstract classes give compiler error
81945
[compiler] Enum and Duplicate case error
82542
Internal error during AST creation
82558
[select] Text selection fail on constructor when parameters are parameterized types
78232
[1.5][generics]Erroneous warning implementing generic method from interface
82504
[compiler][1.5] ClassCastException when parsing a CastExpression between an array type and a type variable
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 11th January 2005
Project org.eclipse.jdt.core v_531
(cvs).
What's new in this drop
- Added API
ASTParser#createBindings(IJavaElement[],IProgressMonitor)
to create the DOM bindings for the given
Java elements.
- Fix for bug 82004 required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Merged problem
IProblem.UnnecessaryArgumentCast
with IProblem.UnnecessaryCast
since it provided little additional value,
and was rather perceived as confusing. From now on, only IProblem.UnnecessaryCast
is reported.
Problem Reports Fixed
82514
[1.5][javadoc] Problem with generics in javadoc
82382
IMethodBinding#getJavaElement() for method m(T t) in parameterized type Gen<T> is null
81923
In certain cases generics seens to be applied before autoboxing
82250
[5.0] don't allow duplicate interface bounds
82432
[1.5] VerifyError with Autoboxing
82187
[compiler] [1.5] internal compiler reports bound mismatch
82159
[compiler][1.5] Eclipse vs. javac: Differences when creating generic inner types
81535
[compiler] compliance 1.5 should work with source 1.4 on 1.5 libraries
82137
[select] Code resolve doesn't work on static imports [5.0]
82102
Should not compile related methods with different signatures but same erasures
76761
[model] ImportContainer.hasChildren() should not return true
79334
[classpath] Build path info not updated properly
82217
[compiler][5.0] switch on enum allows non enum constants
73081
Inconsistant type cast warning.
81856
quote problems in property files (JDT)
68823
[dom] Ctrl+C command fails when "assert" is enabled
81824
A generic interface is allowed to be implemented more than once - contrary to Java language specification
81571
Autoboxing ambiguousy
81568
[1.5][compiler] Covariant return types fails when an interface extends another interface
82216
IVariableBinding: Need to know if it is enum constant or normal var
78520
[model] IType#getSuperInterfaceTypeSignatures() doesn't include type arguments
82253
[5.0] Signature#getSimpleName(String) inserts superfluous whitespace characters
78698
[format] Space before ? should default to false
81063
[model] Clarify the problem requestor paramter in becomeWorkingCopy
82004
[model][5.0] 3.1M4 type hierarchy for generic interface
82141
AST: Missing Bindings on annotations
82140
AST: Annotation node not in AST
82136
Interface with own Annotations not accessible when used as a library
81727
[1.5] Redundant warning of parameterized return type
81762
[model] AIOOB in breakpoints view
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M5 - 4th January 2005
Project org.eclipse.jdt.core v_530
(cvs).
What's new in this drop
- Added optional compiler diagnosis reporting when boxing/unboxing conversion is performed. Corresponding problem IDs are:
IProblem.BoxingConversion
and IProblem.UnboxingConversion
.
* COMPILER / Reporting Boxing/Unboxing Conversion
* When enabled, the compiler will issue an error or a warning whenever a boxing or an unboxing
* conversion is performed.
* - option id: "org.eclipse.jdt.core.compiler.problem.autoboxing"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
- Renamed unsafe type operation optional problem into unchecked type operation, to better match notion of
"unchecked" warning from JLS 3rd edition.
* COMPILER / Reporting Unchecked Type Operation
* When enabled, the compiler will issue an error or a warning whenever an operation involves generic types, and potentially
* invalidates type safety since involving raw types (e.g. invoking #foo(X<String>) with arguments (X)).
* - option id: "org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Problem Reports Fixed
81556
[search] correct results are missing in java search
81825
[1.5][compiler] Internal compiler error
71195
[model] NullPointerException @ org.eclipse.jdt.internal.core.Buffer.removeBufferChangedListener
79883
[prefs] -pluginCustomization doesn't pick up compiler preferences
81718
[1.5] "Static import never used" warning disappears when variable of same name is declared
81971
[1.5][compiler] compiler allows use of void type as method arguments
82053
generic semantics have some problems
82088
[search][javadoc] Method parameter types references not found in @see/@link tags
79766
[model] NPE in CancelableNameEnvironment
81417
[dom] getJavaElement() throws a NPE for WildcardBinding
81724
[1.5] NullPointerException in FieldBinding.canBeSeenBy when using static import
80223
[search] Declaration search doesn't consider visibility to determine overriding methods
81084
[1.5][search]Rename field fails on field based on parameterized type with member type parameter
80890
[search] Strange search engine behaviour
81376
[search] Clarify effects of R_ERASURE_MATCH for searches other than TYPE
81618
[1.5][compiler] unsafe type operation warning
78122
[compiler] Detect and visually indicate auto-boxing in Jdk1.5 code
78592
[1.5][compiler] missing unchecked cast warning
78591
[1.5][compiler] missing unchecked cast warning
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 16th December 2004 - 3.1 MILESTONE 4
Project org.eclipse.jdt.core v_529
(cvs).
What's new in this drop
Problem Reports Fixed
81258
IMethodBinding#getJavaElement() is null with inferred method parameterization
80765
[1.5][generics] Invalid class files generated, compiler strange behaviour
81317
ClasspathTests.java and GenericTypeTest.java could not be read (illegal characters)
81262
[Java 5] Verification error when creating anonymous enum subtypes
80964
[1.5] Annotations with RetentionPolicy.RUNTIME are lost after a rebuild
80028
Ambiguous method error where javac succeeds
80739
[1.5] Two methods ends up with the same signatures
81134
[dom] [5.0] NPE when creating AST
81023
[1.5] Wrong position for class instance creation with type parameters
81141
CCE in ProblemBinding when using annotations
80544
[1.5][annot]error on @Override of abstract methods
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 14th December 2004
Project org.eclipse.jdt.core v_528
(cvs).
What's new in this drop
Problem Reports Fixed
80957
NPE using code assist for unresolved type
80960
[dom] NPE in ASTConverter#convert(...)
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 14th December 2004
Project org.eclipse.jdt.core v_527
(cvs).
What's new in this drop
Problem Reports Fixed
80918
[1.5][search] ClassCastException when searching for references to binary type
80914
[1.5][search] SearchPattern R_EQUIVALENT_MATCH matchRule does not work properly
80910
[javadoc] Invalid missing reference warning on @see or @link tags
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 13th December 2004
Project org.eclipse.jdt.core v_526
(cvs).
What's new in this drop
-
Initial support for search on annotations has been implemented. Declarations or references to annotation types are now found by search engine.
However, it is not currently able to find annotation member (fields or methods). This should be done for next milestone.
-
SearchPattern now accept two new flags for match rule: R_ERASURE_MATCH and R_EQUIVALENT_MATCH (see bug 79790).
/**
* Match rule: The search pattern matches search results as raw types or parameterized types with same erasure.
* Example:
* - pattern: List<Exception>
* - match: List<Object>
* Can be combined to all other match rules, e.g. {@link #R_CASE_SENSITIVE} | {@link #R_ERASURE_MATCH}
* This rule is not activated by default, so raw types or parameterized types with same erasure will not be found
* for pattern List<String>,
* Note that with this pattern, the match selection will be only on the erasure even for parameterized types.
* @since 3.1
*/
public static final int R_ERASURE_MATCH = 16;
/**
* Match rule: The search pattern matches search results as raw types or parameterized types with equivalent type parameters.
* Example:
* - pattern: List<Exception>
* - match:
* + List<? extends Throwable>
* + List<? super RuntimeException>
* + List<?>
* Can be combined to all other match rules, e.g. {@link #R_CASE_SENSITIVE} | {@link #R_EQUIVALENT_MATCH}
* This rule is not activated by default, so raw types or equivalent parameterized types will not be found
* for pattern List<String>,
* This mode is overridden by {@link #R_ERASURE_MATCH} as erasure matches obviously include equivalent ones.
* That means that pattern with rule set to {@link #R_EQUIVALENT_MATCH} | {@link #R_ERASURE_MATCH}
* will return same results than rule only set with {@link #R_ERASURE_MATCH}.
* @since 3.1
*/
public static final int R_EQUIVALENT_MATCH = 32;
Added new API method to make this flag settable even while creating pattern using a IJavaElement:
SearchPattern#createPattern(IJavaElement element, int limitTo, int matchRule)
-
SearchMatch now has a rule field which shows the rule used while reporting the match (initial implementation for bug 79866).
Added new API methods to access this field:
SearchMatch#getRule()
SearchMatch#setRule(int)
- Added API IType#getFullyQualifiedParameterizedName() that shows the type parameter/arguments if the type is generic/parameterized.
- Added support in Java model for annotation types and annotations.
- Support for indexing annotation types required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Added compiler support for autoboxing
- Code Assist now works for annotations. When performing a completion inside an annotation name,
proposals are possibles types and annotations types are more relevant than other types
- Code Select now works for annotations and annotation methods in correct code.
- Recovery now works for annotation type declaration and annotation method declaration
Problem Reports Fixed
80338
getReturnType() throws a NullArgumentException
80788
Interface and annotation member types are implicitiely static
80780
IncompatibleClassChangeError for Annotations
80714
Strange syntax diagnosis with incorrect annotations
80699
Code Select does not work for annotations inside class file
79790
[1.5][search] Need to distinguish between raw and restricted search in the case of instantiated types
80672
[1.5] Annotation change does not trigger recompilation
80466
ITypeBinding#getJavaElement() is null for declaration of java.util.List<E>
80083
VerifyError on String-Operator += when using generics
77430
[1.5] case statements with enum values not correctly supported
80597
[compiler] NPE while reporting array empty dimensions problem
80126
[assist] CompletionRequestor.setIgnored should allow POTENTIAL_METHOD_DECLARATION
80602
Javadoc of ASTNode#getStartPosition() contains dangling reference to ASTParser
80455
[5.0] ITypeBinding.canAssign not aware of type boxing
80579
NPE is ITypeBinding.isCastCompatible
80328
[annotation] annotation problem type should implements java,lang.annotation.Annotation
79953
AST Creation Error while editing Java file
78849
[1.5][compiler] Java 1.5 Boxing and Character?
79641
boolean autoboxing does not work with Object varargs
80384
Cannot decode package signature from CompletionProposal
79254
autoboxing does not work in combination with downcasting
80045
NPE in MethodBinding.signature
80378
Javadoc of CompletionProposal#getFlags() needs polish
80208
[1.5][compiler] NPE trying to resolve single static import
79803
[1.5][search] Search for references to type A reports match for type variable A
79860
[1.5][search] Search doesn't find type reference in type parameter bound
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 7th December 2004
Project org.eclipse.jdt.core v_525
(cvs).
What's new in this drop
- Compiler now checks annotation location according to @Target meta-annotation
- Compiler now checks method overriding according to @Override annotation
Problem Reports Fixed
79891
[GENERICS] Array of Inner Class creation works on eclipse, but fails to compile with sun jdk
79809
[1.5][dom][javadoc] Need better support for type parameter Javadoc tags
79904
[1.5][dom][javadoc] TagElement range not complete for type parameter tags
80144
[1.5] Mutually-recursive type bounds interfere with inheritance of generic type
76751
[1.5][annot] Can't use annotation classes as argument to generic methods
80014
@Retention(RetentionPolicy.RUNTIME) is ignored for annotations
80114
[1.5][Regression] Annotation type cannot have constructors
80021
[1.5] CCE in VariableBinding.getJavaElement()
80041
IVariableBinding#isEqualTo(..) doesn't tell parameters from different methods apart
77463
[1.5][annot] Wrong error marker text for type annotation
79967
NPE in WildcardBinding.signature with Mark Occurrences in Collections.class
79974
[1.5] Wrong javadoc for TypeDeclarationStatement
79795
Code formatter doesn't handle enums well.
79673
[1.5] Wrong method binding
79797
[1.5] Inconsistent classfile - moving code around
79847
[1.5][annot] Array type cannot have two or more dimensions
79844
[1.5][annot] when int value can be contained in a short, the cast is not required
79848
[1.5][annot] Array of java.lang.Class is a legal value for the type of an annotation type member declaration
79779
Code Formatter fails with static imports
79668
[1.5][annot] implicit wrapping in array type
78915
[1.5][compiler] enum cannot be explicitly abstract
78916
[1.5][compiler] abstract methods in an enum declaration must be implemented for each constant
79690
Find declaring node doesn't work for type variables
79775
[dom]ClassCastException inside ASTConverter when opening a java file
79752
Need access to type binding of anonymous enumerations
79772
Internal compiler error with I20041123/24/30
79136
API clarification for *Binding#getErasure(): why not a "general back-link"?
76318
[tests] Cannot run ASTModelBridgeTests if workspace path segment count is 1
78914
[1.5][compiler] super() cannot be called in the constructor of an enum declaration
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 30th November 2004
Project org.eclipse.jdt.core v_524
(cvs).
What's new in this drop
- Support for generic types search has been added to SearchEngine (see bug 75641).
User can now search for declaration and/or references to generic types or parameterized types (like public class List<T> {}
or List<String>
for example).
This search can of course be done either selecting a JavaElement (see following point) or using Java Search dialog.
- Support for generic types and generic methods selection has been added inside CodeSelect.
When the result is a parameterized type reference, the returned JavaElement is a
ParameterizedSourceType
or ParameterizedBinaryType
.
When the result is a parameterized method invocation, the returned JavaElement is a
ParameterizedSourceMethod
or ParameterizedBinaryMethod
.
When the result is a field access to a generic type's field, the returned JavaElement is a
ParameterizedSourceField
or ParameterizedBinaryField
.
- The internal Java model cache now adapts to the number of elements in the workspace. For example if a project
has 1000 package fragment roots, the space limit of the cache of roots will increase to 1000. This size is reset to
its default when the project is closed.
- Added the following compatibility rules APIs:
ITypeBinding#isAssignmentCompatible(ITypeBinding)
ITypeBinding#isCastCompatible(ITypeBinding)
ITypeBinding#isSubTypeCompatible(ITypeBinding)
IMethodBinding#overrides(IMethodBinding)
Problem Reports Fixed
79349
[1.5] Annotation with default value
79756
Erroneous compile error "The local variable may not have been initialized"
79635
NPE when asking an IMethodBinding whether it overrides itself
79667
[1.5][annot] value in member pair value must be a constant expression
79666
[1.5][annot] Default value of annotation type member declaration must be assignment compatible with return type
79663
[1.5][annot] Modifiers for field declaration must be public in an annotation type declaration
79665
[1.5][annot] Field declarations inside annotation type declaration must be constant
79512
[1.5] Extract Method must not generate return type with type variable [refactoring][1.5]
79609
ITypeBinding#isEqualTo(..) thinks independent method type parameters are equal
79610
IVariableBinding#getJavaElement() returns null for local variables
75641
[1.5][search] Types search does not work with generics
79612
ClassCastException on referenceTypeBinding.isEqualTo(primitiveTypeBinding)
79545
Eclipse vs Sun JDK: different class files from the same source code
78293
[1.5][compiler] Should flag implementing twice generic interface with different arguments
79544
ITypeBinding#isEqualTo(..) does not compare type arguments
79570
[1.5][DOM] v4 type binding should not be parameterized
78087
[dom] TypeBinding#getJavaElement() throws IllegalArgumentException for parameterized or raw reference to binary type
78183
TypeBinding#getQualifiedName() does not honor Javadocs
79109
[1.5][DOM] AnnotationTypeMemberDeclaration.resolveBinding() might return a IMethodBinding
79395
IllegalArgumentException in CompilationUnitResolver.parse (line 323)
77283
Incremental and full builds produce different problem markers for same duplicate type error
79263
ClassCastException in SourceElementParser
79460
IMethodBinding of non-generic method says isRawMethod()==true
79390
[1.5][compiler] ClassCastException creating a generic local class
77806
[1.5][dom] SimpleType AST node of List in List<String> has no type binding
79362
IllegalArgumentException during "Java AST creation"
75785
Missing binding on non-visible type
79163
[compiler] Dependency on indirectly referenced types not correctly computed
77272
[builder] Delta compilation fails to notice errors when removing an interface
79271
ITypeBinding#isEqualTo(..) returns true when comparing ArrayList<Integer> to its erasure
77388
[compiler] Reference to constructor includes space after closing parenthesis
78931
[select] cannot select qualified type name without the qualified package name
79267
[search] Refactoring of static generic member fails partially
72258
[model] Should be able to dynamicaly set the size of Java model cache
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 23rd November 2004
Project org.eclipse.jdt.core v_523
(cvs).
What's new in this drop
- Compiler is now able to parse 1.5 syntax in Javadoc comments (see bugs 70891
and 70892).
Note: these changes only apply to @param and
{@value} tags.
- Batch AST creation API was finalized. See
ASTParser#createASTs(ICompilationUnit[],String[],ASTRequestor,IProgressMonitor)
and ASTRequestor
.
Problem Reports Fixed
79110
[1.5] Missing attribute for local and anonymous classes
78057
[dom] Can IBinding#getKey() return null?
78757
MethodBinding.getJavaElement() returns null
78930
ITypeBinding#getJavaElement() throws NPE for type variable
73675
[dom] Need AST creation pipeline
73971
[1.5] Ambiguous method error with overloaded parameterized methods
78581
[search] NPE while searching
79108
[1.5][DOM] enumConstantDeclaration.resolveBinding() always returns null
77645
[1.5][dom] navigate from local var binding to declaring method binding
79098
[dom] [1.5] EnhancedForStatement#resolveBinding() is superfluous
77562
[1.5] overriding methods with more specific generic return types causes compile errors
79091
[compiler] Should report invalid type only on the name
77093
[search] No references found to method with member type argument
77184
[1.5][select] Code select does not select enum declarations
78801
[assist] NPE attempting to code assist for parameters
78128
Error deleting project with jar file referenced by other project
78275
[recovery] NPE in GoToNextPreviousMemberAction with syntax error
70891
[1.5][javadoc] Compiler should accept new 1.5 syntax for @param
78858
[1.5] Internal compiler error: java.lang.NullPointerException at ParameterizedTypeBinding.getMethods
78905
[1.5][compiler] Wrong hex decimal floating point literal is not rejected
77630
[compiler] no error when importing package inside static import
78075
normal and static import of the same class doesn't work correctly
78056
[1.5] static import of a static member of a non static member type must be allowed
77955
[1.5] member classes of super class are not allowed inside static import
78082
[1.5][search] FieldReferenceMatch in static import should not include qualifier
78714
"Convert local to field" should know about prefixes
75814
Inconsistent results when adding a breakpoint to class file with src attached
78190
[dom] Add ast creation performance tests
78189
[model] Add hierarchy performance tests
78188
[search] Add search performance test
78740
IDOMType.getFlags() fails to represent interface flags correctly.
78735
IBinding#isEqualTo(..) fails with a field that hides another
78232
[1.5][generics]Erroneous warning implementing generic method from interface
78140
[1.5][compiler] Unchecked conversion warning when overriding a generic method
77861
[1.5] Illegal class file generated with duplicate methods
77785
[1.5][compiler] Generics: missing name clash error
77496
[1.5] compiler doesn't detect illegal method overriding due to non-matching return type parameters
74936
[1.5] Compiler does not warn for missing implementation of Map.putAll abstract method
74594
[1.5] ClassFormat error when running this example
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 16th November 2004
Project org.eclipse.jdt.core v_522
(cvs).
What's new in this drop
- In 1.5 compliant mode, T[].clone() invocations are considered to be of type T[], as opposed to Object
previously.
- New ComletionProposal kind
METHOD_NAME_REFERENCE
.
This completion is a reference to a method name.
This kind of completion might occur in a context like
"import java.lang.Math.co^"
and complete it to
"import java.lang.Math.cos;"
.
Problem Reports Fixed
77808
[1.5][dom] type bindings for raw List and List<E> have same key
78704
[1.5][compiler]Internal compiler error in org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
78663
[1.5][compiler] Generics, assign error with equal types
78649
[1.5] ITypeBinding.isUpperBound wrong
77398
[1.5] Organize imports does not honor enum types [code manipulation]
78464
[1.5][compiler] bad args_size attribute value for Enum constructor
78104
[1.5][compiler] java.lang.Object.clone() implicitely needs an implicit cast to receiver type
78321
Problem with Enum.values in static initializer.
78310
[dom] [1.5] improve tests for IBindings
78015
[1.5][compiler] AbstractMethodError
78266
[dom] [1.5] API of ITypeBinding: no isGenericType() query
64310
[1.5][model] Signature implementation does not fully support generic parameterized type names
77968
[compiler] ArrayIndexOutOfBoundsException from parser when using Java editor
77573
[1.5][assist] Code assist does not propose static fields
78008
[1.5][compiler] java.lang.VerifyError on shortcut if-else
78018
[1.5][javadoc] Missing Javadoc comments Problem for enums
73784
[search] java search internal error
77644
[dom] AST node extended positions may be wrong while moving
78160
Invalid classfile for problem type
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M4 - 9th November 2004
Project org.eclipse.jdt.core v_521
(cvs).
What's new in this drop
ICompletionRequestor
was deprecated. Use CompletionRequestor
instead.
Problem Reports Fixed
77359
[1.5][dom] Pull up of type declaration facilities
76132
[1.5][wildcards] Bound mismatch incorrectly diagnosed with type variable quantification
78139
[1.5][compiler] spurious type mismatch problems with generics.
77602
[javadoc] "Only consider members as visible as" is does not work for syntax error
77510
[javadoc] compiler wrongly report deprecation when option "process javadoc comments" is not set
78027
[1.5] Generics, bound mismatch
78089
[1.5] [compiler] Annotations are not accepted inside interfaces
74119
[1.5] Unexpected compile error with bound types with Eclipse 3.1M1.
78049
[1.5][compiler] Missed error for generic array creation.
73970
[1.5][dom] overloaded parameterized methods have same method binding key
77422
[1.5][compiler] ArrayIndexOutOfBoundsException with vararg constructor of generic superclass
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 4th November 2004 - 3.1 MILESTONE 3
Project org.eclipse.jdt.core v_520
(cvs).
What's new in this drop
Problem Reports Fixed
77244
[1.5][enum] final enum class crashes the compiler
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 4th November 2004
Project org.eclipse.jdt.core v_519
(cvs).
What's new in this drop
Problem Reports Fixed
76780
[model] return type not recognized correctly on some generic methods
77772
[1.5] some enums failing to parse; internal error dialog pops up while typin
77538
[dom] AST rewrite fails to generate the modified code
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 2nd November 2004
Project org.eclipse.jdt.core v_518
(cvs).
What's new in this drop
- Added API that allows to batch the creation of DOM ASTs:
ASTParser#createASTs(ICompilationUnit[] compilationUnits, String[] bindingKeys, ASTRequestor requestor, IProgressMonitor monitor)
.
Note this API is still under development and subject to change without notice.
Problem Reports Fixed
70056
[1.5] Please support varargs
77327
[1.5] Contravariance of generic Type raises Error
71612
[1.5] ClassFormatError when running simple example
76434
[1.5] Generics, assign error despite equal types
76720
[1.5] Implementing generic bounded subinterface causes Bound mismatch error
76219
[1.5][wildcards] Not-necessarily-unbounded wildcards in method formal parameter types
76601
[1.5] parameterized types: eclipse incorrectly reports errors
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 2nd November 2004
Project org.eclipse.jdt.core v_517
(cvs).
What's new in this drop
- Search engine is now able to find declarations and references to varargs methods. This required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Default severity for access restriction violations got raised to "warning".
* COMPILER / Reporting Forbidden Reference to Type with Restricted Access
* When enabled, the compiler will issue an error or a warning when referring to a type with restricted access, as defined according
* to the access restriction specifications.
* - option id: "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Problem Reports Fixed
77273
[model] ArrayIndexOutOfBoundsException when creating type hierarchy with duplicate types
76359
[1.5] Unsafe operation not reported while using member type
77235
ArrayIndexOutOfBounds in Parser in reconciler
68710
Open Declaration opens wrong target
77249
Annotation on class cancels "public" modifier
77212
[1.5][enum] declared enum type .valueOf(String) throws ArrayIndexOutOfBoundsException
75400
[1.5] Wrong type mismatch error reported
75156
[1.5] wrong diagnosis for method override
70695
[1.5] warning for easily detectible incorrect bounds
72643
[1.5] parser doesn't recognize when generic methods aren't used
77051
[1.5] Type mismatch involving super
77175
[1.5] DefaultBindingResolver#resolveType(EnumDeclaration) always returns null
75328
[1.5][wildcards] Bound Mismatch for ? type
72886
[search] references to endVisit(MethodInvocation) reports refs to endVisit(SuperMethodInvocation)
75329
[classpath] Restrict visibility of Java Project content
74285
Code assist doesn't suggest parameter names for methods of generic types
74588
[1.5] missing enclosing instance is wrongly reported when accessing an enclosing instance variable.
76313
[1.5] Error while using parametrized static factory
77151
[1.5] Enum constant cannot be qualified when used as a case label
77118
[1.5] Covariance: cannot override method returning Object with method returning an interface
77052
[1.5] Type mismatch on embedded type parameters
76620
Selection bug (Open Declaration)
76874
[1.5] Out of memory reconciling some invalid enum source
76682
Certain code prevents saving and copy operations
74669
[1.5] NullPointerException during save and compile
74032
[1.5] Generics: bad method referenced when a type variable extends two types
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 26th October 2004
Project org.eclipse.jdt.core v_516
(cvs).
What's new in this drop
- Support for search on enum has been implemented. Declarations or references to enum type, fields, constructors and methods are correctly found by search engine.
- Support to compute type hierarchies on enum required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
- Added support inside CompletionEngine to not propose completion when an access restriction is violated.
Currently access restrictions are applied only to top level types.
- Added code assist option to not propose completion when an access restriction is violated.
* CODEASSIST / Activate Access Restrictions Sensitive Completion
* When active, completion doesn't show that is access restricted.
* - option id: "org.eclipse.jdt.core.codeComplete.restrictionsCheck"
* - possible values: { "enabled", "disabled" }
* - default: "disabled"
- Added first-cut of enumeration support into compiler. Requires some more work to properly
diagnose error situations, and be leveraged in various JDT/Core functionalities.
- Improved problem descriptions to show ellipsis in varargs method signatures
- Added
org.eclipse.jdt.core.util.ClassFileBytesDisassembler#SYSTEM
field to support an extra-detailed output from the
disassembler. It can show constant pool contents.
- In order to fix bug 76440, two APIs on
org.eclipse.jdt.core.Signature
have been added to handle var args in the signature decoding.
Signature#toCharArray(char[],char[],char[][],boolean,boolean,boolean)
Signature#toString(String,String,String[],boolean,boolean,boolean)
- Added compiler option to diagnose need for cast of varargs argument. Matching problem IDs are
IProblem.MethodVarargsArgumentNeedCast
& IProblem.ConstructorVarargsArgumentNeedCast
* COMPILER / Reporting Varargs Argument Needing a Cast in Method/Constructor Invocation
* When enabled, the compiler will issue an error or a warning whenever a varargs arguments should be cast
* when passed to a method/constructor invocation. (e.g. Class.getMethod(String name, Class ... args )
* invoked with arguments ("foo", null)).
* - option id: "org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Problem Reports Fixed
74851
[1.5] enum errors in 3.1M1
75134
[1.5] Type mismatch error generated
76880
Unable to resolve enum type
76766
[1.5] Option to format empty enum declaration or empty enum constant body has no effect
76642
Inner Enum Declarations not formatted
76093
Varargs support should define a subtype of ArrayTypeReference
76472
Duplicate entries in the constant pool for some methods
76440
[1.5] Disassembler doesn't render 1.5 constructs correctly
76524
need a isVarargs() method on IMethodBinding
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 19th October 2004
Project org.eclipse.jdt.core v_515
(cvs).
What's new in this drop
- Code assist use static imports to propose completions.
- 2 new Javadoc compiler options have been added (see bugs 53977
and 75701).
While reporting problems on invalid Javadoc tags, user can now decide not to report deprecation and/or visibility warnings on references used in @see, @link or @values tags.
Here's the description of these new options:
* COMPILER / Reporting Invalid Javadoc Tags with Deprecated References
* Specify whether the compiler will report deprecated references used in Javadoc tags.
* Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
* also see the setting "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility".
* - option id: "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef"
* - possible values: { "enabled", "disabled" }
* - default: "enabled"
*
* COMPILER / Reporting Invalid Javadoc Tags with Not Visible References
* Specify whether the compiler will report non-visible references used in Javadoc tags.
* Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
* also see the setting "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility".
* - option id: "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef"
* - possible values: { "enabled", "disabled" }
* - default: "enabled"
*
- Changed build state format to record access restrictions. As a consequence, a full rebuild will be
required when reusing existing workspaces.
- Added tracing (org.eclipse.jdt.core/debug/resolution) to show the number of packages, roots and working copies used during name resolution.
- New API
org.eclipse.jdt.core.dom.EnumDeclaration#enumConstants()
. The enum constants are now in a separate list
from the body declarations. The org.eclipse.jdt.core.dom.EnumDeclaration#getEnumConstants()
method has been deprecated and
will be removed after M3. See bug 76190 for further details.
- New requestor API
CompletionRequestor
is implemented inside code assist engine.
- Added missing API to
IType
for new completion requestor support:
IType#codeComplete(char[],int,int,char[][],char[][],int[],boolean,CompletionRequestor,WorkingCopyOwner)
IType#codeComplete(char[],int,int,char[][],char[][],int[],boolean,CompletionRequestor)
- Added missing API to
IEvaluationContext
for new completion requestor support:
IEvaluationContext#codeComplete(String,int,CompletionRequestor, WorkingCopyOwner)
IEvaluationContext#codeComplete(String,int,CompletionRequestor)
- Added new API inside
Signature
to extract package name part or type name part of a type signature:
Signature#getSignatureQualifier(char[])
Signature#getSignatureQualifier(String)
Signature#getSignatureSimpleName(char[])
Signature#getSignatureSimpleName(String)
- Added support in Java model for varargs methods:
Flags.isVarargs(method.getFlags())
now returns whether the method is a varargs method.
- Operations that resolve (like reconcile, search, etc.) now convert varargs source methods into varargs MethodDeclarations.
- Introduced access restrictions so as to better enforce API contracts across components.
Problem: Libraries are usually packaged to contain both API for compile-time and implementation for runtime;
and thus expose a superset of the API contract to client programs, allowing them to make forbidden
assumptions on internals (a typical restriction for Eclipse developpers is to not use internal classes
from prerequisite plug-ins).
One solution for solving this issue is to separate the API from its implementation into 2 distinct libraries
(compile-time/runtime) and then use the classpath rules to only include the API portion on the classpath
for compiling. However, this usually proves to be unrealistic, since the API is often mixed with some implementation
aspects (not officially part of the API) which are carrying references to its internals
(supertype hierarchy, field or method signatures). When it happens, then the compiler needs the implementation
also to be on the classpath in order to resolve all signatures appropriately; which goes back to the original
problem of exposing too much to unaware clients.
Instead, we allowed classpath rules to be associated with some import restrictions so as to select portions
of prerequisite projects or libraries which are legal to use inside this project.
Access restrictions are expressed as inclusion/exclusion rules on classpath entries (using Ant fileset notation
for discriminating on package and/or file names, e.g. excluding='**/internal/'
would exclude
all types defined any internal
package),
and can be associated to project, library, classpath variable or classpath container classpath entries.
Note that restrictions are automatically combined along a classpath chain. For instance, if a classpath container entry is
associated with some restrictions, then when resolved to a set of entries, these will automatically inherit the
container restrictions (and could still provide further custom restrictions on a per entry basis).
When a forbidden reference to a restricted type is detected, the compiler will issue a problem which severity
can be controlled by JavaCore preference "org.eclipse.jdt.core.compiler.problem.forbiddenReference".
Corresponding problem marker ID is IProblem.ForbiddenReference
.
* COMPILER / Reporting Forbidden Reference to Type with Restricted Access
* When enabled, the compiler will issue an error or a warning when referring to a type with restricted access, as defined according
* to the access restriction specifications.
* - option id: "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
In order to challenge this new functionality before leveraged in UI or PDE, Eclipse developpers need to perform
the following two actions:
- edit some .classpath file to exclude all types located in "**/internal/" packages from prerequisites;
i.e. replace line
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
with
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins" excluding="**/internal/"/>
- enable compiler warning for forbidden references, i.e. add the following line to the workspace
default preferences located in:
<workspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
Note: alternatively, it could be specified on a per project basis, by adding line to <project>/.settings/org.eclipse.jdt.core.prefs
.
- Static imports are now supported:
import static type.*;
import static type.identifier;
Java Search is also able to find referenced type, field and/or member in static imports but 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
76324
[Javadoc] Wrongly reports invalid link format in @see and @link
74369
[Javadoc] incorrect javadoc in local class
75701
[Javadoc] References in Javadoc to deprecated members
53977
[DCR] [Javadoc] Add a Javadoc option not to report errors on non-visible references
76360
[1.5] NPE when using static import
76174
[1.5] missing error when using static import
76159
Missing type in hierarchy
76328
Using latest, NPE in codeassist
66296
Slow closing editor after startup
76277
IllegalArgumentException: Invalid string literal : >("i" + "ib2")<
76190
DCR AST: EnumDeclaration: Separate field and body statement lists
76244
[1.5] No error on invalid static import declaration
76181
Formatter fails on EnumDeclaration
74776
[Search] Wrong search results for almost identical method
29865
Source visibility in project dependency
76181
Formatter fails on EnumDeclaration
76100
AST: Javadoc node not available on AnnotationTypeDeclaration
76103
[1.5] Inner AnnotationTypeDeclaration not parsed
76027
Optimization of code assist in debugger
75090
source positions calculated wrongly
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 12th October 2004
Project org.eclipse.jdt.core v_514
(cvs).
What's new in this drop
- Type search works with generic (only for string pattern, see bug 75641).
For example, user can enter List<String>
in Java Search text and search for type references.
Match(es) will be found if this parameterized type is used in the search scope.
Note that some API changes still need to be done to make generic type search work while selecting a parameterized type from Java editor.
- Field search works with generic (see bug 73277).
For example, user can search for references to a field declared as List<String> ls;
Match(es) will be found if this field is used in the search scope.
Problem Reports Fixed
75649
[1.5] completion inside a wildcard does not work
52379
JavaElement.getElementInfo no longer works
74753
[1.5] codeassist failing on type parameter
73277
[1.5][Search] Fields search does not work with generics
73671
[1.5] Signature.getTypeArguments should also tolerate normal types
73078
ISourceManipulation.delete() tries to run in WorkspaceRoot scheduling rule
75561
Rename package results in I/O exception
75644
Array index out of bounds doing code assist
74286
IllegalArgumentException during codeselect
75720
[1.5] Formatter cannot format code that contains varargs
75112
[Search] Cannot find reference to a member type
75632
Infinite loop in DefaultCommentMapper#storeLeadingComments
75658
[1.5] SourceElementParser do not compute correctly bounds of type parameter
75488
Incorrect code formatting
70602
Why is equals(..) method of IBindings not implemented?
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 5th October 2004
Project org.eclipse.jdt.core v_513
(cvs).
What's new in this drop
- The batch compiler now support 5 as a valid version number for -target and -source options.
5 is equivalent to 1.5.
- Added support for static imports. Can now import all static members of a type, such as
java.lang.Math
.
- Added new API
IBinding#getJavaElement()
to get the Java element corresponding to a
org.eclipse.jdt.core.dom.IBinding
.
Problem Reports Fixed
75466
[1.5] IAE in JavaElement.exists() for Collection<E>#containsAll(Collection<?>)
75455
[1.5] IAE on Content Assist for variable of type List<? extends Number>
75489
Batch compiler should support -target 5 or -source 5
73963
[1.5] Wrong errors in widening reference conversion to parameterized class type
75221
Failure in test for build I200409281200
74126
Compiler should support new hexadecimal floating-point literals
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M3 - 28th September 2004
Project org.eclipse.jdt.core v_512
(cvs).
What's new in this drop
Problem Reports Fixed
74761
[1.5] Invalid compiler binding for qualified raw type reference
68927
'non-static access to static member' problem not reported for super field access
74938
Syntax error for annotation in 1.4 has unknown source range
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 24th September 2004 - 3.1 MILESTONE 2
Project org.eclipse.jdt.core v_511
(cvs).
What's new in this drop
Problem Reports Fixed
74934
ArrayIndexOutOfBoundsException with float literal
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 23rd September 2004
Project org.eclipse.jdt.core v_510
(cvs).
What's new in this drop
- Support for hexadecimal floating-point literals has been added. This is available in 1.5 mode only.
Problem Reports Fixed
72583
[1.5] NPE in Scope.minimalErasedCandidate
74096
[1.5] visibility check ignores type bounds?
74592
[1.5] Invalid cycle diagnosis
74420
[1.5] Unexpected "Illegal forward reference to type parameter T"
74519
Can declare @interface in 1.4
74544
[1.5] Invalid compiler binding for parameterized qualified type reference
74514
NPE in AST creation
74014
prefix path for source attachements - automatic detection does not seem to work
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 21st September 2004
Project org.eclipse.jdt.core v_509
(cvs).
What's new in this drop
Problem Reports Fixed
74355
-source 1.4 and -1.5 leads to an error
74320
[1.5] Unused private member diagnosis fooled by generics
74289
AIOOB Exception in WeakHashSet.cleanupGarbageCollectedValues
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 20th September 2004
Project org.eclipse.jdt.core v_508
(cvs).
What's new in this drop
Problem Reports Fixed
73740
Diagnosis for serialization should not render j2me development impossible
74244
[1.5] boolean.class == Boolean.TYPE should be true
73995
[Javadoc] Wrong warning for missing return type description for @return {@inheritDoc}
72644
[1.5] Problems with generic maps
73356
Index not updated after adding a source folder
73961
IPackageBinding#getName() should return "" for default package
73933
Clarifications of the DOM/AST API for VariableDeclarationExpression and VariableDeclarationStatement
73891
Should not use String#intern()
73837
Java 1.5 generics problem (Eclipse 3.1M1)
73336
[1.5][search] Search Engine does not find type references of actual generic type parameters
73762
Line ends not reset when setting a different source
73884
[1.5] Unexpected error for class implementing generic interface
73896
StackOverflowError resolving bindings of java.util.Collections
73678
[1.5] NPE when saving an editor which contains genric type
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 14th September 2004
Project org.eclipse.jdt.core v_507
(cvs).
What's new in this drop
Problem Reports Fixed
72683
Slow code assist in Display view
73696
searching only works for IJavaSearchConstants.TYPE, but not CLASS or INTERFACE
73479
[Javadoc] Improve error message for invalid link in @see tags
73551
[Search] NPE while searching package declaration
73112
[Search] SearchEngine doesn't find all fields multiple field declarations
71267
[Search][Javadoc] SearchMatch in class javadoc reported with element of type IImportDeclaration
73348
[Javadoc] Missing description for return tag is not always warned
73573
[1.5] - CodeAssist - ArrayIndexOutOfBoundsException with genric type completion
67976
Exceptions in log when Opening type while checking out
72684
MemberElementInfo#name should be removed
73530
[1.5] VerifyError using generics and direct array access
73286
NPE on save
73497
Problem methods don't point to the right position in source
73561
AST: Enum constant source range too small
71279
[Search] NPE in TypeReferenceLocator when moving CU with unresolved type reference
67981
Add Java Exception Breakpoint is broken
72859
NPE in ASTConverter
72214
[Prefs] IllegalStateException when importing preferences
62472
[1.5] Suspicious syntax errors for missing semicolon
72889
same key different types
68555
SearchEngine errors when package and class named the same
72891
missing type parameters for IMethodBindings
72882
ITypeBinding.getQualifiedName for type variables wrong
73371
[1.5] Code formatter doesn't seem to accept enum declarations
73048
Stackoverflow on AST creation
69002
CompilationUnit#destroy contains e.printStackTrace
70787
Compilation warning for IndexManager
73245
Error source range of 'class cannot be superinterface'
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 7th September 2004
Project org.eclipse.jdt.core v_506
(cvs).
What's new in this drop
ITypeParameter
s are no longer children of their IType
or IMethod
.
To get the type parameters of a type or a method use IType/IMethod#getTypeParameters()
.
- The temporary field
TypeParameter#ENABLED
has been removed.
- Code select (
ICodeAssist#codeSelect()
) return a ITypeParameter
when a type
parameter is selected.
- Added optional compiler diagnosis for usage of 'enum' as an identifier.
Corresponding problem ID is IProblem.UseEnumAsAnIdentifier.
-
* COMPILER / Reporting Usage of 'enum' Identifier
* When enabled, the compiler will issue an error or a warning whenever 'enum' is
* used as an identifier (reserved keyword in 1.5)
* - option id: "org.eclipse.jdt.core.compiler.problem.enumIdentifier"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Problem Reports Fixed
66533
[1.5] add a warning for 'enum' used as identifier
70892
[1.5][Javadoc] Compiler should parse reference for inline tag @value
73255
[1.5][reconciling] ClassCastException in SourceTypeElementInfo#getTypeParameterBounds
72946
Refactoring context menu does not show inline action on local variables [refactoring] [inline temp]
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 31st August 2004
Project org.eclipse.jdt.core v_505
(cvs).
What's new in this drop
- Added empty "performance" target to test.xml files.
Problem Reports Fixed
72772
[1.5][Search Engine] ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 31st August 2004
Project org.eclipse.jdt.core v_504
(cvs).
What's new in this drop
- Added new Java element
ITypeParameter
that represents a formal type parameter in a generic type or method.
Note types and methods should have type parameters as children, but this is currently disabled as JDT UI doesn't support
this kind of element yet.
To enable set org.eclipse.jdt.internal.core.TypeParameter#ENABLED
to true
.
Problem Reports Fixed
72942
[1.5] 'AT' is visible inside syntax error messages
68343
IDOMType.setSuperInterfaces() with empty array has no impact on Interfaces
72083
[1.5] NPE while compiling FindBugs
71080
[1.5] Type parameter bound <E extends Enum<E>> should be allowed
62070
Should revisit reference recording
36397
Compiling source which indirectly references unavailable classes
62822
[1.5] Bound mismatch: The type X is not a valid substitute for the bounded parameter
72094
NPE inside qualified type reference resolution
72468
"hierarchy of ... type is inconsistent" error message
59082
[1.5] Should not offer argument completion for non generic type
72501
[1.5] CodeAssist - ArrayIndexOutOfBoundsException with ParameterizedQualifiedTypeReference
72640
Codestream target level is initialized with source level
72560
[1.5] VerifyError in nested generics loop
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M2 - 24th August 2004
Project org.eclipse.jdt.core v_503
(cvs).
What's new in this drop
- All resource change listeners/builder now react to new encoding change notification.
Problem Reports Fixed
70193
DBCS - The GB18030 character cannot be correctly generated into ".classpath" file when new a source folder named with GB18030 character.
70997
Debugger doesn't stop in finally block
47074
inability to detect invalid cast between interfaces
71910
Weird exception handlers ranges with any exception handlers
72352
"No completion available" after cast to "String[]"
71702
code completion doesn't work anymore after Array cast.
68847
[1.5] DCR Signature: API to separate raw type and type parameters
72348
[1.5][Type Hierarchy] Super type hierarchy of class extending generic type is empty
72105
[1.5] NPE in SelectionEngine.selectFrom
72230
[1.5][Type Signature] IAE in createCharArrayTypeSignature
68506
Java code formatter strips newline, leaving final line unterminated!
59052
[1.5][reconciling] DOM conversion incomplete for generics
72248
[1.5] StackOverflowError caused by methods type variable
72233
IAE creating AST for java.lang.SuppressWarnings
57585
memory optimization in JavaModelCache
72238
[1.5] CodeAssist - Wrong completion inside parameterized type
68585
index is out of date after encoding change
68594
[1.5] NPE after code assist
70995
[1.5] Add 1.5 constructs in the code formatter
68842
[1.5] AST: parameter type binding: getKey seems wrong
71852
ClassCastException in HandleFactory.createElement(...)
69066
[1.5] getTypeArguments incorrect (?) when type argument is a type variable
68838
[1.5] AST: Missing bindings in type parameters
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M1 - 10th August 2004 - 3.1 MILESTONE 1
Project org.eclipse.jdt.core v_502
(cvs).
What's new in this drop
Problem Reports Fixed
66908
Code assist javadoc confused by duplicate java.lang.String
66570
Code assist fails due to capitalization
71705
[1.5] CodeAssist failure with simple test case
69598
[1.5] Auto Completion not available in new for-loop
71672
[1.5] MethodInvocation has no type arguments
67790
[1.5] AST: ConstructorInvocation type arguments not in source range
70292
[1.5] enum makes Copy, Cut commands fail
71241
[1.5] different methods with same erasure should not override
69901
[1.5] Interface / Generic: unchecked conversion should throw a warning
71467
JavaConventions.ValidatePackageName() does not return ERROR
71113
[1.5] improve DOM/AST specs for bindings for JLS3 constructs
71079
[1.5] ClassCastException resolving Javadoc
70969
[1.5] compile error with conditional operator and wildcards
70611
[1.5] Specific generic class declaration breaks save and load
69931
JDTCompilerAdapter prevents use of Cheetah
71007
[1.5] Qualified name not supported as member value
70984
[1.5] Invalid syntax error
70986
[Prefs] Old Java project prefs are not all stored while migrating to new API
70975
[1.5] Type mismatch when compiling against binary generic method
70656
[1.5] StackOverflow when resolving Enum<FormattedFloatingDecimal$Form>
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M1 - 27th July 2004 - Codename "Cheetah"
Project org.eclipse.jdt.core v_501
(cvs).
What's new in this drop
- Plugin version ID got incremented to 3.1.0.
- Added support for method return type covariance
- Added optional compiler diagnosis for serializabe classes missing a declaration of serialVersionUID field.
Corresponding problem ID is IProblem.MissingSerialVersion.
* COMPILER / Reporting Missing Declaration of serialVersionUID Field on Serializable Class
* When enabled, the compiler will issue an error or a warning whenever a serializable class is missing a local declaration
* of a serialVersionUID field. This field must be declared as static final and be of type long.
* - option id: "org.eclipse.jdt.core.compiler.problem.missingSerialVersion"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
Added isConstructor()
and isSynthetic()
getters to MethodReferenceMatch.
When a search requestor (SearchRequestor
) accepts this kind of match,
it can now distinguish between method and constructor reference matches. It can also know
if a constructor reference match is a default constructor or use an implicit super call.
Note that synthetic method reference match is not supported yet.
Once 1.5 source compliance is enabled, the typecheck rules for conditional operator (a ? b : c)
allows scenario where 'b' and 'c' have a common supertype (i.e. it is no longer required for
one to be assignable to the other as in the past). This is required by JLS 3rd edition.
Fix for bug 69028
requires the index version to be incremented. Indexes will be automatically regenerated upon
subsequent search queries (accounting for indexing notification in search progress dialogs).
The spec for MethodDeclaration.typeParameters was changed to remove the
clause that said that type parameters were not meaningful for
constructors. According to the latest JLS3, both constructors and methods
are allowed to have type parameters.
(bug 70665).
Problem Reports Fixed
48336
[Search] Participants should surface in search progress
70598
[Encoding] ArrayIndexOutOfBoundsException while testing BOM on *.txt files
70767
[1.5] NPE compiling code with explicit constructor invocation
70717
Batch compiler should report compilation errors to console
70665
[DOM/AST] missing type parameters for constructor declaration in JLS3
70618
[1.5] Variable T should be allowed as argument of supertype
70616
[1.5] Unable to bind type variable in binary from Enum<E>
70609
[1.5] NPE compiling Container
70606
[1.5] ClassCastException compiling DefaultTreeCellEditor
69351
[1.5] Error should be issued if generic type is extending Throwable
62822
[1.5] Bound mismatch: The type X is not a valid substitute for the bounded parameter
69626
[1.5] The return type is incompatible
41018
Method reference with member type parameter(s) not found
70053
[1.5] VerifyError - incompatible argument to function
69942
compiler warning for serializable classes that do not explicitly declare serialVersionUID
70398
Java AST creation error due to NullPointerException in IF statement test block.
43587
Searching for references to default constructors reports questionable results
70243
[1.5] no warning for unsafe cast
69799
[1.5] NPE when saving File with forEach loop
69320
[1.5] generic parameter type compiles by eclipse, not by javac
69800
[1.5] eclipse fails to report incompatible types
70295
[1.5] method(Class<?>) is not applicable for Class<? extends Object>
70247
[1.5] NPE in TypeVariableBinding
68726
[Javadoc] Target attribute in @see link triggers warning
68993
IllegalArgumentException when opening project preferences
69806
formatter doesn't handle strictfp correctly.
69776
[1.5] VerifyError: Incompatible object argument for function call
69713
[1.5] Cannot save java document, throws nullpointer
69542
[1.5] ByteCode differs from javac ByteCode in behaviour
69554
Eclipse Java compiler is not completely compliant to Javac
69658
typo in javadoc of ClassInstanceCreation
69308
All ASTNodes that deal with modifiers should offer a method setModifiers(List modifiers)
69302
[Javadoc] Invalid reference warning inconsistent with javadoc tool
69275
[Javadoc] Invalid warning on @see link
69272
[Javadoc] Invalid malformed reference (missing separator)
68087
[Javadoc] '-' character should be accepted in tag names
68025
Javadoc processing does not detect some wrong links
68017
Javadoc processing does not detect missing argument to @return
69573
[1.5] Missing Message for Compiler
69028
Anonymous type in argument of super() is not in type hierarchy
69375
[1.5] wildcards: no error for incorrect assignment
68698
Bug in inner class emulation:compiler doesn't reject illegal code.
69359
[1.5] Trouble with "unnecassary cast" warnings
69271
decimal integer literals should not consist of FULL WIDTH Unicode digits
69349
[DOM/AST] Wrong end position for method declaration
69152
[NPE] An internal error occurred during: "Override indicator installation job".
68010
[1.5] Return type of bridge method is not correct inside outliner
69170
[1.5] no error for new T[0]
69353
[1.5] Should reject usage of type parameter in catch block
69288
[1.5] Unsafe type operations should be reported against individual expressions
64305
[1.5] Bad "return type is incompatible" error for array values
69251
[1.5] can't instantiate bounded wildcard
69141
[1.5] Wildcards with lower bound do not work
69276
[1.5] NPE in ReturnStatement
64154
[1.5] incorrect 'constructor not visible'
65943
Closing/opening a project doesn't have the correct delta
68998
[1.5] NPE in java compiler
68146
Search should not populate Java model cache
67789
Java element delta from refresh contains excluded package
68845
[1.5] AST: AbstractTypeDeclaration should have resolveBinding
66512
Invalid classpath entry not rejected
67643
[1.5] Incompatible conditional operand types
68981
[1.5] NPE in code assist
68891
[1.5] TypeVariableBinding does not know his declaring type or method
68862
[1.5] ClassCastException when moving a a java file
Eclipse Platform Build Notes
Java development tools core
Eclipse SDK 3.1M1 - 29th June 2004 - Codename "Cheetah"
Project org.eclipse.jdt.core v_500 (Cheetah06)
(cvs).
What's new in this drop
- From target 1.5 on, the JSR bytecode instruction is no longer generated. As a consequence, the
corresponding compiler option status will be ignored as soon as -target 1.5 is specified.
- Batch compiler defaults to 1.5 source and target, when toggled in 1.5 compliant mode ("-1.5").
- Added support for generics to JavaModel, thus enabling editor problem reconciling, outliner, type hierarchies.
- Improved codeassist and codeselect handling of generics
Problem Reports Fixed
68837
[1.5] AST: Missing source range in parameterized type
68133
[1.5] VerifyError: Code segment has wrong length in class file
68863
Missing entry in local variable attribute
68440
[1.5] VerifyError with new for loop
64159
[1.5] call to addAll(Collection<? extends T>) incorrectly dissalowed
68602
[1.5] AST converter fails on local types
66424
[1.5] Collections in new style for loop
64417
[1.5] NPE in SourceTypeBinding.resolveTypesFor
68730
[1.5] No completion
65953
[1.5] Internal Compiler Error: ArrayIndexOutOfBoundsException
58470
[1.5] Source mapper fooled by generics
64336
[1.5] Signature does allow to create parameterized type signatures
68557
[1.5] ArrayIndexOutOfBoundsException in SourceTypeConverter
68006
[1.5] Invalid modifier after parse
65503
[1.5] "new" for-loop inside "old" for-loop gives error
65870
[1.5] AST creation fails when created with comments
64301
[1.5] Cast required where no cast should be required
63556
[1.5] Error when creating generic classes specializing distant generic parameters
63590
[1.5] Cheetah allows generic throws clause
63555
[1.5] Cannot put generic type fields inside static inner class
58722
[1.5] cannot extend interfaces
Eclipse Platform Build Notes
Java development tools core
Eclipse Platform Build Notes
Eclipse SDK 3.1M1 - 15th May 2004
Project org.eclipse.jdt.core v_429_Cheetah05
(cvs).
What's new in this drop
-
Cast/instanceof operations are now fully supported, along with extra diagnosis for unsafe type operations.
-
Explicit parameterizations of message sends and constructor calls are also supported.
Problem Reports Fixed
62416
[1.5] An error has occurred when creating this (Java) editor
62292
[1.5] Missing receiver in parameterized message send
61507
[1.5] NPE in computeCompatibleMethod
60681
[1.5] Return type not strict enough
60563
[1.5] VerifyError when using generics and arrays
59258
Possibility to share compiler preferences for a shared project
60556
[1.5] Collections.unmodifiableList(List<A>)
58978
[1.5] Generic method needs better error reporting
59983
[1.5] Internal compiler error
58903
[1.5] Implementing inherited generic methods
Eclipse Platform Build Notes
Java development tools core
Eclipse Platform Build Notes
Eclipse SDK 3.1M1 - 23th April 2004
Project org.eclipse.jdt.core v_422_Cheetah04
(cvs).
What's new in this drop
-
Wildcard type compatibilities got reworked quite significantly. In
particular, it now diagnoses
usage of methods which parameters are of wildcard type (see 59641).
-
Covariance is still not supported, but the Cheetah can now issue synthetic
bridge methods for allowing overriding to parameterized methods.
Problem Reports Fixed
59723
[1.5] Compiler rejects usage of ArrayList.toArray(char[][])
59628
[1.5] Erroneous diagnosis for missing abstract method implementation
59641
[1.5] Compiler should refuse usage of wildcard argument values
59147
[1.5] Compiler rejects correct code with wildcards and raw types
58979
[1.5] NullPointerException in compiler
Eclipse Platform Build Notes
Java development tools core
Eclipse Platform Build Notes
Eclipse SDK 3.1M1 - 16th April 2004
Project org.eclipse.jdt.core v_421_Cheetah03
(cvs).
What's new in this drop
-
The Cheetah is now able to digest generic methods and perform type inference.
It also recognizes the Object.getClass() method and perform adequate
substitutions (see 57784).
-
Generic types completion is available and type parameters are proposed
as possible completions.
Currently type parameter proposals are given by
ICompletionRequestor#acceptClass().
Problem Reports Fixed
58715
[1.5] The return type is incompatible
58631
[1.5] Cycle in hierarchy no longer detected
58666
[1.5] Object.getClass() need to be treated special ?
57784
[1.5] Errors using Arrays.asList(T [])
58461
[1.5] java.lang.VerifyError from enhanced for loop
Eclipse Platform Build Notes
Java development tools core
Eclipse Platform Build Notes
Eclipse SDK 3.1M1 - 13th April 2004
Project org.eclipse.jdt.core v_421_Cheetah02
(cvs).
What's new in this drop
-
Properly decode signatures of parameterized member types which are flourishing in 1.5 class libs,
and were reported as bogus inconsistencies with Cheetah01.
Problem Reports Fixed
53036
Incorrect highlighting for type problem in qualified type name
57716
[1.5] NPE compiling SelectionParser in source 1.5
57397
[1.5] Unable to save unit
Eclipse Platform Build Notes
Java development tools core
Eclipse Platform Build Notes
Eclipse SDK 3.1M1 - 4th April 2004
Project org.eclipse.jdt.core v_420_Cheetah01
(cvs).
What's new in this drop
- JDK 1.5 support.
- JavaCore 1.5 specific options. Either augmented to consider 1.5 or added.
* COMPILER / Setting Compliance Level
* Select the compliance level for the compiler. In "1.3" mode, source and target settings
* should not go beyond "1.3" level.
* - option id: "org.eclipse.jdt.core.compiler.compliance"
* - possible values: { "1.3", "1.4", "1.5" }
* - default: "1.4"
*
* COMPILER / Setting Source Compatibility Mode
* Specify whether which source level compatibility is used. From 1.4 on, 'assert' is a keyword
* reserved for assertion support. Also note, than when toggling to 1.4 mode, the target VM
* level should be set to "1.4" and the compliance mode should be "1.4".
* Source level 1.5 is necessary to enable generics, autoboxing, covariance, annotations, enumerations
* enhanced for loop, static imports and varargs. Once toggled, the target VM level should be set to "1.5"
* and the compliance mode should be "1.5".
* - option id: "org.eclipse.jdt.core.compiler.source"
* - possible values: { "1.3", "1.4", "1.5" }
* - default: "1.3"
*
* COMPILER / Defining Target Java Platform
* For binary compatibility reason, .class files can be tagged to with certain VM versions and later.
* Note that "1.4" target require to toggle compliance mode to "1.4" too. Similarily, "1.5" target require
* to toggle compliance mode to "1.5".
* - option id: "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
* - possible values: { "1.1", "1.2", "1.3", "1.4", "1.5" }
* - default: "1.2"
*
* COMPILER / Reporting Unsafe Type Operation
* When enabled, the compiler will issue an error or a warning whenever an operation involves generic types, and potentially
* invalidates type safety since involving raw types (e.g. invoking #foo(X<String>) with arguments (X)).
* - option id: "org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation"
* - possible values: { "error", "warning", "ignore" }
* - default: "warning"
*
* COMPILER / Reporting final Bound for Type Parameter
* When enabled, the compiler will issue an error or a warning whenever a generic type parameter is associated with a
* bound corresponding to a final type; since final types cannot be further extended, the parameter is pretty useless.
* - option id: "org.eclipse.jdt.core.compiler.problem.finalParameterBound"
* - possible values: { "error", "warning", "ignore" }
* - default: "ignore"
Problem Reports Fixed
56731
[1.5] NPE inside ClassFileStruct when compiling with jre 1.5.0
51262
[1.5] Handling of additional bounds in type parameters
52673
[1.5] ArrayStoreException in 1.5 parser
For earlier build notes, also see build notes up to Release 3.0.