protected IJavaType getTypeToOpen(IDebugElement element) throws CoreException { if (element instanceof IJavaVariable) { IJavaVariable variable = (IJavaVariable) element; return variable.getJavaType(); } return null; }
protected IJavaType getTypeToOpen(IDebugElement element) throws CoreException { if (element instanceof IJavaVariable) { IJavaVariable variable = (IJavaVariable) element; return ((IJavaValue)variable.getValue()).getJavaType(); } return null; }
/** * 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); } }
public boolean canModify(Object element, String property) { if (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) { if (element instanceof IJavaVariable) { IJavaVariable var = (IJavaVariable) element; if (var.supportsValueModification()){ try { String signature = var.getSignature(); if (signature != null) { if (signature.length() == 1) { // primitive return true; } return signature.equals("Ljava/lang/String;"); //$NON-NLS-1$ } } catch (DebugException e) { } } } } return false; }
/** * Determines if the declared value is the same as the concrete value * @param var the variable to inspect * @return true if the types are the same, false otherwise */ protected boolean isDeclaredSameAsConcrete(IJavaVariable var) { try { IValue value = var.getValue(); if (value instanceof JDINullValue) { return false; } return !var.getReferenceTypeName().equals(value.getReferenceTypeName()); } catch(DebugException e) {JDIDebugUIPlugin.log(e);} return false; }
/** * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IJavaVariable) { IJavaVariable variable = (IJavaVariable)element; try { if (!getValue()) { // when not on, filter static finals return !(variable.isStatic() && variable.isFinal()); } } catch (DebugException e) { JDIDebugUIPlugin.log(e); } } return true; } }
protected void run() { IWorkbenchPart part= getTargetPart(); if (part instanceof JavaSnippetEditor) { ((JavaSnippetEditor)part).evalSelection(JavaSnippetEditor.RESULT_INSPECT); return; } Object selection= getSelectedObject(); if (!(selection instanceof IStructuredSelection)) { super.run(); return; } //inspecting from the context of the variables view Iterator variables = ((IStructuredSelection)selection).iterator(); while (variables.hasNext()) { IJavaVariable var = (IJavaVariable)variables.next(); try { JavaInspectExpression expr = new JavaInspectExpression(var.getName(), (IJavaValue)var.getValue()); DebugPlugin.getDefault().getExpressionManager().addExpression(expr); } catch (DebugException e) { JDIDebugUIPlugin.statusDialog(e.getStatus()); } } showExpressionView(); }
IValue varValue; try { varValue = var.getValue(); if (name.equals("PrimitiveVariableActionFilter")) { //$NON-NLS-1$ if (value.equals("isPrimitive")) { //$NON-NLS-1$ return !var.isStatic() && (varValue instanceof IJavaObject) && (((IJavaObject)varValue).getJavaType() instanceof IJavaClassType) && ((IJavaDebugTarget)var.getDebugTarget()).supportsInstanceBreakpoints(); return !var.isFinal() & !(var.isFinal() & var.isStatic());
private ImageDescriptor computeBaseImageDescriptor(IAdaptable element) { IJavaVariable javaVariable= (IJavaVariable) element.getAdapter(IJavaVariable.class); if (javaVariable != null) { try { if (javaVariable.isLocal()) return JavaDebugImages.getImageDescriptor(JavaDebugImages.IMG_OBJS_LOCAL_VARIABLE); if (javaVariable.isPublic()) return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PUBLIC); if (javaVariable.isProtected()) return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PROTECTED); if (javaVariable.isPrivate()) return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PRIVATE); } catch (DebugException e) { // no need to log errors - elements may no longer exist by the time we render them } } return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_DEFAULT); }
protected String getVariableText(IJavaVariable var) { String varLabel= DebugUIMessages.JDIModelPresentation_unknown_name__1; try { varLabel= var.getName(); } catch (DebugException exception) { javaValue = (IJavaValue) var.getValue(); } catch (DebugException e1) { String typeName= DebugUIMessages.JDIModelPresentation_unknown_type__2; try { typeName= var.getReferenceTypeName(); if (showTypes) { typeName= getQualifiedName(typeName);
IValue val = var.getValue(); if (val instanceof IJavaValue){ type = ((IJavaValue)val).getJavaType(); type = var.getJavaType();
String signature = variable.getSignature(); if (signature.equals("Ljava/lang/String;")) { //$NON-NLS-1$ IValue value = variable.getValue(); if (!(value instanceof JDINullValue)) { String currentValue= value.getValueString();
public String[][] getLocalVariables() throws CoreException { IJavaStackFrame frame = getStackFrame(); if (frame != null) { IVariable[] variables = frame.getVariables(); int index = 0; if (!frame.isStatic()) { index = 1; } String[][] locals = new String[2][variables.length - index]; for (int i = 0; i < locals[0].length; i++) { IJavaVariable var = (IJavaVariable) variables[index]; locals[0][i] = var.getName(); locals[1][i] = var.getJavaType().getName(); index++; } return locals; } return super.getLocalVariables(); }
/** * Returns whether the given variable is a boolean. * * @param variable * @return */ public static boolean isBoolean(IJavaVariable variable) { try { String signature = variable.getSignature(); return (signature.length() == 1 && signature.charAt(0) == Signature.C_BOOLEAN); } catch (DebugException e) { } return false; }
/** * Creates the source viewer that allows the user to enter * an evaluation expression. */ protected void createSourceViewer() { Composite parent= fInputArea; String name= ActionMessages.ExpressionInputDialog_3; try { name= fVariable.getName(); } catch (DebugException e) { JDIDebugUIPlugin.log(e); } fEvaluateLabel= new Label(parent, SWT.WRAP); fEvaluateLabel.setText(MessageFormat.format(ActionMessages.ExpressionInputDialog_0, new String[] {name})); GridData data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH); fEvaluateLabel.setLayoutData(data); fEvaluateLabel.setFont(parent.getFont()); fSourceViewer= new JDISourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); fSourceViewer.setInput(parent); configureSourceViewer(); fSourceViewer.doOperation(ITextOperationTarget.SELECT_ALL); }
/** * Determines if the passed object is a primitive type or not * @param obj the obj to test * @return true if the object is primitive, false otherwise */ protected boolean isPrimitiveType(Object obj) { if(obj instanceof IJavaVariable) { try { return !fgPrimitiveTypes.contains(removeArray(((IJavaVariable) obj).getReferenceTypeName())); } catch (DebugException e) { if(!(e.getStatus().getException() instanceof ClassNotLoadedException)) { JDIDebugUIPlugin.log(e); } return false; } } else if(obj instanceof JavaInspectExpression) { try { JavaInspectExpression exp = (JavaInspectExpression)obj; IValue value = exp.getValue(); if (value != null) { return fgPrimitiveTypes.contains(removeArray(value.getReferenceTypeName())); } } catch (DebugException e) {JDIDebugUIPlugin.log(e);} } return false; }
final IJavaVariable var = (IJavaVariable)o; try { IValue value = var.getValue(); if (value instanceof IJavaObject) { final IJavaObject object = (IJavaObject)value; }; final IDebugModelPresentation modelPresentation= DebugUITools.newDebugModelPresentation(); ListSelectionDialog dialog = new InstanceFilterDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), breakpoints, content, modelPresentation, MessageFormat.format(ActionMessages.InstanceFiltersAction_1, new String[] {var.getName()})){ public void okPressed() {
/** * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IJavaVariable) { IJavaVariable variable = (IJavaVariable)element; try { if (!getValue()) { // when not on, filter non-static finals return !(variable.isStatic() && !variable.isFinal()); } } catch (DebugException e) { JDIDebugUIPlugin.log(e); } } return true; } }
public static String getSignature(IVariable variable) throws DebugException { String signature= null; IJavaVariable javaVariable = (IJavaVariable) variable.getAdapter(IJavaVariable.class); if (javaVariable != null) { signature = javaVariable.getSignature(); } return signature; }
public void run() { Object selectedObject= getSelectedObject(); if (selectedObject instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection)selectedObject; Iterator elements = selection.iterator(); while (elements.hasNext()) { try { createWatchExpression(((IJavaVariable)elements.next()).getName()); } catch (DebugException e) { JDIDebugUIPlugin.log(e); return; } } showExpressionView(); } else if (selectedObject instanceof String) { createWatchExpression((String) selectedObject); showExpressionView(); } }