private String getFullyQualfiedName(IJavaStackFrame frame) throws CoreException { String name = null; if (frame.isObsolete()) { return null; String sourceName = frame.getSourceName(); if (sourceName == null) { name = frame.getDeclaringTypeName(); } else { String declName= frame.getDeclaringTypeName(); index = declName.lastIndexOf('.'); if (index >= 0) {
protected IJavaType getTypeToOpen(IDebugElement element) throws CoreException { if (element instanceof IJavaStackFrame) { IJavaStackFrame frame = (IJavaStackFrame) element; if (frame.isStatic()) { return frame.getReferenceType(); } return frame.getThis().getJavaType(); } return null; } }
@Override protected IVariable findVariable(String variableName) throws DebugException { return getStackFrame().findVariable(variableName); }
/** * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String) */ public boolean testAttribute(Object target, String name, String value) { IJavaStackFrame frame = null; if (target instanceof IStackFrame) { frame = (IJavaStackFrame) ((IStackFrame)target).getAdapter(IJavaStackFrame.class); } if (frame != null) { if (name.equals("DropToFrameActionFilter") //$NON-NLS-1$ && value.equals("supportsDropToFrame")) { //$NON-NLS-1$ return frame.canDropToFrame(); } else if (name.equals("ReceivingStackFrameActionFilter") //$NON-NLS-1$ && value.equals("isReceivingType")) { //$NON-NLS-1$ try { return !frame.getReceivingTypeName().equals(frame.getDeclaringTypeName()); } catch (DebugException de) { } } } return false; } }
dec= frame.getDeclaringTypeName(); } catch (DebugException exception) { if (frame.isObsolete()) { label.append(DebugUIMessages.JDIModelPresentation__obsolete_method_in__1); label.append(dec); javaStratum = frame.getReferenceType().getDefaultStratum().equals("Java"); //$NON-NLS-1$ } catch (DebugException e) { rec= frame.getReceivingTypeName(); } catch (DebugException exception) { label.append(frame.getMethodName()); } catch (DebugException exception) { label.append(DebugUIMessages.JDIModelPresentation_unknown_method_name__6); List args= frame.getArgumentTypeNames(); if (args.isEmpty()) { label.append("()"); //$NON-NLS-1$ if (iter.hasNext()) { label.append(", "); //$NON-NLS-1$ } else if (frame.isVarArgs()) { label.replace(label.length() - 2, label.length(), "..."); //$NON-NLS-1$ label.append(frame.getSourcePath()); } else { label.append(frame.getSourceName());
if (variableName.equals("this")) { //$NON-NLS-1$ try { IJavaVariable variable = frame.findVariable(variableName); if (variable != null) { return getVariableText(variable); IField field = (IField)javaElement; IJavaVariable variable = null; IJavaDebugTarget debugTarget = (IJavaDebugTarget)frame.getDebugTarget(); if (Flags.isStatic(field.getFlags())) { IJavaType[] javaTypes = debugTarget.getJavaTypes(field.getDeclaringType().getFullyQualifiedName()); if (!frame.isStatic()) { String typeSignature = Signature.createTypeSignature(field.getDeclaringType().getFullyQualifiedName(), true); typeSignature = typeSignature.replace('.', '/'); variable = frame.getThis().getField(field.getElementName(), typeSignature); if (method.isBinary()) { if (method.getSignature().equals(frame.getSignature())) { equal = true; if (((frame.isConstructor() && method.isConstructor()) || frame.getMethodName().equals(method.getElementName())) && frame.getDeclaringTypeName().endsWith(method.getDeclaringType().getElementName()) && frame.getArgumentTypeNames().size() == method.getNumberOfParameters()) { equal = true;
IJavaDebugTarget target = (IJavaDebugTarget) f.getDebugTarget(); IBreakpoint[] bps = jt.getBreakpoints(); int lineNumber = f.getLineNumber(); if (e.getDetail() == DebugEvent.STEP_END && (lineNumber == 20 || lineNumber == 21) && f.getDeclaringTypeName().equals("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1") //$NON-NLS-1$ && jt.getDebugTarget() == fVM) { for (int j = 0; j < frames.length; j++) { IJavaStackFrame frame = (IJavaStackFrame)frames[j]; if (frame.getReceivingTypeName().equals("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1") && frame.getName().equals("eval")) { //$NON-NLS-1$ //$NON-NLS-2$ frame.stepOver(); return null;
int stackDepth = frame.getThread().getStackFrames().length; String name = null; if (frame.isConstructor()) { name = frame.getDeclaringTypeName(); index = name.lastIndexOf('.'); if (index >= 0) { name = frame.getName(); if (name.equals(getMethod().getElementName()) && frame.getSignature().equals(getSignature())) { if (frame.isSynthetic()) { if (!(frame.getSignature().equals(fOriginalSignature) && frame.getName().equals(fOriginalName) && frame.getDeclaringTypeName().equals(fOriginalTypeName))) { missed(); return events;
IJavaStackFrame stackFrame = (IJavaStackFrame) element; String sourcePath = stackFrame.getSourcePath(STRATA_ID); if (sourcePath != null) { return sourcePath; declaringType = stackFrame.getReferenceType(); } else if (element instanceof IJavaObject) { IJavaType javaType = ((IJavaObject) element).getJavaType();
if (frame == null || !frame.isSuspended()) { return; int lineNumber = frame.getLineNumber(); String callingTypeName = stripInnerNames(callingType.getFullyQualifiedName()); String frameName = stripInnerNames(frame.getDeclaringTypeName()); } else { runToLineBeforeStepIn(textSelection, frame.getThread(), method); return;
/** * @see org.eclipse.jdt.internal.debug.ui.actions.AbstractAddStepFilterAction#generateStepFilterPattern(org.eclipse.jdt.debug.core.IJavaStackFrame) */ protected String generateStepFilterPattern(IJavaStackFrame frame) { try { return frame.getDeclaringTypeName(); } catch (DebugException de) { return null; } }
/** * Constructs a step handler to step into the given method in the given thread * starting from the given stack frame. */ public StepIntoSelectionHandler(IJavaThread thread, IJavaStackFrame frame, IMethod method) { fMethod = method; fThread = thread; try { fOriginalName = frame.getName(); fOriginalSignature = frame.getSignature(); fOriginalTypeName = frame.getDeclaringTypeName(); if (method.isBinary()) { fResolvedSignature = method.getSignature(); } else { fResolvedSignature = ToggleBreakpointAdapter.resolveMethodSignature(method.getDeclaringType(), method.getSignature()); } } catch (CoreException e) { JDIDebugUIPlugin.log(e); } }
if (element instanceof IJavaStackFrame) { IJavaStackFrame javaStackFrame = ((IJavaStackFrame)element); if (javaStackFrame.isOutOfSynch()) { return JDIImageDescriptor.IS_OUT_OF_SYNCH; if (!javaStackFrame.isObsolete() && javaStackFrame.isSynchronized()) { return JDIImageDescriptor.SYNCHRONIZED;
protected IJavaType getTypeToOpen(IDebugElement element) throws CoreException { if (element instanceof IJavaStackFrame) { IJavaStackFrame frame = (IJavaStackFrame) element; return frame.getReferenceType(); } return null; }
/** * Fills the given menu with available stratum. * * @param m */ private void fillMenu(Menu m) { IStackFrame frame = (IStackFrame) fSelection.getFirstElement(); final IJavaStackFrame javaStackFrame = (IJavaStackFrame) frame.getAdapter(IJavaStackFrame.class); try { IJavaReferenceType declaringType = javaStackFrame.getReferenceType(); final IJavaDebugTarget target = (IJavaDebugTarget) javaStackFrame.getDebugTarget(); String currentStratum = target.getDefaultStratum(); String[] strata = declaringType.getAvailableStrata(); for (int i = 0; i < strata.length; i++) { final String stratum = strata[i]; MenuItem item = createMenuItem(m, stratum, javaStackFrame, target); item.setSelection(stratum.equals(currentStratum)); } MenuItem item = createMenuItem(m, null, javaStackFrame, target); item.setSelection(currentStratum == null); } catch (DebugException e) { } }
public void run() { try { String message = MessageFormat.format(LauncherMessages.JavaUISourceLocator_selectprojects_message, new String[] {frame.getDeclaringTypeName()}); ILaunchConfiguration configuration = frame.getLaunch().getLaunchConfiguration(); JavaSourceLookupDialog dialog = new JavaSourceLookupDialog( JDIDebugUIPlugin.getActiveWorkbenchShell(), message, configuration); int result = dialog.open(); if (result == Window.OK) { fAllowedToAsk = !dialog.isNotAskAgain(); JavaUISourceLocator.this.initializeDefaults( configuration); } } catch (CoreException e) { // only report an error if the thread has not resumed if (e.getStatus().getCode() != IJavaThread.ERR_THREAD_NOT_SUSPENDED) { JDIDebugUIPlugin.log(e); } } } };
/** * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(IStackFrame) */ public Object getSourceElement(IStackFrame stackFrame) { Object res = findSourceElement(stackFrame); if (res == null && fAllowedToAsk) { IJavaStackFrame frame = (IJavaStackFrame) stackFrame.getAdapter(IJavaStackFrame.class); if (frame != null) { try { if (!frame.isObsolete()) { showDebugSourcePage(frame); res = fSourceLocator.getSourceElement(stackFrame); } } catch (DebugException e) { } } } return res; }
/** * Sets the evaluation context for the given page, and notes that * a valid execution context exists. * * @param page * @param frame */ private void setContext(IWorkbenchPage page, IJavaStackFrame frame, boolean instOf) { if (fContextsByPage == null) { fContextsByPage = new HashMap(); } fContextsByPage.put(page, frame); System.setProperty(DEBUGGER_ACTIVE, "true"); //$NON-NLS-1$ if (frame.canForceReturn()) { System.setProperty(SUPPORTS_FORCE_RETURN, "true"); //$NON-NLS-1$ } else { System.setProperty(SUPPORTS_FORCE_RETURN, "false"); //$NON-NLS-1$ } if (((IJavaDebugTarget)frame.getDebugTarget()).supportsInstanceRetrieval()){ System.setProperty(SUPPORTS_INSTANCE_RETRIEVAL, "true"); //$NON-NLS-1$ } else { System.setProperty(SUPPORTS_INSTANCE_RETRIEVAL, "false"); //$NON-NLS-1$ } if (instOf) { System.setProperty(INSTANCE_OF_IJAVA_STACK_FRAME, "true"); //$NON-NLS-1$ } else { System.setProperty(INSTANCE_OF_IJAVA_STACK_FRAME, "false"); //$NON-NLS-1$ } }
@Override public boolean visit(MethodDeclaration node) { try { // TODO: improve the comparison of the method which is visited and the debug // frame inFrame = (node.getName().toString().equals(fFrame.getMethodName())); } catch (DebugException e) { e.printStackTrace(); } return super.visit(node); }
if (fElement instanceof IJavaStackFrame) { IJavaStackFrame stackFrame = (IJavaStackFrame) fElement; declaringType = stackFrame.getReferenceType(); sourcePath = stackFrame.getSourcePath(); } else if (fElement instanceof IJavaObject) { IJavaType javaType = ((IJavaObject) fElement).getJavaType();