Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 346507

Summary: Improve API tooling consistency
Product: [Eclipse Project] Platform Reporter: Carolyn MacLeod <carolynmacleod4>
Component: SWTAssignee: Carolyn MacLeod <carolynmacleod4>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: Olivier_Thomann, remy.suen, Silenio_Quarti
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard: stalebug

Description Carolyn MacLeod CLA 2011-05-19 12:52:06 EDT
This needs to happen early in the 3.8 cycle.
There are many places in SWT where there are public fields or parameters, etc, that are not API. We have already flagged some of these as @noreference in the javadoc, but more work needs to be done.
One particularly problematic area is in the graphics package. (GCData, etc).

Start in a clean workspace (Car's bash workspace would be good), update the API baseline to 3.7.0, delete the org.eclipse.pde.api.tools.prefs and .api_filters files, and investigate every complaint in the problems view.

Add @noreference (etc) javadoc wherever appropriate.

See bug 279461 for some background data. See also bug 276173.
Comment 1 Carolyn MacLeod CLA 2011-05-19 12:56:47 EDT
Do this for 3.8 M1.
Comment 2 Carolyn MacLeod CLA 2011-05-19 13:37:01 EDT
See also bug 278089 and bug 305742 (new filters were released, but @noreference was never added).
Comment 3 Carolyn MacLeod CLA 2011-05-24 16:32:36 EDT
*** Bug 347013 has been marked as a duplicate of this bug. ***
Comment 4 Carolyn MacLeod CLA 2011-05-24 16:34:06 EDT
Also, make sure to search for the string:
<b>IMPORTANT:</b> This
Comment 5 Carolyn MacLeod CLA 2011-05-24 16:53:26 EDT
A quick list:
- Drawable (methods already say @noreference - need it on interface)
- TypedListener (methods already say @noreference - need it on class)
- GCData (class already says @noinstantiate - does it need @noreference too?)

Note that for fields, need to recompile for each platform to find all cases.
Comment 6 Carolyn MacLeod CLA 2011-05-24 16:53:56 EDT
Olivier, should non-API public classes use both @noinstantiate and @noreference in the class javadoc? (or just @noinstantiate?)
Comment 7 Remy Suen CLA 2011-07-05 09:07:03 EDT
(In reply to comment #4)
> Also, make sure to search for the string:
> <b>IMPORTANT:</b> This

Please remember to tag Decorations with @noinstantiate and @noreference, its "IMPORTANT" text is not actually bolded.
Comment 8 Eclipse Genie CLA 2019-10-02 03:19:59 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.