Skip to content

Javadoc hover for method of parameterized type #1588

@eric-milles

Description

@eric-milles

Consider the following:

class C<T> {
  List<T> list_of_t
  void test() {
    list_of_t.add(null)
    list_of_t.findAll()
  }
}

Code hover for "add" and "findAll" fails due to type parameter T.

java.lang.IllegalArgumentException: "(LC;:TT;)Z" at 4
	at org.eclipse.jdt.internal.compiler.util.Util.newIllegalArgumentException(Util.java:1667)
	at org.eclipse.jdt.internal.compiler.util.Util.scanTypeSignature(Util.java:1272)
	at org.eclipse.jdt.core.Signature.getParameterCount(Signature.java:1725)
	at org.eclipse.jdt.core.Signature.getParameterTypes(Signature.java:1763)
	at org.eclipse.jdt.core.Signature.getParameterTypes(Signature.java:1801)
	at org.eclipse.jdt.internal.core.manipulation.JavaElementLabelComposerCore.appendMethodLabel(JavaElementLabelComposerCore.java:311)
	at org.eclipse.jdt.internal.core.manipulation.JavaElementLabelComposerCore.appendElementLabel(JavaElementLabelComposerCore.java:174)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLinks.getElementLabel(JavaElementLinks.java:761)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLinks.getElementLabel(JavaElementLinks.java:743)
	at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getInfoText(JavadocHover.java:806)
	at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:743)
java.lang.IllegalArgumentException: "<T::Ljava.lang.Object;>(Ljava.util.List<LC;:TT;>;Lgroovy.lang.Closure;)Ljava.util.List<LC;:TT;>;" at 43
	at org.eclipse.jdt.internal.compiler.util.Util.newIllegalArgumentException(Util.java:1667)
	at org.eclipse.jdt.internal.compiler.util.Util.scanTypeSignature(Util.java:1272)
	at org.eclipse.jdt.internal.compiler.util.Util.scanTypeArgumentSignature(Util.java:1599)
	at org.eclipse.jdt.internal.compiler.util.Util.scanTypeArgumentSignatures(Util.java:1563)
	at org.eclipse.jdt.internal.compiler.util.Util.scanClassTypeSignature(Util.java:1464)
	at org.eclipse.jdt.internal.compiler.util.Util.scanTypeSignature(Util.java:1252)
	at org.eclipse.jdt.core.Signature.getParameterCount(Signature.java:1725)
	at org.eclipse.jdt.core.Signature.getParameterTypes(Signature.java:1763)
	at org.eclipse.jdt.internal.core.util.KeyToSignature.consumeParameterizedGenericMethod(KeyToSignature.java:155)
	at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseParameterizedMethod(BindingKeyParser.java:818)
	at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseMethod(BindingKeyParser.java:898)
	at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:704)
	at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:650)
	at org.eclipse.jdt.core.BindingKey.toSignature(BindingKey.java:331)
	at org.eclipse.jdt.internal.core.manipulation.JavaElementLabelComposerCore.appendMethodLabel(JavaElementLabelComposerCore.java:248)
	at org.eclipse.jdt.internal.core.manipulation.JavaElementLabelComposerCore.appendElementLabel(JavaElementLabelComposerCore.java:174)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLinks.getElementLabel(JavaElementLinks.java:761)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLinks.getElementLabel(JavaElementLinks.java:743)
	at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getInfoText(JavadocHover.java:806)
	at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:743)

see #1422 and #1457

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions