Bug 45148 - References To and Call Hiearchy do not include references to super implementation.
Summary: References To and Call Hiearchy do not include references to super implementa...
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 M7   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-17 21:02 EDT by Tom Sparks CLA
Modified: 2004-01-06 09:26 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Sparks CLA 2003-10-17 21:02:43 EDT
This is essentially bug 10057 ("References To Hierarchy") but occurs in the 
Method Call Hierarchy.

Just to be clear:

Say class B extends A and B.fooBar() overrides A.fooBar().  When i bring up 
the Method Call Hierarchy on (or search for references to) B.fooBar() the 
results do not include references that are determined to be directly to 
A.fooBar(), such as if B.fooBar() calls super.fooBar(), the reference to 
super.fooBar is not listed.

The results can be misleading if the user is not really paying attention to 
which specific type they are in.
Comment 1 Dirk Baeumer CLA 2003-10-27 13:59:46 EST
Asking JDT/Core for comments.
Comment 2 Philipe Mulet CLA 2003-10-28 04:31:22 EST
Jerome - Is this us or UI ?
Comment 3 Jerome Lanneluc CLA 2003-10-30 11:41:46 EST
Looks like a bug on our side. To reproduce:
1. Create the 2 following cus:

X.java
public class X {
	protected void foobar() {
	}
}

Y.java
public class Y extends X {
	protected void foobar() {
		super.foobar();
	}
	void bar() {
		new X().foobar();
	}
}

2. Select Y.foobar() and search for references in the hierarchy
Observe: Only the reference in Y.bar() is found. The reference in Y.foobar() is 
not found
Comment 4 Jerome Lanneluc CLA 2003-10-30 11:54:07 EST
Searching in the workspace doesn't find the super.foobar() reference either
Comment 5 Jerome Lanneluc CLA 2004-01-06 09:26:59 EST
I take back what I said in comment #3. super.foobar() cannot be a reference to 
Y.foobar() as it is called within Y.

Works as expected.