Bug 334455 - [preferences] UI for new preferences regarding null annotations
Summary: [preferences] UI for new preferences regarding null annotations
Status: CLOSED DUPLICATE of bug 364815
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.7   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-15 08:34 EST by Stephan Herrmann CLA
Modified: 2011-11-26 23:42 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2011-01-15 08:34:27 EST
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.
Comment 1 Deepak Azad CLA 2011-11-26 23:42:56 EST

*** This bug has been marked as a duplicate of bug 364815 ***