Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/debug/Debugger.java @ 22448:1c3deda60a9e
Truffle/Debugging: the REPL debugger now remembers breakpoint requests it receives from the command line client when there have been no executions yet (which means breakpoints cannot be set in the engine/debugger). When the first execution event arrives (with a reference to the Debugger), any "pending" breakpoints are created with the Debugger. This involved a bit of refactoring on the Breakpoint class hierarchy.
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Wed, 04 Nov 2015 16:33:40 -0800 |
parents | 9f478b9db4f7 |
children | 163fdf64587d |
comparison
equal
deleted
inserted
replaced
22444:c3e397ce5941 | 22448:1c3deda60a9e |
---|---|
150 * @param oneShot breakpoint disposes itself after fist hit, if {@code true} | 150 * @param oneShot breakpoint disposes itself after fist hit, if {@code true} |
151 * @return a new breakpoint, initially enabled | 151 * @return a new breakpoint, initially enabled |
152 * @throws IOException if the breakpoint can not be set. | 152 * @throws IOException if the breakpoint can not be set. |
153 */ | 153 */ |
154 @TruffleBoundary | 154 @TruffleBoundary |
155 public Breakpoint setLineBreakpoint(int ignoreCount, LineLocation lineLocation, boolean oneShot) throws IOException { | 155 public LineBreakpoint setLineBreakpoint(int ignoreCount, LineLocation lineLocation, boolean oneShot) throws IOException { |
156 return lineBreaks.create(ignoreCount, lineLocation, oneShot); | 156 return lineBreaks.create(ignoreCount, lineLocation, oneShot); |
157 } | 157 } |
158 | 158 |
159 /** | 159 /** |
160 * Sets a breakpoint to halt at any node holding a specified {@link SyntaxTag}. | 160 * Sets a breakpoint to halt at any node holding a specified {@link SyntaxTag}. |
163 * @param oneShot if {@code true} breakpoint removes it self after a hit | 163 * @param oneShot if {@code true} breakpoint removes it self after a hit |
164 * @return a new breakpoint, initially enabled | 164 * @return a new breakpoint, initially enabled |
165 * @throws IOException if the breakpoint already set | 165 * @throws IOException if the breakpoint already set |
166 */ | 166 */ |
167 @TruffleBoundary | 167 @TruffleBoundary |
168 public Breakpoint setTagBreakpoint(int ignoreCount, SyntaxTag tag, boolean oneShot) throws IOException { | 168 public TagBreakpoint setTagBreakpoint(int ignoreCount, SyntaxTag tag, boolean oneShot) throws IOException { |
169 return tagBreaks.create(ignoreCount, tag, oneShot); | 169 return tagBreaks.create(ignoreCount, tag, oneShot); |
170 } | 170 } |
171 | 171 |
172 /** | 172 /** |
173 * Gets all existing breakpoints, whatever their status, in natural sorted order. Modification | 173 * Gets all existing breakpoints, whatever their status, in natural sorted order. Modification |