jdt core - build notes 3.8 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.8 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.7 (also see a summary of API changes).
Maintenance of previous releases of JDT/Core is performed in parallel branches: R3.7.x, 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. |
/** * Compiler option ID: Reporting Incomplete Enum Switch. * When enabled, the compiler will issue an error or a warning * regarding each enum constant for which a corresponding case label is lacking. * Reporting is further controlled by the option {@link #COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT}. * * Option id:"org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch" * Possible values:{ "error", "warning", "ignore" } * Default:"warning" * * @since 3.1 * @category CompilerOptionID */ public static final String COMPILER_PB_INCOMPLETE_ENUM_SWITCH = PLUGIN_ID + ".compiler.problem.incompleteEnumSwitch"; //$NON-NLS-1$ /** * Compiler option ID: Reporting Missing Enum Case In Switch Despite An Existing Default Case. * This option further controls the option {@link #COMPILER_PB_INCOMPLETE_ENUM_SWITCH}: * * - If enabled the compiler will report problems about missing enum constants even if a default case exists * in the same switch statement. * - If disabled existence of a default case is considered as sufficient to make a switch statement complete. * * This option has no effect if {@link #COMPILER_PB_INCOMPLETE_ENUM_SWITCH} is set to "ignore". * * Option id:"org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault" * Possible values:{ "enabled", "disabled" } * Default:"disabled" * * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT = PLUGIN_ID + ".compiler.problem.missingEnumCaseDespiteDefault"; //$NON-NLS-1$ /** * Compiler option ID: Reporting Missing Default Case In Switch. * When enabled, the compiler will issue an error or a warning * against each switch statement that lacks a default case. * * Option id:"org.eclipse.jdt.core.compiler.problem.missingDefaultCase" * Possible values:{ "error", "warning", "ignore" } * Default:"ignore" * * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE = PLUGIN_ID + ".compiler.problem.missingDefaultCase"; //$NON-NLS-1$
/** @since 3.8 */ int MissingEnumDefaultCase = Internal + 766; /** @since 3.8 */ int MissingDefaultCase = Internal + 767; /** @since 3.8 */ int MissingEnumConstantCaseDespiteDefault = FieldRelated + 768; /** @since 3.8 */ int UninitializedLocalVariableHintMissingDefault = Internal + 769; /** @since 3.8 */ int UninitializedBlankFinalFieldHintMissingDefault = FieldRelated + 770; /** @since 3.8 */ int ShouldReturnValueHintMissingDefault = MethodRelated + 771;
/** @since 3.8 */ int RedundantNullCheckOnSpecdNonNullLocalVariable = Internal + 931; /** @since 3.8 */ int SpecdNonNullLocalVariableComparisonYieldsFalse = Internal + 932; /** @since 3.8 */ int RequiredNonNullButProvidedSpecdNullable = Internal + 933;
/** @since 3.8 */ int MissingNonNullByDefaultAnnotationOnPackage = Internal + 913; /** @since 3.8 */ int MissingNonNullByDefaultAnnotationOnType = Internal + 930;
/** * Compiler option ID: Reporting missing default nullness annotation. * * When enabled, the compiler will issue an error or a warning in the following cases: * * 1. When a package does not contain a default nullness annotation, as a result of missing package-info.java * or missing default nullness annotation in package-info.java. * 2. When a type inside a default package does not contain a default nullness annotation. * * This option only has an effect if the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation" * Possible values:{ "error", "warning", "ignore" } * Default:"ignore" * * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_MISSING_NONNULL_BY_DEFAULT_ANNOTATION = PLUGIN_ID + ".compiler.annotation.missingNonNullByDefaultAnnotation"
/** @since 3.8 */ int MissingEnumDefaultCase = Internal + 766;
/** * Compiler option ID: Reporting Incomplete Enum Switch. * * When enabled, the compiler will issue an error or a warning whenever * an enum switch statement lacks a default case. * If no default case is given, additionally one error or warning is issued * regarding each enum constant for which a corresponding case label is lacking. * * Option id: "org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch" * Possible values: { "error", "warning", "ignore" } * Default: "warning" * @since 3.1 * @category CompilerOptionID */ public static final String COMPILER_PB_INCOMPLETE_ENUM_SWITCH = PLUGIN_ID + ".compiler.problem.incompleteEnumSwitch"; //$NON-NLS-1$
/**
* Constant for the name of the encoding to be used for source attachments.
*
* <p>The value of this attribute has to be a string representation of a valid encoding. The encoding
* for a source attachment is determined in the following order: </p>
*
* <ul>
* <li> Encoding explicitly set on the source file (java or zip), i.e. org.eclipse.core.resources.IFile#getCharset(false)
</li>
* <li> Encoding set on the corresponding classpath entry </li>
* <li> If the source attachment is a member of the project, then the project's default charSet</li>
* <li> Workspace default charSet </li>
* </ul>
*
* @since 3.8
*/
String SOURCE_ATTACHMENT_ENCODING = "source_encoding";
/** @since 3.8 */ int RedundantNullDefaultAnnotation = Internal + 925; /** @since 3.8 */ int RedundantNullDefaultAnnotationPackage = Internal + 926; /** @since 3.8 */ int RedundantNullDefaultAnnotationType = Internal + 927; /** @since 3.8 */ int RedundantNullDefaultAnnotationMethod = Internal + 928; /** @since 3.8 */ int ContradictoryNullAnnotations = Internal + 929;
/** * Constant for the name of the index location attribute. * * The value for this attribute has to be the string representation of a URL. * It should point to an existing index file in a folder or a jar. The URL can also be of platform protocol. * * @since 3.8 */ String INDEX_LOCATION_ATTRIBUTE_NAME = "index_location";
/** * Generates the index file for the specified jar. * * @param pathToJar The full path to the jar that needs to be indexed * @param pathToIndexFile The full path to the index file that needs to be generated * @throws IOException if the jar is not found or could not write into the index file * @since 3.8 */ public static void generateIndexForJar(String pathToJar, String pathToIndexFile) throws IOException;
/** * Compiler option ID: Annotation-based Null Analysis. * * This option controls whether the compiler will use null annotations for * improved analysis of (potential) null references. * * When enabled, the compiler will interpret the annotation types defined using * {@link #COMPILER_NONNULL_ANNOTATION_NAME} and {@link #COMPILER_NULLABLE_ANNOTATION_NAME} * as specifying whether or not a given type includes the valuenull
. * * The effect of these analyses is further controlled by the options * {@link #COMPILER_PB_NULL_SPECIFICATION_VIOLATION}, * {@link #COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION} and * {@link #COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO}. * * Option id:"org.eclipse.jdt.core.compiler.annotation.nullanalysis"
* Possible values:{ "disabled", "enabled" }
* Default:"disabled"
* @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_ANNOTATION_NULL_ANALYSIS = PLUGIN_ID + ".compiler.annotation.nullanalysis";
/** * Compiler option ID: Name of Annotation Type for Nullable Types. * * This option defines a fully qualified Java type name that the compiler may use * to perform special null analysis. * * If the annotation specified by this option is applied to a type in a method * signature or variable declaration, this will be interpreted as a specification * thatnull
is a legal value in that position. Currently supported * positions are: method parameters, method return type and local variables. * * If a value whose type * is annotated with this annotation is dereferenced without checking for null, * the compiler will trigger a diagnostic as further controlled by * {@link #COMPILER_PB_POTENTIAL_NULL_REFERENCE}. * * The compiler may furthermore check adherence to the null specification as * further controlled by {@link #COMPILER_PB_NULL_SPECIFICATION_VIOLATION}, * {@link #COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION} and * {@link #COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO}. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.annotation.nullable"
* Possible values: any legal, fully qualified Java type name; must resolve to an annotation type. * Default:"org.eclipse.jdt.annotation.Nullable"
* @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_NULLABLE_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nullable";
/** * Compiler option ID: Name of Annotation Type for Non-Null Types. * * This option defines a fully qualified Java type name that the compiler may use * to perform special null analysis. * * If the annotation specified by this option is applied to a type in a method * signature or variable declaration, this will be interpreted as a specification * thatnull
is not a legal value in that position. Currently * supported positions are: method parameters, method return type and local variables. * * For values declared with this annotation, the compiler will never trigger a null * reference diagnostic (as controlled by {@link #COMPILER_PB_POTENTIAL_NULL_REFERENCE} * and {@link #COMPILER_PB_NULL_REFERENCE}), because the assumption is made that null * will never occur at runtime in these positions. * * The compiler may furthermore check adherence to the null specification as further * controlled by {@link #COMPILER_PB_NULL_SPECIFICATION_VIOLATION}, * {@link #COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION} and * {@link #COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO}. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.annotation.nonnull"
* Possible values: any legal, fully qualified Java type name; must resolve to an annotation type. * Default:"org.eclipse.jdt.annotation.NonNull"
* @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_NONNULL_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nonnull";
/** * Compiler option ID: Name of Annotation Type to specify a nullness default for unannotated types. * * This option defines a fully qualified Java type name that the compiler may use * to perform special null analysis. * * If the annotation is applied without an argument, all unannotated types in method signatures * within the annotated element will be treated as if they were specified with the non-null annotation * (see {@link #COMPILER_NONNULL_ANNOTATION_NAME}). * * If the annotation is applied with the constantfalse
as its argument * all corresponding defaults at outer scopes will be canceled for the annotated element. * This includes defaults specified using this annotation type or a default defined using * the compiler option {@link #COMPILER_NONNULL_IS_DEFAULT}. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.annotation.nonnullbydefault"
* Possible values: any legal, fully qualified Java type name; must resolve to an annotation type. * That annotation type should have exactly one boolean parameter. * Default:"org.eclipse.jdt.annotation.NonNullByDefault"
* @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nonnullbydefault";
/** * Compiler option ID: Globally specify non-null as the assumed default for unannotated types. * * When enabled this option globally achieves the same effect * as specifying {@link #COMPILER_NONNULL_ANNOTATION_NAME} does for individual elements. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.annotation.nonnullisdefault"
* Possible values:{ "disabled", "enabled" }
. * Default:"disabled"
* @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_NONNULL_IS_DEFAULT = PLUGIN_ID + ".compiler.annotation.nonnullisdefault";
/** * Compiler option ID: Reporting Violations of Null Specifications. * * Depending on this option, the compiler will issue either an error or a warning * whenever one of the following situations is detected: * * 1. A method declared with a nonnull annotation returns an expression that is * statically known to evaluate to a null value. * 2. An expression that is statically known to evaluate to a null value is passed * as an argument in a method call where the corresponding parameter of the called * method is declared with a nonnull annotation. * 3. An expression that is statically known to evaluate to a null value is assigned * to a local variable that is declared with a nonnull annotation. * 4. A method that overrides an inherited method declared with a nonnull annotation * tries to relax that contract by specifying a nullable annotation * (prohibition of contravariant return). * 5. A method that overrides an inherited method which has a nullable declaration * for at least one of its parameters, tries to tighten that null contract by * specifying a nonnull annotation for its corresponding parameter * (prohibition of covariant parameters). * * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler * shall interpret as nonnull or nullable annotations, respectively. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.problem.nullSpecViolation"
* Possible values:{ "error", "warning" }
* Default:"error"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_NULL_SPECIFICATION_VIOLATION = PLUGIN_ID + ".compiler.problem.nullSpecViolation";
/** * Compiler option ID: Reporting Violations of Null Specifications with Potential Null Value. * * When enabled, the compiler will issue an error or a warning whenever one of the * following situations is detected: * * 1. A method declared with a nonnull annotation returns an expression that is * statically known to evaluate to a null value on some flow. * 2. An expression that is statically known to evaluate to a null value on some flow * is passed as an argument in a method call where the corresponding parameter of * the called method is declared with a nonnull annotation. * 3. An expression that is statically known to evaluate to a null value on some flow * is assigned to a local variable that is declared with a nonnull annotation. * * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler * shall interpret as nonnull or nullable annotations, respectively. * * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.problem.potentialNullSpecViolation"
* Possible values:{ "error", "warning", "ignore" }
* Default:"error"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION = PLUGIN_ID + ".compiler.problem.potentialNullSpecViolation";
/** * Compiler option ID: Reporting Insufficient Information for Analysing Adherence to Null Specifications. * * When enabled, the compiler will issue an error or a warning whenever one of the * following situations is detected: * * 1. A method declared with a nonnull annotation returns an expression for which * insufficient nullness information is available for statically proving that no * flow will pass a null value at runtime. * 2. An expression for which insufficient nullness information is available for * statically proving that it will never evaluate to a null value at runtime * is passed as an argument in a method call where the corresponding parameter of * the called method is declared with a nonnull annotation. * 3. An expression for which insufficient nullness information is available for * statically proving that it will never evaluate to a null value at runtime * is assigned to a local variable that is declared with a nonnull annotation. * * Insufficient nullness information is usually a consequence of using other unannotated * variables or methods. * * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler * shall interpret as nonnull or nullable annotations, respectively. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.problem.nullSpecInsufficientInfo"
* Possible values:{ "error", "warning", "ignore" }
* Default:"warning"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO = PLUGIN_ID + ".compiler.problem.nullSpecInsufficientInfo";
/** * Compiler option ID: Reporting Redundant Null Annotations. * * When enabled, the compiler will issue an error or a warning when a non-null annotation * (see {@link #COMPILER_NONNULL_ANNOTATION_NAME}) * is applied although the same effect is already achieved by a default applicable at the * current location. Such a default may be effective by enabling the option * {@link #COMPILER_NONNULL_IS_DEFAULT} or by using the annotation specified by the option * {@link #COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME}. * * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled. * * Option id:"org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation"
* Possible values:{ "error", "warning", "ignore" }
* Default:"warning"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_REDUNDANT_NULL_ANNOTATION = PLUGIN_ID + ".compiler.problem.redundantNullAnnotation";
/** * Status constant indicating that the default or specific output folder is overlapping * with another source location. * @since 3.8 */ public static final int OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE = 1013;
/** * Core option ID: Reporting an output location overlapping another source location. * Indicate the severity of the problem reported when a source entry's output location overlaps another * source entry. * * Option id:"org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource" * Possible values:{ "error", "warning", "ignore" } * Default:"error" * * @since 3.8 */ public static final String CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE = PLUGIN_ID + ".classpath.outputOverlappingAnotherSource";
/** * Description of a bootstrap method table entry as specified in the JVM specifications. * * This interface may be implemented by clients. * * @since 3.8 */ public interface IBootstrapMethodsEntry;
/** * Description of a bootstrap methods attribute as described in the JVM specifications. * * This interface may be implemented by clients. * * @since 3.8 */ public interface IBootstrapMethodsAttribute
/** * Answer back the number of bootstrap methods of this entry as specified in * the JVM specifications. * * @return the number of bootstrap methods of this entry as specified in * the JVM specifications */ int getBootstrapMethodsLength();
/** * Answer back the bootstrap methods table of this entry as specified in * the JVM specifications. Answer an empty array if none. * * @return the bootstrap methods table of this entry as specified in * the JVM specifications. Answer an empty array if none */ IBootstrapMethodsEntry[] getBootstrapMethods();
/** * Description of the new constant pool entry as described in the JVM specifications * added for Java 7 support. * Its contents is initialized according to its kind. * * This interface may be implemented by clients. * * @since 3.8 */ public interface IConstantPoolEntry2
/** * Returns the descriptor index. This value is set only when decoding a MethodType entry. * The value is unspecified otherwise. The corresponding UTF8 value can be retrieved by using * {@link #getMethodDescriptor()}. * * @return the descriptor index. This value is set only when decoding a MethodType entry. * @see IConstantPoolConstant#CONSTANT_MethodType */ int getDescriptorIndex();
/** * Returns the reference kind. This value is set only when decoding a MethodHandle entry. * The value is unspecified otherwise. * * @return the reference kind. This value is set only when decoding a MethodHandle entry. * @see IConstantPoolConstant#CONSTANT_MethodHandle */ int getReferenceKind();
/** * Returns the reference index. This value is set only when decoding a MethodHandle entry. * The value is unspecified otherwise. * * @return the reference kind. This value is set only when decoding a MethodHandle entry. * @see IConstantPoolConstant#CONSTANT_MethodHandle */ int getReferenceIndex();
/** * Returns the bootstrap method attribute index. This value is set only when decoding a InvokeDynamic entry. * The value is unspecified otherwise. * * @return the reference kind. This value is set only when decoding a MethodHandle entry. * @see IConstantPoolConstant#CONSTANT_InvokeDynamic */ int getBootstrapMethodAttributeIndex();
/** * @since 3.8 */ void _invokedynamic( int pc, int index, IConstantPoolEntry invokeDynamic);
This has been added in place of the deprecated API
void _invokedynamic( int pc, int index, IConstantPoolEntry nameEntry, IConstantPoolEntry descriptorEntry);
/** * Compiler option ID: Reporting a resource that is not closed properly. * * When enabled, the compiler will issue an error or a warning if * a local variable holds a value of typejava.lang.AutoCloseable
(compliance>=1.7) * or a value of typejava.io.Closeable
(compliance<=1.6) and if * flow analysis shows that the methodclose()
is not invoked locally on that value. * * Option id:"org.eclipse.jdt.core.compiler.problem.reportUnclosedCloseable"
* Possible values:{ "error", "warning", "ignore" }
* Default:"warning"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_UNCLOSED_CLOSEABLE = PLUGIN_ID + ".compiler.problem.unclosedCloseable"; //$NON-NLS-1$
/** * Compiler option ID: Reporting a resource that may not be closed properly. * * When enabled, the compiler will issue an error or a warning if * a local variable holds a value of typejava.lang.AutoCloseable
(compliance>=1.7) * or a value of typejava.io.Closeable
(compliance<=1.6) and if * flow analysis shows that the methodclose()
is * not invoked locally on that value for all execution paths. * * Option id:"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"
* Possible values:{ "error", "warning", "ignore" }
* Default:"ignore"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_POTENTIALLY_UNCLOSED_CLOSEABLE = PLUGIN_ID + ".compiler.problem.potentiallyUnclosedCloseable"; //$NON-NLS-1$
/** * Compiler option ID: Reporting a resource that is not managed by try-with-resources. * * When enabled, the compiler will issue an error or a warning if a local variable * holds a value of typejava.lang.AutoCloseable
, and if the method *close()
is explicitly invoked on that resource, but the resource is * not managed by a try-with-resources block. * * Option id:"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"
* Possible values:{ "error", "warning", "ignore" }
* Default:"ignore"
* * @since 3.8 * @category CompilerOptionID */ public static final String COMPILER_PB_EXPLICITLY_CLOSED_AUTOCLOSEABLE = PLUGIN_ID + ".compiler.problem.explicitlyClosedAutoCloseable"; //$NON-NLS-1$
/** * 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, returnsnull
. * * 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 ornull
* @since 3.7.1 */ public BindingKey getDeclaringType();
/** * 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.1 * @returntrue
if it is safe to use the diamond operator for the constructor invocation, *false
otherwise. Also returnsfalse
for source levels below 1.7 */ public boolean canUseDiamond(CompletionContext coreContext);
/** * 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.1 * @category CompilerOptionID */ public static final String COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS = PLUGIN_ID + ".compiler.problem.redundantSpecificationOfTypeArguments";
/** * Returnstrue
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. * * @returntrue
if the resolved class type has been inferred * from the assignment context (JLS3 15.12.2.8),false
otherwise * @since 3.7.1 */ public boolean isResolvedTypeInferredFromExpectedType();
For earlier build notes, also see build notes up to Release 3.7.