Mercurial > hg > truffle
diff truffle/com.oracle.truffle.tools.debug.shell/src/com/oracle/truffle/tools/debug/shell/server/REPLServerContext.java @ 22206:dc91e9ee752e
SuspendedEvent.eval to let debugger evaluate variables in currently suspended execution context
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Wed, 30 Sep 2015 11:17:30 +0200 |
parents | 93a6b7597937 |
children | b56fe0d3b560 |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.tools.debug.shell/src/com/oracle/truffle/tools/debug/shell/server/REPLServerContext.java Wed Sep 30 10:59:40 2015 +0200 +++ b/truffle/com.oracle.truffle.tools.debug.shell/src/com/oracle/truffle/tools/debug/shell/server/REPLServerContext.java Wed Sep 30 11:17:30 2015 +0200 @@ -24,10 +24,6 @@ */ package com.oracle.truffle.tools.debug.shell.server; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import com.oracle.truffle.api.debug.Breakpoint; import com.oracle.truffle.api.debug.Debugger; import com.oracle.truffle.api.debug.SuspendedEvent; @@ -39,6 +35,10 @@ import com.oracle.truffle.api.vm.PolyglotEngine; import com.oracle.truffle.api.vm.PolyglotEngine.Language; import com.oracle.truffle.tools.debug.shell.REPLMessage; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; public abstract class REPLServerContext { @@ -65,6 +65,19 @@ } /** + * Evaluates given code snippet in the context of currently suspended execution. + * + * @param code the snippet to evaluate + * @param frame <code>null</code> in case the evaluation should happen in top most frame, + * non-null value + * @return result of the evaluation + * @throws IOException if something goes wrong + */ + public Object eval(String code, FrameInstance frame) throws IOException { + return event.eval(code, frame); + } + + /** * The frame where execution is halted in this context. */ public MaterializedFrame getFrameAtHalt() {