Community
Participate
Working Groups
Build 3.4rc2 In following code, the hover will not appear when mouse is over 'value' in 'b.value.next' qualified name. Hover does appear in either leading 'b' or trailing 'next' in same expression. Steps: hover on this line: b.value.next = new Box<B, B>(new B()); // error in 'value' part of left-hande side. ---------------------- public class X { public static void main(String[] args) { Box<Box<A, A>, Box<A, A>> a = new Box<Box<A, A>, Box<A, A>>(new Box<A, A>(new A())); Box<?, ?> b = a; b.value.next = new Box<B, B>(new B()); // error A c = a.value.next.value; } } class Box<U extends Box<?, ?>, V extends U> { V value; Box<U, V> next; Box(V v) { this.value = v; } Box() { } } class A extends Box<A, A> { } class B extends Box<B, B> { } Note that F3 did work fine.
The conversion from the binding key given by code select to a signature fails. When JavaElementLabels try to use the broken signature an IllegalArgumentException occurs. java.lang.IllegalArgumentException at org.eclipse.jdt.core.Signature.getTypeSignatureKind(Signature.java:1135) at org.eclipse.jdt.ui.JavaElementLabels.getTypeSignatureLabel(JavaElementLabels.java:988) at org.eclipse.jdt.ui.JavaElementLabels.getFieldLabel(JavaElementLabels.java:848) at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel(JavaElementLabels.java:523) at org.eclipse.jdt.ui.JavaElementLabels.getStyledElementLabel(JavaElementLabels.java:483) at org.eclipse.jdt.ui.JavaElementLabels.getStyledTextLabel(JavaElementLabels.java:417) at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel(JavaElementLabels.java:469) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getInfoText(JavadocHover.java:613) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:548) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:509)
Created attachment 102667 [details] Proposed fix and regression test
Since this is not a regression comparing to 3.3.2, targeting 3.5 and with possible backport to 3.4.1
Fix in 3.4.1 would be nice... since we see 1.5 adoption becoming significant.
Fix and test released for 3.5M1
Fix and test released for 3.4.1
Verified for 3.5M1 using I20080805-1307
Verified for 3.4.1 using build M20080827-2000.