Bug 92872

Summary: [api] API constants renamed in IProblem
Product: [Eclipse Project] JDT Reporter: Jim des Rivieres <jeem>
Component: CoreAssignee: Frederic Fusier <frederic_fusier>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jerome_lanneluc
Version: 3.0   
Target Milestone: 3.1 M7   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
This patch fixes all incorrect API changes since 3.0
none
Patch to fix last issues described in comment 8 none

Description Jim des Rivieres CLA 2005-04-27 02:19:59 EDT
3.1 HEAD

IProblem

in 3.0.2 we have:
/** @since 3.0 */
int JavadocMissingSeeReference = Javadoc + Internal + 482;
/** @since 3.0 */
int JavadocInvalidSeeReference = Javadoc + Internal + 483;


in 3.1 HEAD we have:
/** @since 3.0 */
int JavadocMissingReference = Javadoc + Internal + 482;
/** @since 3.0 */
int JavadocInvalidReference = Javadoc + Internal + 483;

Looks like the fields were renamed. Since these are API constants, this is a 
breaking API change (although it does not break binary compatibility since 
these constants are inlined). 

I suggest un-renaming them.
Comment 1 Frederic Fusier CLA 2005-04-27 05:08:35 EDT
My fault, I didn't realized that rename these fields would break API...
Comment 2 Philipe Mulet CLA 2005-04-27 05:17:46 EDT
Frederic - along the same line. Could you please compare all API between 3.1 and
3.0 ? And check that only differences are tagged @since 3.1
Comment 3 Philipe Mulet CLA 2005-04-27 05:18:13 EDT
Frederic - along the same line. Could you please compare all API between 3.1 and
3.0 ? And check that only differences are tagged @since 3.1
Comment 4 Frederic Fusier CLA 2005-04-27 16:23:01 EDT
Created attachment 20421 [details]
This patch fixes all incorrect API changes since 3.0

Jeem,
Please review and let me know if this is OK for you, then I will apply it to
HEAD.

I've also noticed following break in API:
IAnnotationValueComponent (@since 3.0):
- getEnumContant()
- getEnumCOnstantIndex()
have been removed.
Perhaps we should simply modify @since tag to 3.1...
Comment 5 Jim des Rivieres CLA 2005-04-27 16:44:37 EDT
Frederic,  Patch looks good.

Modifying the class IAnnotationValueComponent to @since 3.1 would be a good 
idea, since this is J2SE5 feature that wasn't complete until 3.1.  
Comment 6 Frederic Fusier CLA 2005-04-27 17:07:20 EDT
Patch applied + IAnnotationValueComponent tagged as @since 3.1
Comment 7 Jerome Lanneluc CLA 2005-04-28 03:13:31 EDT
Note the values for IProblem#JavadocMalformedSeeReference and
IProblem#JavadocMissingHashCharacter had been swapped. I assumed it was an
oversight as the JavaDocBugTests were failing. I put the values for these 2
constants back to what they were before the patch was applied.
Comment 8 Frederic Fusier CLA 2005-04-28 04:31:56 EDT
Yes, I forgot to modify corresponding messages.properties!
So, I will:
1) put back these values as it was in patch (swap of these values since 3.0 was
alos an API break as it makes class file code not *fully* compatible between 3.0
and 3.1)
2) modify org.eclipse.jdt.internal.compiler.problem.messages.properties to make
this change proper
3) also put back 3.0 value for JavadocPrefix as it again an API break (same
reason than point 1)
Comment 9 Frederic Fusier CLA 2005-04-28 06:28:41 EDT
Created attachment 20441 [details]
Patch to fix last issues described in comment 8
Comment 10 Frederic Fusier CLA 2005-04-28 06:29:29 EDT
Last patch pass all JDT/Core and JDT/UI tests.
Comment 11 Maxime Daniel CLA 2005-05-12 13:56:37 EDT
Verified for 3.1 M7 using build I20050509-2010 + jdt.core HEAD-20050512.
Comment 12 Olivier Thomann CLA 2005-05-12 14:26:58 EDT
Verified.