/** * Returns whether this variable's VM supports instance/reference information. * * @param var variable * @return whether this variable's VM supports instance/reference information */ protected boolean isInstanceRetrievalAvailable(IJavaVariable var) { return ((IJavaDebugTarget)var.getDebugTarget()).supportsInstanceRetrieval() && !(var instanceof JDIReferenceListVariable); } }
/** * 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$ } }
if(adapter != null && adapter instanceof IJavaDebugTarget) { IJavaDebugTarget dtarget = (IJavaDebugTarget) adapter; return dtarget.supportsInstanceRetrieval();