Bug 5587 Step Over jumps to caller
Build 20011105 - set breakpoint in org.eclipse.ui.internal.ShowViewAction's constructor, on line indicated by [BP] below (note source has been modified since 20011105): protected ShowViewAction(IWorkbenchWindow window, IViewDescriptor desc) { super(""); String accel = desc.getAccelerator(); String label = desc.getLabel(); [BP] setText(accel == null ? label : label + "@" + accel); setImageDescriptor(desc.getImageDescriptor()); setToolTipText(label); WorkbenchHelp.setHelp(this, new Object[] {IHelpContextIds.SHOW_VIEW_ACTION}); this.window = window; this.desc = desc; } - when breakpoint was hit, I clicked on the Step Over button - it had the same effect as run to return, and stepping back to the caller. - it left me in ShowViewMenu.getAction, on line marked ***: private IAction getAction(String id) { // Keep a cache, rather than creating a new action each time, // so that image caching in ActionContributionItem works. IAction action = (IAction) actions.get(id); if (action == null) { IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry (); IViewDescriptor desc = reg.find(id); if (desc != null) { *** action = new ShowViewAction(getWindow(), desc); actions.put(id, action); } } return action; }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavaDebugPreferencePage.java
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.ICellEditorValidator;
import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;