private synchronized void evaluate() { String text = watch.getExpression (); text = text.replace("\"", "\\\""); text = "pageContext.getExpressionEvaluator().evaluate(\"" + text + "\", "+ "java.lang.String.class, "+ "((javax.servlet.jsp.PageContext) pageContext).getVariableResolver(), "+ "null)"; try { variable = debugger.evaluate(text); exception = null; } catch (Exception e) { exception = e; } finally { evaluated = true; } }
@Override public void breakpointReached(JPDABreakpointEvent event) { // Call MethodHandle mh = getGenericInvoker(); // mh.member.clazz is the class that is going to be called // mh.member.name is the method name. logger.fine("ScriptBPListener.breakpointReached()"); try { setAltCSF(event.getThread()); Variable mh; if (event.getSource() == scriptAccessBPs[0]) { mh = debugger.evaluate("getGenericInvoker()"); } else { mh = debugger.evaluate("getGenericConstructor()"); } if (!(mh instanceof ObjectVariable)) { logger.info("getGenericInvoker/Constructor returned "+mh+", which is not an object."); return ; } scriptToBeInvoked((ObjectVariable) mh); } catch (InvalidExpressionException iex) { } finally { setAltCSF(null); event.resume(); } }
try { evaluating.set(Boolean.TRUE); Variable contextPathVar = debugger.evaluate("request.getContextPath()"); String contextPath = contextPathVar.getValue(); if (contextPath.startsWith("\"") && contextPath.endsWith("\"")) {
v = d.evaluate (expression);
v = d.evaluate (expression);
v = d.evaluate (expression);
Variable v = d.evaluate(text); if (v instanceof ObjectVariable) { toolTipText = textForTooltip + " = (" + v.getType() + ")" + ((ObjectVariable)v).getToStringValue();