private static Variable adjustQuotes(JPDADebugger debugger, ObjectVariable strVar) { String str = strVar.getValue(); str = str.substring(1, str.length() - 1); // getValue() adds quotes if (str.length() > 2 && str.startsWith("\"") && str.endsWith("\"")) { str = str.substring(1, str.length() - 1); try { return debugger.createMirrorVar(str); } catch (InvalidObjectException ex) { } } return strVar; }
static Variable getValueInfoDesc(JPDADebugger debugger, String name, Variable value, boolean all) { List<JPDAClassType> supportClasses = debugger.getClassesByName(DEBUGGER_SUPPORT_CLASS); if (supportClasses.isEmpty()) { return null; } JPDAClassType supportClass = supportClasses.get(0); Variable[] args = new Variable[3]; try { args[0] = debugger.createMirrorVar(name); args[1] = value; args[2] = debugger.createMirrorVar(all, true); return supportClass.invokeMethod(METHOD_VALUE_INFO, SIGNAT_VALUE_INFO, args); } catch (InvalidObjectException | InvalidExpressionException iex) { return null; } catch (NoSuchMethodException nsmex) { Exceptions.printStackTrace(nsmex); return null; } }
static Variable[] getValueInfos(JPDADebugger debugger, Variable scope, boolean all) { List<JPDAClassType> supportClasses = debugger.getClassesByName(DEBUGGER_SUPPORT_CLASS); if (supportClasses.isEmpty()) { return null; } JPDAClassType supportClass = supportClasses.get(0); Variable[] args = new Variable[2]; try { args[0] = scope; args[1] = debugger.createMirrorVar(all, true); ObjectVariable infosVar = (ObjectVariable) supportClass.invokeMethod(METHOD_VALUE_INFOS, SIGNAT_VALUE_INFOS, args); return infosVar.getFields(0, Integer.MAX_VALUE); } catch (InvalidObjectException ioex) { return null; } catch (NoSuchMethodException | InvalidExpressionException nsmex) { Exceptions.printStackTrace(nsmex); return null; } }
args[0] = scope; args[1] = contextVar; args[2] = debugger.createMirrorVar(expression); args[3] = debugger.createMirrorVar(false, true); return supportClass.invokeMethod(METHOD_EVAL, SIGNAT_EVAL, args); } catch (InvalidObjectException ioex) {