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

Bug 333701

Summary: [navigation] Double Ctrl+O continues to hide methods inherited by an inner class
Product: [Eclipse Project] JDT Reporter: Rostislav Krasny <rosti.bsd>
Component: TextAssignee: JDT-Text-Inbox <jdt-text-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: major    
Priority: P3 CC: amj87.iitr, daniel_megert, markus.kell.r, rosti.bsd
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Rostislav Krasny CLA 2011-01-06 16:34:23 EST
Build Identifier: 20100917-0705

Consider you have two Java files: A.java and B.java with followings contents:

public class A {

	public void method1() {
		// empty
	}
}

public interface B {

	public static class C extends A {
		public void method2() {
			method1();
		}
	}
}

Both files compiles properly and without any compilation error or warning. Now place a cursor somewhere in the inner class C and press the Ctrl+O twice. You will be able to find method2() but you will be unable to find method1().

Convert interface B into class B and try again. The method1() method will still be hidden.

Reproducible: Always

Steps to Reproduce:
See details.
Comment 1 Ayushman Jain CLA 2011-01-07 00:48:19 EST
Seems to be broken only for inner classes. Moving to JDT/UI.
Comment 2 Dani Megert CLA 2011-01-07 02:50:54 EST
This works as designed. Ctrl+O shows the outline of the top level class and hence the second Ctrl+O shows its inherited members and not the inherited members of the selected/enclosing type.
Comment 3 Markus Keller CLA 2011-01-07 05:46:03 EST

*** This bug has been marked as a duplicate of bug 107096 ***