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.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.dialogs.SelectionDialog;
import org.eclipse.ui.help.DialogPageContextComputer;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.ui.model.WorkbenchViewerSorter;
/**
 * Preference page for debug preferences that apply specifically to
 * Java Debugging.
 */
public class JavaDebugPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener {
	
	private static final String SHOW_HEX= IPreferencesConstants.SHOW_HEX_VALUES;
	private static final String SHOW_CHARS= IPreferencesConstants.SHOW_CHAR_VALUES;
	private static final String SHOW_UNSIGNED= IPreferencesConstants.SHOW_UNSIGNED_VALUES;
	
	private static final String DEFAULT_NEW_FILTER_TEXT = "";
	
	private static final Image IMG_CUNIT = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_CUNIT);
	private static final Image IMG_PKG = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_PACKAGE);