Community
Participate
Working Groups
As bug 186342 is converging towards a solution (with further plans in bug 331647, bug 331649 and bug 331651) we should start defining a UI for the new options. Please see attachment 186798 [details] for API doc of the new option IDs in JavaCore. For reference, these are the new options of the batch compiler: Null annotation options: -nullAnnotations:<suboptions> enable use of annotations for specifying null contracts; <suboptions> is a non-empty, comma-separated list of: nullable=<typename> specifies the fully qualified name of an annotation type to be used for marking types whose values include null nonnull=<typename> specifies the fully qualified name of an annotation type to be used for marking types whose values cannot be null emulate tells the compiler to emulate the above annotation types although they do not exist on the classpath import tells the compiler to import the above annotation types without specific mention in the sources such that their simple names can be used without explicit imports The annotation names for nullable and nonnull should be either both defined or both undefined. Within JDT/Core the three levels annotation names, type emulation and default imports are independent. The new analysis is enabled as soon as at least one of these is defined / enabled. If emulate or import is set without defining annotation names, default built-in annotation names will be used. Iff null annotations are enabled the new problem ids regarding null contract violations are meaningful, too. Given that future enhancements are likely to add more options I suggest to start a new section in the preference page.
*** This bug has been marked as a duplicate of bug 364815 ***