import org.eclipse.wst.jsdt.core.IJavaScriptElement;
import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
import org.eclipse.wst.jsdt.core.ILocalVariable;
+import org.eclipse.wst.jsdt.core.IMember;
import org.eclipse.wst.jsdt.core.ISourceRange;
import org.eclipse.wst.jsdt.core.ISourceReference;
import org.eclipse.wst.jsdt.core.JavaScriptModelException;
else if (element.getElementType() == IJavaScriptElement.FIELD) {
Object cu = ((IField) element).getJavaScriptUnit();
if (cu != null && cu.equals(jspTranslation.getCompilationUnit())) {
- range = ((ISourceReference) element).getSourceRange();
+ // Fixed bug for RM 8591
+ // range = ((ISourceReference) element).getSourceRange();
+ range = ((IMember) element).getNameRange();
}
}
// linking to methods of the same compilation unit
else if (element.getElementType() == IJavaScriptElement.METHOD) {
Object cu = ((IFunction) element).getJavaScriptUnit();
if (cu != null && cu.equals(jspTranslation.getCompilationUnit())) {
- range = ((ISourceReference) element).getSourceRange();
+ // Fixed bug for RM 8591
+ // range = ((ISourceReference) element).getSourceRange();
+ range = ((IMember) element).getNameRange();
}
}
}
import org.eclipse.ui.texteditor.ITextEditor;
import org.eclipse.wst.html.ui.internal.HTMLUIMessages;
import org.eclipse.wst.jsdt.web.ui.internal.Logger;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
class WorkspaceFileHyperlink implements IHyperlink {
// copies of this class exist in:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editor = IDE.openEditor(page, fFile, true);
// highlight range in editor if possible
+
+ // Fixed bug for RM 8591
if (fHighlightRange != null && editor instanceof ITextEditor) {
((ITextEditor) editor).selectAndReveal(fHighlightRange.getOffset(), fHighlightRange.getLength());
+ } else {
+ Object ste = editor.getAdapter(StructuredTextEditor.class);
+ if (fHighlightRange != null && ste instanceof ITextEditor) {
+ ((ITextEditor) ste).selectAndReveal(fHighlightRange.getOffset(), fHighlightRange.getLength());
+ }
}
} catch (PartInitException pie) {
Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);