Bug 129316

Summary: [compiler] Incremental compile confuses unsound type hierarchy and deprecation
Product: [Eclipse Project] JDT Reporter: Philipe Mulet <philippe_mulet>
Component: CoreAssignee: Philipe Mulet <philippe_mulet>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: P3 CC: kent_johnson, Olivier_Thomann
Version: 3.2   
Target Milestone: 3.2 M6   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Patch changing the offending modifier into a tagbit none

Description Philipe Mulet CLA 2006-02-24 06:41:56 EST
Build 3.2m5

1. open TryStatement.java
2. change its superclass to denote Zork (missing)
3. incrementally build
4. go to BreakStatement.java (has errors)
5. type a space in editor, and wait for reconcile

Observe that TryStatement is now complained to be deprecated
Comment 1 Philipe Mulet CLA 2006-02-24 06:42:35 EST
Likely a consequence of our new support for unsound type hierarchies, which is getting a bit collision with deprecated modifier.
Comment 2 Philipe Mulet CLA 2006-02-24 06:46:14 EST
Indeed:
   on ClassFileConstants
	int AccHierarchyInconsistent = ASTNode.Bit22; 

   on ExtraCompilerModifiers
	final int AccDeprecatedImplicitly = ASTNode.Bit22; 
        // record whether deprecated itself or contained by a deprecated type
Comment 3 Philipe Mulet CLA 2006-02-24 07:06:48 EST
Changed classfile modifiers to be a tagbit.
Comment 4 Philipe Mulet CLA 2006-02-24 07:09:10 EST
Created attachment 35296 [details]
Patch changing the offending modifier into a tagbit
Comment 5 Philipe Mulet CLA 2006-02-24 07:10:42 EST
Kent/Olivier : pls add a builder test for this

I will release my changes soon after the tests complete.
Comment 6 Philipe Mulet CLA 2006-02-24 09:04:36 EST
Fixed. Regression test still needed.
Comment 7 Olivier Thomann CLA 2006-02-24 14:12:34 EST
Added regression test:
org.eclipse.jdt.core.tests.builder.IncrementalTests.test129316
Comment 8 David Audel CLA 2006-03-27 09:50:56 EST
Verified for 3.2 M6 using build I20060327-0010