jdt core - build notes 3.7 stream
Java development tools core
Here are the build notes for the Eclipse JDT/Core plug-in project org.eclipse.jdt.core, describing bug resolution and substantial changes in the HEAD branch. For more information on 3.7 planning, please refer to JDT/Core release plan, the next milestone plan, the overall official plan, or the build schedule. This present document covers all changes since Release 3.6 (also see a summary of API changes). Maintenance of previous releases of JDT/Core is performed in parallel branches: R3.6.x, R3.5.x, R3.4.x, R3.3.x, R3.2.x, R3.1.x, R3.0.x, R2.1.x, R2.0.x, R1.0.x.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - August 30, 2011 - 3.7.1
Project org.eclipse.jdt.core v_B76_R37x (cvs).

## What's new in this drop

### Problem Reports Fixed

356002 VerifyError "Inconsistent stackmap frames" for switch-string statement with nested for-loop
350095 The 2000th (0-based) enum constant is null

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - August 24, 2011
Project org.eclipse.jdt.core v_B75_R37x (cvs).

## What's new in this drop

### Problem Reports Fixed

354536 compiling package-info.java still depends on the order of compilation units
348024 Empty AST for class with static inner class in a package with package-info.java
353640 AIOOBE in ParameterizedTypeBinding.substitute
353535 Eclipse compiler generates wrong bytecode for nested try-with-resources statements
354579 Fup of bug 289247: Investigate validity of the fix vis-a-vis JLS.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - August 10, 2011
Project org.eclipse.jdt.core v_B74_R37x (cvs).

## What's new in this drop

- Added a new API in BindingKey to return it's declaring type(see bug 351165 for details):

      /**
       * Returns the binding key of the declaring type of the element represented by this binding key. If the binding key
       * does not represent a member or if the member doesn't have a declaring type, returns null.
       *
       *
       * Note that only binding keys for references to methods and fields
       * are fully supported. The binding keys for declarations will not have type parameters.
       *
       * @return the type binding key or null
       * @since 3.7.1
       */
      public BindingKey getDeclaringType();

### Problem Reports Fixed

317719 Method incorrectly flagged as having same erasure output when return type differs
354052 [1.7] NPE in org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:4507)
353238 [1.7] update unusedTypeArgs option description for the batch compiler
353089 [1.7][compiler] Incorrect name clash error with ecj
351165 [1.7] API to get the type arguments of the declaring type for constructor invocations

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - August 3, 2011
Project org.eclipse.jdt.core v_B73_R37x (cvs).

## What's new in this drop

### Problem Reports Fixed

353553 Rename readableNames.properties to avoid translation
353085 [1.7] Cannot cast from Object to boolean

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - July 28, 2011
Project org.eclipse.jdt.core v_B72_R37x (cvs).

## What's new in this drop

- Plugin version has been increment to 3.7.1

### Problem Reports Fixed

353251 [1.7] merging Java 7 work to R3_7_maintenance branch

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - July 27, 2011
Project org.eclipse.jdt.core v_B71 (cvs).

## What's new in this drop

### Problem Reports Fixed

351426 [1.7][code assist] CompletionContext.getExpectedTypesKeys() returns wrong type
353137 [1.7] Make sure TagBits.AnnotationSafeVarargs and AnnotationPolymorphicSignature are handled everywhere
353093 IMethod#getAnnotations() doesn't return @SafeVarargs of java.util.Arrays#asList(T...)
352464 [1.7] Incorrect Javadoc shown for reference of invokeExact

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - July 21, 2011
Project org.eclipse.jdt.core v_B70 (cvs).

## What's new in this drop

### Problem Reports Fixed

351498 [model]java.util.ConcurrentModificationException upon startup
352699 [1.7][compiler] Improve error range for redundant type parameter warning

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - July 20, 2011
Project org.eclipse.jdt.core v_B69 (cvs).

## What's new in this drop

### Problem Reports Fixed

352665 [1.6][compiler] Internal compiler Error: ArrayIndexOutOfBoundsException when compiling certain classes with outer access error
352553 [1.7] 'char a\u200b' is being accepted in 1.6 mode
352496 tests using wrong version of JCL
300576 NPE Computing type hierarchy when compliance doesn't match libraries
352145 [1.7][compiler] VerifyError with aload0 being involved into ConditionalExpression

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7.1 - July 14, 2011
Project org.eclipse.jdt.core v_B68 (cvs).

## What's new in this drop

- Added a new API in CompletionProposal to tell whether it diamond operator can be used (see bug 351444 for details):

      /**
       * Returns whether it is safe to use the '<>' (diamond) operator in place of explicitly specifying
       * type arguments for this proposal.
       *
       * This is only relevant for source level 1.7 or greater.
       *
       * @param coreContext the completion context associated with the proposal
       * @since 3.7
       * @return true if it is safe to use the diamond operator for the constructor invocation,
       * false otherwise. Also returns false for source levels below 1.7
       */
      public boolean canUseDiamond(CompletionContext coreContext);

### Problem Reports Fixed

351965 [1.7] CCE when using diamond in 1.4
351444 [1.7][content assist] Need to know whether I can use diamond
352014 \u1369 no longer accepted as a valid java identifier part
351653 [1.7][compiler]: VerifyError in try statement with finally and return statements

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - July 13, 2011
Project org.eclipse.jdt.core v_B67 (cvs).

## What's new in this drop

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS added to raise warning or error for redundant usage of type arguments when diamond operator can be used instead. (see details in bug 340747):

      	/**
      	 * Compiler option ID: Reporting redundant specification of type arguments in class instance creation expressions.
      	 * When enabled, the compiler will issue an error or a warning if type arguments are used in a class instance creation,
      	 * when the '<>' operator can be used instead.
      	 *
      	 * This option only has an effect if the compiler compliance is 1.7 or greater.
      	 *
      	 * Option id:"org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments"
      	 * Possible values:{ "error", "warning", "ignore" }
      	 * Default:"ignore"
      	 *
      	 * @since 3.7
      	 * @category CompilerOptionID
      	 */
      	public static final String COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS = PLUGIN_ID + ".compiler.problem.redundantSpecificationOfTypeArguments";

- Added a new API in ClassInstanceCreation to tell whether the resolved type is inferred from the assignment context:
  (see bug 350897 for details):

      	/**
      	 * Returns true if the resolved class type has been inferred
      	 * from the assignment context (JLS4 15.12.2.8), false otherwise.
      	 *
      	 * This information is available only when bindings are requested when the AST is being built.
      	 *
      	 * @return true if the resolved class type has been inferred
      	 * 	from the assignment context (JLS3 15.12.2.8), false otherwise
      	 * @since 3.7
      	 */
      	public boolean isResolvedTypeInferredFromExpectedType();

### Problem Reports Fixed

340747 [1.7][compiler] compiler option to warn when diamond can be used, but type args are used instead.
350895 [1.7][formatter] New option to wrap before/after '|' in multi-catch
350652 [1.7][assist] Completion issues with multicatch (FUP of 343637)
347503 [DOM] ASTParser.setEnvironment() ignores includeRunningVMBootclasspath parameter
350897 [1.7][api] ClassInstanceCreation#isResolvedTypeInferredFromExpectedType()
351170 [1.7] ASTRewrite issues in Try with resources
348493 [1.7] Improve error msg for Diamond operator in 1.5 mode

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - July 5, 2011
Project org.eclipse.jdt.core v_B66 (cvs).

## What's new in this drop

### Problem Reports Fixed

350885 [Search] The pull up refactoring throws an NPE when pulling up a member that already exists in the superclass
350611 [1.7] Inconsistent error msg and error location for illegal diamond
350579 [1.7][compiler] VerifyError running example from bug 338402 comment 5
350767 [1.7][assist] CCE while invoking assist on a multi-catch block

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - June 30, 2011
Project org.eclipse.jdt.core v_B65 (cvs).

## What's new in this drop

### Problem Reports Fixed

349312 [1.7][compiler] improved problem messages
350003 [1.7] [compiler] AnnotationPolymorphicSignature tag is not being set to invokeExact while compiling MethodHandle source file
350496 [1.7] @PolymorphicSignature IMethods are missing the annotation
349314 [1.7][formatter] Line wrapping for multi-catch arguments
350039 [1.7] ASTParser#createASTs(..) doesn't resolve IMethodBinding for @PolymorphicSignature method reference
349396 [1.7][formatter] Line wrapping and indentation options for try with resources
350361 [1.7] Unhandled exception type Exception

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - June 23, 2011
Project org.eclipse.jdt.core v_B64 (cvs).

## What's new in this drop

### Problem Reports Fixed

349488 [1.7] IMethodBinding#getMethodDeclaration() should return the declaration of @PolymorphicSignature methods
349487 [1.7] IMethodBinding#getJavaElement() returns inexistent element for @PolymorphicSignature methods
349862 [1.7] NPE when trying to use UnionType as TryStatement resource
349864 [1.7][compiler] Error message considers AutoCloseable as class

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - June 17, 2011
Project org.eclipse.jdt.core v_B63 (cvs).

## What's new in this drop

### Problem Reports Fixed

348956 [1.7] ITypeBinding#isAssignmentCompatible(ITypeBinding) returns different result
349312 [1.7][compiler] improved problem messages
349008 [1.7] Ugly formatting for try with resources
349072 [1.7] "Cannot infer elided type(s)" sounds too elite
348705 [1.7][compiler] Improve error message for unhandled IOException generated due to compiler-generated close()

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - June 7, 2011
Project org.eclipse.jdt.core v_B62 (cvs).

## What's new in this drop

### Problem Reports Fixed

348050 [1.7] Error in JDT Core during AST creation
348406 [1.7] Incorrect error msg on try with resources in 1.5 mode
348492 [1.7] Improve error msg on strings in switch in 1.5 mode
348491 [1.7] Rename IProblem.IllegalBinaryLiteral to BinaryLiteralNotBelow17 and IProblem.IllegalUsageOfUnderscore to UnderscoreInLiteralsNotBelow17
348369 [1.7] Missing error "No exception of type Exception[] can be thrown"
348379 [1.7][compiler] Null pointer access warning for strings in switch
346415 [1.7][assist] No proposal inside catch statement from 3rd catch block onwards
346454 [1.7][content assist]Getting NegativeArraySizeException while trying content assist after diamond
347600 [1.7][compiler] Suspect bounds check failure after inference.
347746 [1.7][compiler] Bounds check failure during method inference
283353 [1.5][compiler] Eclipse compiler shows error on javac-valid construct: Bound mismatch
347145 [1.7][compiler] Bounds check issue with raw types in method inference
347426 [1.7][compiler] ecj behavior differs from javac
344522 [1.7] Incorrect source range for ParameterizedType in case of Diamond
341795 [1.7][compiler] Cannot assign a generic method with multiple bounds return value to any variable
242159 [1.7][compiler] type inference with unbounded wildcard in result type
343693 [1.7] Adjust subclasses of AllocationExpression for <> support
343637 [1.7] Already used exception offered again in a Mulicatch block
345968 [1.7][compiler] NPE while using diamond for inner class allocation
334313 [1.5][compiler] Bug in the way eclipse handles overriding of generic abstract method by a non-abstract method

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7 - June 7, 2011
Project org.eclipse.jdt.core v_B61 (cvs).

## What's new in this drop

- Update batch compiler version to refer to 3.7.0 and not 3.7.0 RC2

### Problem Reports Fixed

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC2 - May 19, 2011
Project org.eclipse.jdt.core v_B60 (cvs).

## What's new in this drop

### Problem Reports Fixed

346002 Import of User Library with invalid path hoses User Library Dialog -- can not fix
340181 Formatter from the command line breaks
346029 [1.7][compiler] Eclipse compiles code rejected by JDK7
345628 [1.7] Rename disjunctive type to union type
345559 [1.7][compiler] Type inference for generic allocation can be avoided for invalid constructor
342819 Code rejected by javac with name clash error compiles under eclipse.
334306 [1.7][compiler] name clash reported in javac 1.7 and not in javac 1.6
345579 [1.7][compiler] Weird error message in rethrow site

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 12, 2011 - 3.7.0 RC1
Project org.eclipse.jdt.core v_B59 (cvs).

## What's new in this drop

### Problem Reports Fixed

345569 FUP of bug 345334: CodeSnippetTest has lot of failures
345522 [1.7][compiler] Compilers fails to compute precisely rethrown types

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 11, 2011
Project org.eclipse.jdt.core v_B58 (cvs).

## What's new in this drop

### Problem Reports Fixed

345334 CodeSnippet's run method is missing @Override annotation
344824 [1.7][compiler] Incorrect error range for unreachable catch block error in multi-catch
340486 [1.7][compiler] Missing error in multi catch scenario
345359 [1.7][compiler] AIOOB on diamond construct with argument error
345239 [1.7][compiler] Compiler should issue better diagnostics for use of <> with anonymous classes

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 10, 2011
Project org.eclipse.jdt.core v_B57 (cvs).

## What's new in this drop

### Problem Reports Fixed

336451 "Content Assist" does not complete normally on certain types
324987 [formatter] API compatibility problem with Annotation Newline options
344655 [1.7][compiler] Prohibit use of <> with explicit type arguments to generic constructor

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 6, 2011
Project org.eclipse.jdt.core v_B56 (cvs).

## What's new in this drop

- Reverting fix for bug 336648

### Problem Reports Fixed

328575 Inheritance of annotation fails with generic classes

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 5, 2011
Project org.eclipse.jdt.core v_B55 (cvs).

## What's new in this drop

### Problem Reports Fixed

90486 Give more info when a dependency cycle is detected
343865 [assist] CompletionContext token start and end incorrectly returning 0

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7RC1 - May 4, 2011
Project org.eclipse.jdt.core v_B54 (cvs).

## What's new in this drop

### Problem Reports Fixed

264301 AssertionFailedException resolving JavaProject classpath

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 27, 2011 - 3.7.0 M7
Project org.eclipse.jdt.core v_B53 (cvs).

## What's new in this drop

- Reverting fix for bug 292087: anonymous class in array member initializer confuses content assist

### Problem Reports Fixed

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 27, 2011
Project org.eclipse.jdt.core v_B52 (cvs).

## What's new in this drop

- Update copyrights

### Problem Reports Fixed

343785 [1.7] Incorrect line numbers in stack trace with try with resources

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 25, 2011
Project org.eclipse.jdt.core v_B51 (cvs).

## What's new in this drop

### Problem Reports Fixed

339226 Document assumptions about DefaultBindingResolver.newAstToOldAst
343713 [compiler] bogus line number in constructor of inner class in 1.5 compliance
343687 [1.7] IAE in NumberLiteral#setToken(String) for binary tokens and tokens with underscore
339478 [1.7][compiler] support for diamond case

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 21, 2011
Project org.eclipse.jdt.core v_B50 (cvs).

## What's new in this drop

### Problem Reports Fixed

343607 [APT] Improve output for javax.annotation.processing.Messager problems
343476 [1.7][assist] propose String variables and fields inside catch expression
292087 anonymous class in array member initializer confuses content assist
343475 [1.7] Compiler warning for invalid type inside switch needs to be improved
343342 [assist] Non constant variables, strings and methods are proposed inside case statements

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 21, 2011
Project org.eclipse.jdt.core v_B49 (cvs).

## What's new in this drop

### Problem Reports Fixed

328281 visibility leaks not detected when analyzing unused field in private class
335986 No expected event fired when removing a JAR file from a classpath container
342671 ClassCastException: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding cannot be cast to org.eclipse.jdt.internal.compiler.lookup.ArrayBinding

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 19, 2011
Project org.eclipse.jdt.core v_B48 (cvs).

## What's new in this drop

### Problem Reports Fixed

337415 External folders project is not created
342455 AST swallows stars ('*') at end of {@code} and {@literal} Javadoc fragments
342757 ArrayIndexOutOfBoundsException in MethodInfoWithParameterAnnotations.getParameterAnnotations when generating method info for an inner class constructor with annotated parameter
340691 Syntax error leads to ClassCastException in ASTConverter
342671 ClassCastException: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding cannot be cast to org.eclipse.jdt.internal.compiler.lookup.ArrayBinding

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 13, 2011
Project org.eclipse.jdt.core v_B47 (cvs).

## What's new in this drop

### Problem Reports Fixed

342300 [null]Spurious "null pointer access" warning on unboxing
342416 [1.7] Signature#createIntersectionTypeSignature(..) should take array of signatures
340059 [1.7] IAE when dealing with Signature of disjunctive type
341759 NPE in ITypeBinding#getName() for intersection type
341499 [compiler][null] allocate extra bits in all methods of UnconditionalFlowInfo
342054 ILocalVariable#isParameter() returns true for exception of catch clause

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 6, 2011
Project org.eclipse.jdt.core v_B46 (cvs).

## What's new in this drop

### Problem Reports Fixed

341475 Eclipse doesn't show a "never read locally" warning if a private field serialVersionUID exists but the class does not implement Serializable
334493 [1.7][compiler] Difference in behavior with Javac7

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - April 6, 2011
Project org.eclipse.jdt.core v_B45 (cvs).

## What's new in this drop

### Problem Reports Fixed

338789 [1.7][assist] No proposal inside a multi catch statement after '|'
341333 [1.7][compiler] DisjunctiveTypeReference#resolveType(..) does not set the value for DisjunctiveTypeReference$resolvedType
340634 [1.7][compiler][multicatch] Compiler accepts type variables as catch parameter type
200827 [spec] IElementChangedListener should mention where to register
340626 [1.7][compiler] Inconsistent source pinpointing in multi-catch blocks
340513 [1.7][compiler] Unicode 6.0 characters work at compiler compliance level 1.5 and 1.6
340445 [1.7] ASTRewriteAnalyzer and ASTRewriteFlattener need updates

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - March 22, 2011
Project org.eclipse.jdt.core v_B44 (cvs).

## What's new in this drop

### Problem Reports Fixed

339447 synchronized access modifier retained on clone() bridge
340372 [1.7] NaiveASTFlattener needs to support the new AST nodes
340365 [1.7] Problems in new APIs (TryStatementWithResources, DisjunctiveType)
340375 [1.7] Merge TryStatementWithResources into TryStatement
339891 NPE when searching for method (with '*' wildcard character)
340022 [1.7][compiler] Support for precise rethrow
340029 [1.5][compiler] Enum constructor that throws Exception reports a confusing error message

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M7 - March 15, 2011
Project org.eclipse.jdt.core v_B43 (cvs).

## What's new in this drop

### Problem Reports Fixed

339337 isLocal() in IType returns true for anonymous types
339837 [1.7][compiler] Multicatch syntax not rejected at 1.6-
337962 COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS misses reference to field from supertype
338011 COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS wrongly suppresses constructor parameter type
337751 COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS misses references in conditional expression
339870 [1.7] Bad list of subclasses in Statement AST node
339913 [compiler] Misleading error message for annotations inside a method body
339864 [1.7] Add recovery in ASTConverter for all new constructs in JLS3 mode
338402 [1.7][compiler][enh] Open issues in try with resources implementation

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - March 9, 2011 - 3.7.0 M6
Project org.eclipse.jdt.core v_B42 (cvs).

## What's new in this drop

### Problem Reports Fixed

339250 [null] Incorrect redundant null check warning on a String

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - March 8, 2011
Project org.eclipse.jdt.core v_B41 (cvs).

## What's new in this drop

### Problem Reports Fixed

339139 [compiler] HEAD contents of org.eclipse.wst.jsdt.core doesn't compile anymore
338649 [perfs] Regression on FullSourceWorkspaceModelTests#testInitJDTPlugin
339128 [Doc] Sort statements and expressions inside DOM documentation for both abstract classes org.eclipse.jdt.core.dom.Expressionn and org.eclipse.jdt.core.dom.Statement

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - March 6, 2011
Project org.eclipse.jdt.core v_B40 (cvs).

## What's new in this drop

### Problem Reports Fixed

326950 [compiler][null]Do not optimize code generation based on static analysis (dead code)
324178 [null] ConditionalExpression.nullStatus(..) doesn't take into account the analysis of condition itself
338006 IJavaProject#getPackageFragmentRoots() should return roots in order
338234 [compiler] Missing warning for uninitialized variable in dead code
336428 [compiler][null] bogus warning "redundant null check" in condition of do {} while() loop

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - March 1, 2011
Project org.eclipse.jdt.core v_B39 (cvs).

## What's new in this drop

- Added new constant on org.eclipse.jdt.core.IJavaProject to provide the value of the classpath file path. See details in bug 241598.

### Problem Reports Fixed

338118 [compiler] CastExpression type should be changed to be a type reference and not an expression
171019 [javadoc][select] F3 on {@inheritDoc} tag should navigate to target javadoc
222188 [javadoc] Incorrect usage of inner type not reported
338303 [compiler][null] Warning about Redundant assignment conflicts with definite assignment analysis
337868 [compiler][model] incomplete support for package-info.java when using SearchableEnvironment
337964 [DOM] code that would definitely cause NPE if executed
241598 [API] Constant needed for .classpath
337795 [1.7][compiler] Missing unchecked warning at varargs method/ctor declaration site
337802 [1.7][compiler] Usage of 0x0ffffffff is being reported as out of range.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - February 22, 2011
Project org.eclipse.jdt.core v_B38 (cvs).

## What's new in this drop

- Added a new API to ease the retrieval of method parameter's annotations (see bug 334783 for details):

      /**
       * Returns the parameters of this method.
       * An empty array is returned, if the method has no parameters.
       * For binary types, associated source is used to retrieve the name range,
       * source range and the flags.
       * These local variables can be used to retrieve the parameter annotations.
       *
       * @return the parameters of this method
       * @throws JavaModelException if this element does not exist or if an
       *      exception occurs while accessing its corresponding resource.
       * @since 3.7
       */
      ILocalVariable[] getParameters() throws JavaModelException;

### Problem Reports Fixed

337799 [1.7][compiler][varargs] Eclipse fails to report error on incorrect SafeVarargs usage
337738 [1.7][content assist]Test CompletionParserTest#testEA_1 fails
334783 [API] Add new API to ease the retrieval of the parameter annotations for an IMethod
336046 Source attachment not recovered when importing Projects
336782 [1.7][recovery]Extra error tokens with invalid unary operator
313870 Wrong warnings on Java.Compiler.Errors/Warnings "Redundant null check"
337275 Incorrect/outdated javadoc for org.eclipse.jdt.core.dom.Expression
337093 [compiler][generics] Javac-warning on vararg missing in Eclipse
336934 [compiler] NPE in Scope.getTypeOrPackage

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - February 15, 2011
Project org.eclipse.jdt.core v_B37 (cvs).

## What's new in this drop

- Adding a new token "javadoc" for @suppressWarnings to remove all warnings related to javadoc.

### Problem Reports Fixed

335751 [1.7][compiler] Cycle inheritance in type arguments is not detected
335309 [formatter] FUP of bug 332843: add regression test
334622 Eclipse compiler allows access to private fields for typed variables
274737 Relative Classpath entries should not be resolved relative to the workspace
179566 [compiler] Support of @SuppressWarnings for JavaDoc Warnings
336821 Javadoc reference to constructor does not work without parameter list
331138 ASTRewrite#replace(..) does not consider the TargetSourceRangeComputer

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M6 - February 11, 2011
Project org.eclipse.jdt.core v_B36 (cvs).

## What's new in this drop

- All JDT/Core projects (tests included) have been set to force strict compatibility between the JRE used for the project and the BREE defined for the project.

### Problem Reports Fixed

336544 [regression][compiler] Source flagged as dead code incorrectly.
189459 [1.6][compiler] Doc comment support should not be systematically activated while processing annotations
332838 Bogus potential null pointer access warning (regression; works with 3.6)
334377 [1.5][compiler] Invalid 'type mismatch' error in conditional expression (if-else construct behaves correct)
336322 [1.7][search]CCE while searching for a type reference in multiple catch parameters
335780 Compiler says a method can be potentially static but this method contains 'this'
310747 [content assist] Irrelevant proposals while completing inside array initializer.
335845 [compiler] compiler wrongly suggests to add a static qualifier to a method
335602 [search] Java indexing thread can index data outside of workspace

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - January 25, 2011 - 3.7.0 M5
Project org.eclipse.jdt.core v_B35 (cvs).

## What's new in this drop

### Problem Reports Fixed

324189 [search] Method declaration search returns false results (suffix match on type name)
327143 IndexManager should not accept new jobs if the processing thread is null

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - January 24, 2011
Project org.eclipse.jdt.core v_B34 (cvs).

## What's new in this drop

- New code formatter option to preserve existing white space between code and line comments.
  See details in bug 282988:

      	/**
      	 * FORMATTER / Option to control whether the white space between code and line comments should be preserved or replaced with a single space
      	 *     - option id:         "org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments"
      	 *     - possible values:   { TRUE, FALSE }
      	 *     - default:           FALSE
      	 *
      	 * @see #TRUE
      	 * @see #FALSE
      	 * @since 3.7
      	 */
      	public final static String FORMATTER_COMMENT_PRESERVE_WHITE_SPACE_BETWEEN_CODE_AND_LINE_COMMENT = "org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments";

### Problem Reports Fixed

335093 [compiler][null] minimal hook for future null annotation support
334119 AIOOBE in BindingKeyParser.parseInnerType (was: Copy Qualified Name throws ArrayIndexOutOfBoundsException)
282988 [formatter] Option to align single-line comments in a column
334652 Javadoc content not found for non-static inner class constructors
136091 Cannot access Javadoc location over http
333089 [compiler][null]AIOOBE while assigning variable a potentially null value in try/finally

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - January 18, 2011
Project org.eclipse.jdt.core v_B33 (cvs).

## What's new in this drop

### Problem Reports Fixed

325418 [search] Search for method declarations returns spurious potential matches for anonymous classes
332744 Generated model code doesn't compile with J2SE-1.4 execution environment
334315 [compiler] Problem types with missing superclass or superinterfaces should use Object for missing types
333956 CompilerOptions#warningOptionNames(): OPTION_ReportRawTypeReference missing

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - January 11, 2011
Project org.eclipse.jdt.core v_B32 (cvs).

## What's new in this drop

### Problem Reports Fixed

327654 FUP of bug 317264: Refactoring is not possible if the commons-lang.jar is in the path
333710 [DOM] wrong JavaElement for recovered ITypeBinding
333669 [DOM] Incorrect signature for type arguments in test case from bug 333360
333360 [DOM] eclipse fails to create array binding in this situation
332423 [1.5][compiler] ClassCastException when compiling against scala-libary.jar
332268 [assist] Allow proposals for static fields in initializers of fields being declared textually in advance
331334 [1.5][compiler] "The code for the static initializer is exceeding the 65535 bytes limit" in enum
333487 [formatter] Incorrectly ordered method arguments in Scribe
332843 [formatter] format save action fails with SIOOBE

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - January 4, 2011
Project org.eclipse.jdt.core v_B31 (cvs).

## What's new in this drop

### Problem Reports Fixed

317039 [formatter] Code Formatter fails on inner class source indentation
330313 [formatter] 'Never join already wrapped lines' formatter option does correctly indent
329227 Usage of broken quicksort algorithm in jdt.internal.compiler.util.Util
332359 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding should return number of fields directly
332818 [formatter] Java formatter, Blank Lines tab, only 1st line indented when multiple lines is set
332877 [formatter] line comment wrongly put on a new line

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - December 21, 2010
Project org.eclipse.jdt.core v_B30 (cvs).

## What's new in this drop

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_MISSING_STATIC_ON_METHOD added to raise warning or error for a method which qualifies to be declared as `static`, but not been declared as one.(see details in bug 318682):

      	/**
      	 * Compiler option ID: Reporting a method that qualifies as static, but not declared static.
      	 * When enabled, the compiler will issue an error or a warning if a method has
      	 * not been declared as static, even though it qualifies as one.
      	 *
      	 * Option id:"org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic"
      	 * Possible values:{ "error", "warning", "ignore" }
      	 * Default:"ignore"
      	 *
      	 * @since 3.7
      	 * @category CompilerOptionID
      	 */
      	public static final String COMPILER_PB_MISSING_STATIC_ON_METHOD = PLUGIN_ID + ".compiler.problem.reportMethodCanBeStatic";

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_POTENTIALLY_MISSING_STATIC_ON_METHOD added to raise warning or error for a method which may qualify to be declared as `static` when another method doesn't override it, but not been declared as one.(see details in bug 318682):

      	/**
      	 * Compiler option ID: Reporting a method that may qualify as static, but not declared static.
      	 * When enabled, the compiler will issue an error or a warning if a method has
      	 * not been declared as static, even though it may qualify as one,
      	 * when another method doesn't override it.
      	 *
      	 * Option id:"org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic"
      	 * Possible values:{ "error", "warning", "ignore" }
      	 * Default:"ignore"
      	 *
      	 * @since 3.7
      	 * @category CompilerOptionID
      	 */
      	public static final String COMPILER_PB_POTENTIALLY_MISSING_STATIC_ON_METHOD = PLUGIN_ID + ".compiler.problem.reportMethodCanBePotentiallyStatic";

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS added to give the user control over whether forced and unavoidable generic type problems should be reported by the compiler or not (see details in bug 322817):

      	/**
      	 * Compiler option ID: Reporting of Unavoidable Generic Type Problems.
      	 * When enabled, the compiler will issue an error or warning even when it detects a generic type problem
      	 * that could not have been avoided by the programmer. As an example, a type may be forced to use raw types
      	 * in its method signatures and return types because the methods it overrides from a super type are declared to
      	 * use raw types in the first place.
      	 *
      	 * Option id:"org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems"
      	 * Possible values:{ "enabled", "disabled" }
      	 * Default:"enabled"
      	 *
      	 * @since 3.7
      	 * @category CompilerOptionID
      	 */
      	public static final String COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS = PLUGIN_ID + ".compiler.problem.unavoidableGenericTypeProblems";

### Problem Reports Fixed

327471 java.io.EOFException at java.io.DataInputStream.readInt(Unknown Source)
332619 Small error in IType#codeComplete Javadoc example
318682 Enhancement request: Warning if no fields are used and the method is still not static
322817 Compiler option to ignore unavoidable type safety problems due to raw APIs
332451 Javadoc cleanup in SearchEngine#createJavaSearchScope(IJavaElement[], int)
332637 Dead Code detection removing code that isn't dead

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M5 - December 14, 2010
Project org.eclipse.jdt.core v_B29 (cvs).

## What's new in this drop

### Problem Reports Fixed

331736 [dom] tests should check for malformed nodes - may catch a parser bug

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - December 6, 2010 - 3.7.0 M4
Project org.eclipse.jdt.core v_B28 (cvs).

## What's new in this drop

### Problem Reports Fixed

331872 [compiler] NPE in Scope.createArrayType when attempting qualified access from type parameter
331770 org.eclipse.jdt.core.tests.model.JavaSearchBugsTests.testBug323514a() is failing in N20101202-2000
331632 FUP of 323514: Add performance tracking test for scenario

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - December 4, 2010 - 3.7.0 M4
Project org.eclipse.jdt.core v_B27 (cvs).

## What's new in this drop

### Problem Reports Fixed

324367 IJavaProject.findPackageFragmentRoots(IClasspathEntry cpe) returns empty list
327899 include the Ant compiler adapter in ecj JAR
331446 [1.4/1.5] Unexpected ambiguous error for 1.4 project
323514 [indexing] The Java Indexer is taking longer to run in eclipse 3.6 when opening projects
329671 Regression: arg0,1,2... parameter names are cached
305172 [common navigator] Project Explorer not fully updating with jar classpath container changes.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - November 30, 2010
Project org.eclipse.jdt.core v_B26 (cvs).

## What's new in this drop

### Problem Reports Fixed

331271 [assist] Reconsider assumption to filter not yet declared fields from being proposed
329663 [type hierarchy] Interfaces duplicated in type hierarchy on two packages from multiple projects
328362 [formatter] Format regions does not format as expected
331120 Improvements to Signature API
299384 codeSelect does not find declaration of constructor with generic parameter type when referenced from 1.4 code
329822 [1.7][compiler] Stackoverflow error if compiled in 1.7 compliance mode
330869 Bogus error reported for Incompatible operand types Class<capture#2-of ? extends T> and Class<Bug.Bar>
330845 [Model] Possible bug in Member class

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - November 23, 2010
Project org.eclipse.jdt.core v_B25 (cvs).

## What's new in this drop

- Added a new API in org.eclipse.jdt.core.compiler.CharOperation to find if a given character array starts with a given prefix, at the given index. (see details in bug 329288):

          /**
           * Answers true if the given name, starting from the given index, starts with the given prefix,
           * false otherwise. isCaseSensitive is used to find out whether or not the comparison should be
           * case sensitive.
           *
           *
           * For example:
           *
           * 1.   prefix = { 'a' , 'B' }
           *      name = { 'c', 'd', 'a' , 'b', 'b', 'a', 'b', 'a' }
           *      startIndex = 2
           *      isCaseSensitive = false
           *      result => true
           *
           * 2.   prefix = { 'a' , 'B' }
           *      name = { 'c', 'd', 'a' , 'b', 'b', 'a', 'b', 'a' }
           *      startIndex = 2
           *      isCaseSensitive = true
           *      result => false
           *
           *
           * @param prefix the given prefix
           * @param name the given name
           * @param isCaseSensitive to find out whether or not the comparison should be case sensitive
           * @param startIndex index from which the prefix should be searched in the name
           * @return true if the given name starts with the given prefix, false otherwise
           * @throws NullPointerException if the given name is null or if the given prefix is null
           * @since 3.7
           */
           public static final boolean prefixEquals(char[] prefix,	char[] name, boolean isCaseSensitive, int startIndex)

### Problem Reports Fixed

325481 [assist] fields declared after a particular field are proposed in its initialization
329727 Invalid check in the isConstructor() method of the IMethod implementation.
329288 Fetching parameter names literally hangs on a class with a lot of methods
330435 [1.4][1.5][compiler] Wrong handling of parameterized methods in 1.4 mode with generified JDK
330445 [1.4][1.5][compiler] Properties doesn't match Map<String, String> in 1.4 compliance mode
330347 [1.4][1.5][compiler] The performance test FullSourceWorkspaceBuildTests#testFullBuildDefault() fails
329156 [compiler][APT] Source generated in last round not compiled

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - November 16, 2010
Project org.eclipse.jdt.core v_B24 (cvs).

## What's new in this drop

### Problem Reports Fixed

329998 [content assist] override method proposal in anonymous class inserts bad stub
330081 [compiler] ArrayIndexOutOfBoundsException when Switched from C/C++ Perspective to Java Perspective
328519 [compiler] local variable cannot be optimized out despite warning "not used"
329709 [formatter] Formatter fails to format enum with extra semicolon and body

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M4 - November 9, 2010
Project org.eclipse.jdt.core v_B23 (cvs).

## What's new in this drop

### Problem Reports Fixed

329593 [1.4/1.5] [compiler] incorrect error about incompatible operand
329588 [1.4/1.5][compiler] Class cast issue with java.lang.Class and the 1.4/1.5 mixed mode
329584 [1.4/1.5][compiler] Compiler is confused about name clashes in 1.4 project
328674 [assist] local being declared proposed inside its initialization
329344 [compiler] Batch compiler should not removed some duplicated entries on the classpath
186565 [1.5][compiler] 1.4/1.5 .class file interaction
328689 [1.4][compiler] "Incompatible conditional operand types Class and Class"
328775 [compiler] Compiler fails to warn about invalid cast when using J2SE 1.4 compiler settings
328827 Compiler fails to recognize a Map when using J2SE 1.4 compiler settings
324850 Compile error claims method is missing but is inherited
328969 [DOM] NPE retrieving a java element for an annotation binding

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 28, 2010 - 3.7.0 M3
Project org.eclipse.jdt.core v_B22 (cvs).

## What's new in this drop

This build input simply reverts the change made for bug 324850.

### Problem Reports Fixed

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 27, 2010
Project org.eclipse.jdt.core v_B21 (cvs).

## What's new in this drop

### Problem Reports Fixed

328786 [search] NPE in field match locator
328744 Removed warnings related to fix for 185682
229042 [buildpath] could create build path error in case of invalid external JAR format

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 25, 2010
Project org.eclipse.jdt.core v_B20 (cvs).

## What's new in this drop

### Problem Reports Fixed

282152 [1.5][compiler] Generics code rejected by Eclipse but accepted by javac
328240 org.eclipse.text.edits.MalformedTreeException: Overlapping text edits

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 24, 2010
Project org.eclipse.jdt.core v_B19 (cvs).

## What's new in this drop

### Problem Reports Fixed

185682 Increment/decrement operators mark local variables as read
328400 TextEdit computed incorrectly for inserting annotation before package declaration
303511 Allow to specify encoding for source attachments
326354 [3.6][compiler][regression] Compiler in 3.6 and 3.6.1 generates bad code
328361 [1.4][compiler] variable initialized within an assert expression are no longer reported as potential non initialized
328247 Disassemble fails to disassemble synthetic constructor with varargs arguments
328115 [DOM] All ASTNode APIs should specify types of property descriptors

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 19, 2010
Project org.eclipse.jdt.core v_B18 (cvs).

## What's new in this drop

### Problem Reports Fixed

327429 Use Charset.name() instead of Charset.toString() to get the encoding
327817 ecjsrc.zip should be ecjsrc.jar

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 12, 2010
Project org.eclipse.jdt.core v_B17 (cvs).

## What's new in this drop

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_METHOD_TYPE_PARAMETERS added to enable or disable the missing Javadoc tag warning or error for a method paramater without a corresponding `@param` tag. (see details in bug 322581):

          /**
           * Compiler option ID: Reporting Missing Javadoc Tags for Method Type Parameters.
           * Specify whether a missing @param for a type parameter in a method declaration should be reported.
           * When enabled, the compiler will issue a missing Javadoc tag error or warning for a type parameter without a
           * corresponding @param tag.
           *
           * This option only has an effect if the compiler compliance is 1.5 or greater.
           *
           * Option id:"org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters"
           * Possible values:{ "enabled", "disabled" }
           * Default:"disabled"
           *
           * @since 3.7
           * @category CompilerOptionID
           */
           public static final String COMPILER_PB_MISSING_JAVADOC_TAGS_METHOD_TYPE_PARAMETERS = PLUGIN_ID + ".compiler.problem.missingJavadocTagsMethodTypeParameters";

- Added new API on org.eclipse.jdt.core.dom.rewrite.ASTRewrite to store properties (See bug 325131).

      	/**
      	 * Returns the value of the named property of this rewrite, or null if none.
      	 *
      	 * @param propertyName the property name
      	 * @return the property value, or null if none
      	 * @see #setProperty(String,Object)
      	 * @throws IllegalArgumentException if the given property name is null
      	 * @since 3.7
      	 */
      	public final Object getProperty(String propertyName);

      	/**
      	 * Sets the named property of this rewrite to the given value,
      	 * or to null to clear it.
      	 *
      	 * Clients should employ property names that are sufficiently unique
      	 * to avoid inadvertent conflicts with other clients that might also be
      	 * setting properties on the same rewrite.
      	 *
      	 *
      	 * Note that modifying a property is not considered a modification to the
      	 * AST itself. This is to allow clients to decorate existing rewrites with
      	 * their own properties without jeopardizing certain things (like the
      	 * validity of bindings), which rely on the underlying tree remaining static.
      	 *
      	 *
      	 * @param propertyName the property name
      	 * @param data the new property value, or null if none
      	 * @see #getProperty(String)
      	 * @throws IllegalArgumentException if the given property name is null
      	 * @since 3.7
      	 */
      	public final void setProperty(String propertyName, Object data);

### Problem Reports Fixed

324367 IJavaProject.findPackageFragmentRoots(IClasspathEntry cpe) returns empty list
311022 NPE in InternalExtendedCompletionContext.getVisibleElement
325131 ASTRewrite should offer get/setProperty() like ASTNode
322789 package-info.java Won't Build On First Compile Pass
322581 [5.0] Add Javadoc compiler option to (not) report missing tags for method type parameters

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - October 5, 2010 - 3.7.0 M3
Project org.eclipse.jdt.core v_B16 (cvs).

## What's new in this drop

- New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS added to give the user flexibility to see null related warning arising because of assert statements (see details in bug 325342):

          /**
           * Compiler option ID: Raise null related errors or warnings arising because of assert statements.
           * When enabled, the compiler will flag all null related errors or warnings that have been enabled by the user,
           * irrespective of whether a variable occurred in an assert statement.
           * When disabled, the compiler will not flag null related errors or warnings on variables that got marked as maybe or definitely
           * null in an assert statement upstream.
           *
           * Option id:"org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts"
           * Possible values:{ "enabled", "disabled" }
           * Default:"disabled"
           *
           * @since 3.7
           * @category CompilerOptionID
           */
           public static final String COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS = PLUGIN_ID + ".compiler.problem.includeNullInfoFromAsserts";

### Problem Reports Fixed

323012 [jsr14][compiler] Class literal value is not cached when target is jsr14
325342 Add new option for null analysis based on assert result.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - September 28, 2010
Project org.eclipse.jdt.core v_B15 (cvs).

## What's new in this drop

### Problem Reports Fixed

312603 [content assist] field being declared is proposed as a method argument inside initialization
325342 Add new option for null analysis based on assert result.
325481 [assist] fields declared after a particular field are proposed in its initialization
325633 1.4 project confused when referencing a return type of generic array from 1.5 project

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M3 - September 21, 2010
Project org.eclipse.jdt.core v_B14a (cvs).

## What's new in this drop

### Problem Reports Fixed

325567 A blocking "java.lang.IllegalArgumentException: info cannot be null" exception

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - September 21, 2010 - 3.7.0 M2
Project org.eclipse.jdt.core v_B13a (cvs).

## What's new in this drop

### Problem Reports Fixed

325755 [compiler] wrong initialization state after conditional expression

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - September 15, 2010
Project org.eclipse.jdt.core v_B13 (cvs).

## What's new in this drop

### Problem Reports Fixed

325229 [compiler] eclipse compiler differs from javac when assert is present (FUP of bug 319510)
325270 [content assist] Parameter names are not displayed for static inner class of an external jar
325321 [compiler] Synthetic constructors for non-static inner classes can exceed 255 parameters -> ClassFormatError

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - September 13, 2010
Project org.eclipse.jdt.core v_B12a (cvs).

## What's new in this drop

### Problem Reports Fixed

324840 [compiler] Improving debug strings for Break statement, IntLiteral and CaseStatement
324848 [1.6][compiler] NullPointerException when trying to synchronize on non-existing outer class instance

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - September 9, 2010 - 3.7.0 M2
Project org.eclipse.jdt.core v_B11 (cvs).

## What's new in this drop

- Adding missing API methods on org.eclipse.jdt.core.ILocalVariable (see details in bug 48420):

          /**
           * Returns true if this local variable is a method parameter, false otherwise.
           *
           * @return true if this local variable is a method parameter, false otherwise
           * @since 3.7
           */
          boolean isParameter();

          /**
           * Returns the modifier flags for this local variable. The flags can be examined using class.
           *
           * Note that only flags as indicated in the source are returned.
           *
           * @return the modifier flags for this local variable
           * @see Flags
           * @since 3.7
           */
          int getFlags();

          /**
           * Returns the declaring member of this local variable.
           *
           * This is a handle-only method.
           *
           * @return the declaring member of this local variable
           * @since 3.7
           */
          IMember getDeclaringMember();

          /**
           * Returns the Java type root in which this local variable is declared.
           *
           * This is a handle-only method.
           *
           * @return the Java type root in which this local variable is declared
           * @since 3.7
           */
          ITypeRoot getTypeRoot();

- Adding missing API method on org.eclipse.jdt.core.ITypeParameter (see details in bug 48420):

          /**
           * Returns the Java type root in which this type parameter is declared.
           *
           * This is a handle-only method.
           *
           * @return the Java type root in which this type parameter is declared
           * @since 3.7
           */
          ITypeRoot getTypeRoot();

### Problem Reports Fixed

324762 Compiler thinks there is deadcode and removes it!
292478 Report potentially null across variable assignment
324748 JDT core tests have restrictive range on com.ibm.icu
323633 [1.5][compiler] Reconciler issues mixing 1.4 projects with & 1.5 project with generics.
317046 Exception during debugging when hover mouse over a field
48420 [API] ILocalVariable and ITypeParameter should provide more methods
321414 Synthetic constructors can exceed 255 parameters -> ClassFormatError

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - September 7, 2010
Project org.eclipse.jdt.core v_B10 (cvs).

## What's new in this drop

- Code formatter: 4 new options were added to better handle the addition of new lines after annotations.

       * FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION_ON_FIELD
       * FORMATTER / Option to insert a new line after an annotation on a field declaration
       *     - option id:         "org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field"
       *     - possible values:   { INSERT, DO_NOT_INSERT }
       *     - default:           INSERT
       *
       * FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION_ON_METHOD
       * FORMATTER / Option to insert a new line after an annotation on a method declaration
       *     - option id:         "org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method"
       *     - possible values:   { INSERT, DO_NOT_INSERT }
       *     - default:           INSERT
       *
       * FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION_ON_PACKAGE
       * FORMATTER / Option to insert a new line after an annotation on a package declaration
       *     - option id:         "org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package"
       *     - possible values:   { INSERT, DO_NOT_INSERT }
       *     - default:           INSERT
       *
       * FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION_ON_TYPE
       * FORMATTER / Option to insert a new line after an annotation on a type declaration
       *     - option id:         "org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type"
       *     - possible values:   { INSERT, DO_NOT_INSERT }
       *     - default:           INSERT

  The addition of new lines after annotations has been discussed in bug 308000
  Also note that previously available code formatter constant FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION_ON_MEMBER has been deprecated.
  All new options must be enabled to activate old strategy.
- The previously added new APIs:

  > `org.eclipse.jdt.core.IImportDeclaration#getNameRange()`,
  > `org.eclipse.jdt.core.IPackageDeclaration#getNameRange()`

  have been moved to the org.eclipse.jdt.core.ISourceReference interface. See bug 321764 for details:

      /**
       * Returns the name range associated with this element.
       *
       * If the element is an IMember, it returns
       * the source range of this member's simple name,
       * or null if this member does not have a name
       * (for example, an initializer), or if this member does not have
       * associated source code (for example, a binary type).
       *
       * If this element is an IImportDeclaration, the source range
       * of this import declaration's name, or null if this import
       * declaration does not have associated source code (for example, a binary type).
       * The source range for the name includes the trailing '*' if the call to
       * IImportDeclaration#isOnDemand() returns true.
       *
       * If this element is an IPackageDeclaration, the source range of
       * this package declaration's name, or null if this package
       * declaration does not have associated source code (for example, a binary type).
       *
       * If this element is an IAnnotation, the source range of
       * this annotation's name, or null if this annotation does not have
       * associated source code (for example, in a binary type).
       *
       * If this element is an ITypeParameter, the source range of this
       * type parameter's name, or null if this type parameter does not have
       * associated source code (for example, in a binary type).
       *
       * If this element is an ITypeRoot or IImportContainer, it
       * returns null.
       *
       * @return the name range associated with this element, or null if
       * not available
       *
       * @since 3.7
       */
      ISourceRange getNameRange() throws JavaModelException;

### Problem Reports Fixed

322979 [search] use of IJavaSearchConstants.IMPLEMENTORS yields surprising results
316937 JavaElement.getElementInfo(..) throws JavaModelException when trying to get info for an inner class in an external jar
322531 [1.5][Generics] eclipse compiles code rejected by javac with incomparable types error.
308000 [formatter] Formatter is missing options regarding Annotation Newlines
321276 JDT core apis dont recognize InnerClass constructor inside .class files
252556 [formatter] Spaces removed before formatted region of a compilation unit.
323785 [builder] NPE when adding 'package-info.java' to default package
321358 NPE refreshing external folders
322596 [DOM] ASTNode APIs should specify types of property descriptors
324109 [search] Java search shows incorrect results as accurate matches
324154 NPE in FlowContext while building
133125 [compiler][null] need to report the null status of expressions and analyze them simultaneously
321695 Test added for bug 319425 doesn't detect the bug
258905 making java.lang.AssertionError accessible thru resolveWellKnownType method
321764 Add getNameRange() to ISourceReference

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M2 - August 31, 2010 - 3.7.0 M2
Project org.eclipse.jdt.core v_B09 (cvs).

## What's new in this drop

### Problem Reports Fixed

311578 [formatter] Enable/disable tag detection should include comment start/end tokens
320618 inconsistent initialization of classpath container backed by external class folder
323693 [1.5][compiler] Compiler fails to diagnose name clash
323558 Tests test0307a and test0307e under BatchCompilerTest failing
308402 [index] PatternSearchJob ignores participant index entries
317264 [search] Refactoring is impossible with commons.lang added to project

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - August 24, 2010
Project org.eclipse.jdt.core v_B08 (cvs).

## What's new in this drop

### Problem Reports Fixed

321926 Erroneously deems null check conditional branch to be dead code, and produces incorrect bytecode
320170 [compiler] [null] Whitebox issues in null analysis
305259 Strange error when referencing code produced with jsr14 target
321115 Compiler is not case sensitive with package names
310427 [content assist] FUP of 236306: Variable proposed before definition.
320911 Not all redundant superinterface problems reported

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - August 17, 2010
Project org.eclipse.jdt.core v_B07 (cvs).

## What's new in this drop

### Problem Reports Fixed

319201 [null] no warning when unboxing SingleNameReference causes NPE
322154 Compiler bug that does not occur in Galileo 3.5.2
320754 [formatter] formatter:off/on tags does not work correctly
322001 [1.5][compiler] Name Clash error occurs

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - August 10, 2010
Project org.eclipse.jdt.core v_B06 (cvs).

## What's new in this drop

### Problem Reports Fixed

320167 Auto-Activation works only once
320809 ArrayIndexOutOfBoundsException in IndexManager.writeSavedIndexNamesFile - concurrency issue?
321085 Enhanced for loops need to implement type safety checks on array initializers
319626 Preferences->Java Compiler-> Errors/Warnings -> Undocumented Empty Block

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - July 30, 2010 - 3.7.0 M1
Project org.eclipse.jdt.core v_B05 (cvs).

## What's new in this drop

- New API added to be able to retrieve the name range for `org.eclipse.jdt.core.IImportDeclaration`:

      /**
       * Returns the source range of this import declaration's name,
       * or null if this import declaration does not have
       * associated source code (for example, a binary type).
       *
       * The source range for the name includes the trailing '*' if the call to
       * isOnDemand() returns true.
       *
       *
       * @exception JavaModelException if this element does not exist or if an
       *      exception occurs while accessing its corresponding resource.
       * @return the source range of this import declaration's name,
       * or null if this import declaration does not have
       * associated source code (for example, a binary type)
       * @since 3.7
       */
      ISourceRange getNameRange() throws JavaModelException;

- New API added to be able to retrieve the name range for `org.eclipse.jdt.core.IPackageDeclaration`:

      /**
       * Returns the source range of this package declaration's name,
       * or null if this package declaration does not have
       * associated source code (for example, a binary type).
       *
       * @exception JavaModelException if this element does not exist or if an
       *      exception occurs while accessing its corresponding resource.
       * @return the source range of this package declaration's name,
       * or null if this package declaration does not have
       * associated source code (for example, a binary type)
       * @since 3.7
       */
      ISourceRange getNameRange() throws JavaModelException;

### Problem Reports Fixed

306524 ASTRewriteAnalyzer uses wrong starting offset in case of comments before a node
150980 [API] Selecting import declaration with space in outline highlights wrong range
320841 TypeConverters don't set enclosingType
320802 ASTParser.createASTs(..) fails silently on multiple missing parameter types.

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - July 27, 2010
Project org.eclipse.jdt.core v_B04 (cvs).

## What's new in this drop

### Problem Reports Fixed

319425 [compiler] JDT outputs corrupt .class file for problem type
319885 Spurious 'cycle detected'/'hierarchy inconsistent' errors if a type that WOULD be cyclic is static-imported
312076 [1.5][compiler] Eclipse compiler behaves differently from javac
320414 Compiler produces incorrect bytecode for null pointer check
223225 [DOM] IMemberValuePairBinding does not desugar single values into one-element arrays
319603 [1.5][compiler] eclipse fails with 2 generics methods with the same name while javac succeeds
318020 [compiler] wrong initialization flow info with if (true) throw... pattern in else block

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - July 20, 2010
Project org.eclipse.jdt.core v_B03 (cvs).

## What's new in this drop

### Problem Reports Fixed

320340 Test failures in debug mode
307523 Differences between patch of bug 210422 and sources
319900 StringLiteral#setLiteralValue needlessly escapes apostrophes (')
310264 Wrong warning: The assignment to variable has no effect

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - July 13, 2010
Project org.eclipse.jdt.core v_B02 (cvs).

## What's new in this drop

### Problem Reports Fixed

314556 [1.5][compiler] compiler fails to report attempt to assign weaker access privileges
316956 [compiler] Private superclass and enclosing scope field names incorrectly reported as conflicting
151500 [assist] Method parameter names are not displayed for inner classes
304006 [code assist] Autocast after instanceof feature doesnt work in some cases.
210419 [compiler] Invalid field initializer not flagged as error
212713 Bad error message for static block inside an interface

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - July 6, 2010 - 3.7M1
Project org.eclipse.jdt.core v_B01 (cvs).

## What's new in this drop

### Problem Reports Fixed

313153 Too many blocked "Refreshing external folders" jobs (FUP of bug 302295)
316654 ITypeHierarchyChangedListener receive spurious callbacks
317858 Eclipse isn't accessing the correct field/class - causes compile error
318171 fieldHiding-Warning does not appear if classes are in different packages

# Eclipse Platform Build Notes
Java development tools core

Eclipse SDK 3.7M1 - June 29, 2010
Project org.eclipse.jdt.core v_B00 (cvs).

## What's new in this drop

### Problem Reports Fixed

317841 [incremental build] unnecessary 'structural changes' due to annotation parameters
317468 Adding elements to an enum body with trailing comma generates bad code
313668 [search] Call hierarchy doesn't show all calls of the method in workspace
317972 Fix for wrong usages of affect* and effect*
313651 [formatter] format comments (differs between paste and save action)
316889 Internal compiler error: java.lang.NullPointerException with a specific use of recursive generics
315978 Big regression, eclipse compiles my workspace in 3 mins instead of few seconds
315577 [formatter] No line break after <br> if followed by {@link when formatting java source file
306464 NPE in ProblemReporter.missingTypeInMethod(ProblemReporter.java:5113)
317212 [compiler] Illegal permission to invoke the constructor of a member class of an inaccessible type.
195346 [assist] Array type should be filtered while completing in case of a switch
315732 [formatter] NullPointerException (always) on inserting a custom template proposal into java code when "Use code formatter" is on
316456 [1.5][compiler] Annotation values can access private class members
312989 Accepts illegal method-local classes if hidden by generics parameters
310423 [content assist] After 'implements' annotation types should not be proposed
314830 [compiler] Switching on a null expression doesn't always throw NullPointerException
313825 Erroneous local variable's problems reported at surrounding ParenthesizedExpression
314898 Typo in org.eclipse.jdt.core.dom.NameEnviromentWithProgress

For earlier build notes, also see build notes up to Release 3.6.