-
Notifications
You must be signed in to change notification settings - Fork 164
Closed
Description
Split from eclipse-jdt/eclipse.jdt.ui#2286.
import java.util.concurrent.Callable;
public class Test {
public static <T> void createObjectBinding(final Callable<T> func) {
return;
}
sealed interface Index {
enum SS implements Index {}
enum TS implements Index {}
}
public abstract sealed class Entity<S extends Index> permits Struct, Time {}
final class Struct extends Entity<Index.SS> {}
final class Time extends Entity<Index.TS> {
Struct getStruct() {
return null;
}
public Object getOther() {
return null;
}
}
private <T> T createMap(Object other) {
return null;
}
private void setMaterials(Time entity) {
var selfIllumImage = createObjectBinding(() -> {
var entity2 = entity.getStruct() == null ? entity : entity.getStruct();
return createMap(entity.getOther());
});
}
}Hold ctrl and hover over entity2. Here the exception is IAE:
java.lang.IllegalArgumentException: generics.Test.Entity<? extends java.lang.Enum<?> & generics.Test.Index>
at org.eclipse.jdt.core.Signature.encodeQualifiedName(Signature.java:1384)
at org.eclipse.jdt.core.Signature.encodeTypeSignature(Signature.java:1506)
at org.eclipse.jdt.core.Signature.encodeTypeSignature(Signature.java:1483)
at org.eclipse.jdt.core.Signature.encodeTypeSignature(Signature.java:1514)
at org.eclipse.jdt.core.Signature.createCharArrayTypeSignature(Signature.java:1106)
at org.eclipse.jdt.core.Signature.createTypeSignature(Signature.java:1304)
at org.eclipse.jdt.internal.core.SelectionRequestor.acceptLocalVariable(SelectionRequestor.java:428)
at org.eclipse.jdt.internal.codeassist.SelectionEngine.selectFrom(SelectionEngine.java:1353)
at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionEngine.java:1043)
at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:171)
at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:476)
at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:466)
at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinksCached(JavaElementHyperlinkDetector.java:127)
at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.lambda$0(JavaElementHyperlinkDetector.java:84)
at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5708)
at org.eclipse.jdt.internal.core.JavaModelManager.callReadOnly(JavaModelManager.java:5697)
at org.eclipse.jdt.core.JavaCore.callReadOnly(JavaCore.java:6156)
at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:84)
at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:81)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:262)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:457)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:250)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4360)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1214)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4158)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3746)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:627)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
Suppressed: java.lang.Throwable: Source line 43 :
-----
return null;
}
}
private <T> T createMap(Object other) {
return null;
}
private void setMaterials(Time entity) {
var selfIllumImage = createObjectBinding(() -> {
var e|ntity2 = entity.getStruct() == null ? entity : entity.getStruct();
-----
at org.eclipse.jdt.internal.ui.util.SelectionUtil.logException(SelectionUtil.java:157)
at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinksCached(JavaElementHyperlinkDetector.java:146)
... 34 more
Eclipse Java Development Tools 3.20.300.v20250618-2149
Eclipse Platform 4.37.0.I20250618-1800
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels