Community
Participate
Working Groups
Build Identifier: I20110915-1308 If you have an argument type that is an inner class then "Open Declaration" opens the type declaration, as you would expect. However if it's a vararg array of inner classes then "Open Declaration" does either nothing or takes you to a "normal" class declaration with the same name. Consider the attached Class String → "Open Declaration" takes you to java.lang.String String... → "Open Declaration" takes you to java.lang.String Entry → "Open Declaration" takes you to java.util.Map.Entry<?, ?> Entry... → "Open Declaration" does nothing Modifier → "Open Declaration" takes you to java.nio.file.WatchEvent.Modifier (Java 1.7) Modifier... → "Open Declaration" offers you a choice between java.lang.reflect.Modifier and javax.lang.model.element.Modifier Reproducible: Always
Created attachment 208843 [details] sample code to reproduce the issue
Essentially org.eclipse.jdt.core.ICodeAssist.codeSelect(int, int) calls in the following 2 methods return the incorrect result org.eclipse.jdt.internal.ui.actions.SelectionConverter.codeResolve(IJavaElement, ITextSelection) org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(ITextViewer, IRegion, boolean) Note that the type binding in the AST is correct. Moving to JDT/Core.
I will take a look.
See also bug 291040.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.