Something similar could be done for normal methods. As nice
as Ctrl-B navigation is, it's sometimes misleading when it's
used to follow a code execution path.
I know Ctrl-B is called "Go to Declaration" for a reason but
I would like to use it as "Go to Implementation", or have a
separate action for this, which would help a lot in the
following case:
class A {
public void method1(B b) {
b.method2(); // <-- Ctrl-B on "method2" here
}
}
class B {
public void method2() {
}
}
class B1 extends B {
public void method2() {
}
}
class B2 extends B {
public void method2() {
}
}
Doing Ctrl-B at the indicated spot jumps to B.method2().
Which is fine, but sometimes misleading because it could
also be B1.method2() or B2.method2() that's called here,
depending on the runtime-type of b. Sometimes, I'm fooled
by this for a minute, so I guess the implications of
polymorphism and late binding seem to be not as fresh
in my mind at times... %-)
It would be nice if there would be a "Go to Implementation"
action that would show all possible methods when invoked.
In the above example, the list would include B.method2(),
B1.method2() and B2.method2().
This is basically a "Find Usages" (with "Overriding Methods"
checked) combined with "Go to Declaration", showing all
possible methods in a nice popup list and jumping to the
selected method.
I would probably use "Go to Implementation" more often than
"Go to Declaration". It's also possible to make the proposed
functionality a configurable option for "Go to Declaration".
IntelliJ, I suspect you guys might have already thought
about something like this, so, when is this scheduled to
be done? ;-)
Thanks for considering!
-Thomas
> -----Original Message-----
> From: Descher, Michael [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, November 21, 2001 2:01 AM
> To: '[EMAIL PROTECTED]'
> Subject: [Eap-features] go to declaration and interfaces
>
>
> If you go to the declaration of a method when using an
> interface, IDEA opens
> the interface and display the appropriate method. How about a
> popup in this
> case and list the interface as well as all known implementing
> classes. You
> could then select if you want to jump to the interface or any of the
> implementing classes.
>
> This would be nice for EJB development in case you put your
> business methods
> in a separate interface, let the bean remote interface extend
> and the bean
> class implement the interface.
>
> If you put all business methods in the remote interface
> without another
> interface class, your EJB class of course does not implement
> the interface.
> In this case you would need the ability to specify some sort of naming
> convention to help IDEA find the bean class for the remote interface.
>
> Any comments?!
>
> Michael
>
> _______________________________________________
> Eap-features mailing list
> [EMAIL PROTECTED]
> http://www.intellij.com/mailman/listinfo/eap-features
>
************************************
If this email is not intended for you, or you are not responsible for
the delivery of this message to the addressee, please note that this
message may contain ITT Privileged/Proprietary Information. In such
a case, you may not copy or deliver this message to anyone. You should
destroy this message and kindly notify the sender by reply email.
Information contained in this message that does not relate to the
business of ITT is neither endorsed by nor attributable to ITT.
************************************
_______________________________________________
Eap-features mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-features