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

Bug 221605

Summary: [inline] Can't inline local generic class's method.
Product: [Eclipse Project] JDT Reporter: Brian Miller <Brian.Miller>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: martinae, nikolaymetchev
Version: 3.3.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard: stalebug

Description Brian Miller CLA 2008-03-05 17:27:27 EST
Build ID: M20080221-1800

Steps To Reproduce:
Please try to inline the method declared on LINE 8.  The result is illegal.

------------------- Bug.java ------------
class Bug {{
		abstract class Capture<Type extends Number>{
			abstract void scrape();
		}
	abstract class Finger extends Capture<Short>{
			String dude;			
			
			final String getWho(){//LINE 8
				return dude;
			}
		}
		abstract class Simple extends Finger{
			
		abstract void set(String dude,String value);
				@Override
				final void scrape(){
					set(getWho(),null);
				}}}}
Comment 1 Nikolay Metchev CLA 2013-08-21 11:30:32 EDT
In the example given this works.
However if the field "dude" is made private it fails:

class Bug {
	{
		abstract class Capture<Type extends Number> {
			abstract void scrape();
		}
		abstract class Finger extends Capture<Short> {
			private String dude;
		}
		abstract class Simple extends Finger {

			abstract void set(String dude, String value);

			@Override
			final void scrape() {
				set(dude, null);
			}
		}
	}
}
Comment 2 Nikolay Metchev CLA 2013-08-21 11:31:57 EDT
Oops.. pasted the result instead of the input:

class Bug {
	{
		abstract class Capture<Type extends Number> {
			abstract void scrape();
		}
		abstract class Finger extends Capture<Short> {
			private String dude;

			final String getWho() {// LINE 8
				return dude;
			}
		}
		abstract class Simple extends Finger {

			abstract void set(String dude, String value);

			@Override
			final void scrape() {
				set(getWho(), null);
			}
		}
	}
}
Comment 3 Eclipse Genie CLA 2019-12-25 17:15:00 EST
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.