Bug 48333

Summary: [Compiler] Implicit deprecation isn't propagated to anonymous type
Product: [Eclipse Project] JDT Reporter: Philipe Mulet <philippe_mulet>
Component: CoreAssignee: Philipe Mulet <philippe_mulet>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.0   
Target Milestone: 2.1.3   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Philipe Mulet CLA 2003-12-09 06:52:10 EST
Build 20031203

The following code reports a warning even if option for reporting deprecation 
in deprecated code is disabled.

/** @deprecated */
public class X {
  Object x = new DeprecatedType(){};
}

where DeprecatedType is a deprecated type.
Comment 1 Philipe Mulet CLA 2003-12-12 06:54:58 EST
Other case not working properly:

/**
 * @deprecated
 */
public class X  {

	void bar() {
	    class Local extends DeprecatedType {
	        
	        class LocalMember extends DeprecatedType {
	        }
	    }
	}
}
Comment 2 Philipe Mulet CLA 2003-12-12 07:34:52 EST
Released fix in ClassScope#checkAndSetModifiers() which did not propagate 
deprecation flag correctly.

Comment 3 David Audel CLA 2003-12-17 07:53:41 EST
Verified for 3.0M6
Comment 4 Frederic Fusier CLA 2004-03-01 07:17:13 EST
Backported to 2.1 stream.
Verified for 2.1.3 with build I200402251535.
Comment 5 Frederic Fusier CLA 2004-03-01 12:07:34 EST
Build is M200402251535 and not I200402251535....