/** * 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; }
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 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; }
public boolean saveVariable(IVariable variable, String expression, Shell shell) { IJavaVariable javaVariable = (IJavaVariable) variable; String signature= null; try { signature = javaVariable.getSignature(); if ("Ljava/lang/String;".equals(signature)) { //$NON-NLS-1$ return false; } setValue(variable, expression); } catch (DebugException e) { handleException(e); } return true; }
String signature = variable.getSignature(); if (signature.equals("Ljava/lang/String;")) { //$NON-NLS-1$ IValue value = variable.getValue();
public boolean editVariable(IVariable variable, Shell shell) { try { IJavaVariable javaVariable = (IJavaVariable) variable; String signature = javaVariable.getSignature(); if ("Ljava/lang/String;".equals(signature)) { //$NON-NLS-1$ StringValueInputDialog dialog= new StringValueInputDialog(shell, javaVariable); if (dialog.open() == Window.OK) { String result = dialog.getResult(); if (dialog.isUseLiteralValue()) { variable.setValue(result); } else { setValue(variable, result); } } } else { ExpressionInputDialog dialog= new ExpressionInputDialog(shell, javaVariable); if (dialog.open() == Window.OK) { String result = dialog.getResult(); setValue(variable, result); } } } catch (DebugException e) { handleException(e); } return true; }