0
|
1 |
name = "clear";
|
|
2 |
|
|
3 |
group = "breakpoints";
|
|
4 |
|
|
5 |
shortDescription = "Clear breakpoint at specified location";
|
|
6 |
|
|
7 |
longDescription = "clear <file>:<line> : Clear breakpoints at the given location.";
|
|
8 |
longDescription += "\nclear <line> : Clear breakpoints at the given line of the current script.";
|
|
9 |
|
|
10 |
seeAlso = [ "delete" ];
|
|
11 |
|
|
12 |
argumentTypes = [ "script-filename" ];
|
|
13 |
|
|
14 |
function execute() {
|
|
15 |
if (arguments.length == 0) {
|
|
16 |
message("Missing argument.");
|
|
17 |
return;
|
|
18 |
}
|
|
19 |
var arg = arguments[0];
|
|
20 |
var colonIndex = arg.lastIndexOf(':');
|
|
21 |
if (colonIndex == -1) {
|
|
22 |
lineNumber = parseInt(arg);
|
|
23 |
if (isNaN(lineNumber)) {
|
|
24 |
message("Breakpoint location must be of the form <file>:<line> or <line>.");
|
|
25 |
return;
|
|
26 |
}
|
|
27 |
var sid = getCurrentScriptId();
|
|
28 |
if (sid == -1) {
|
|
29 |
message("No script.");
|
|
30 |
return;
|
|
31 |
}
|
|
32 |
scriptId = sid;
|
|
33 |
} else {
|
|
34 |
fileName = arg.slice(0, colonIndex);
|
|
35 |
lineNumber = parseInt(arg.slice(colonIndex+1));
|
|
36 |
}
|
|
37 |
scheduleGetBreakpoints();
|
|
38 |
state = 1;
|
|
39 |
}
|
|
40 |
|
|
41 |
function handleResponse(resp) {
|
|
42 |
if (state == 1) {
|
|
43 |
var breakpoints = resp.result;
|
|
44 |
if (breakpoints == undefined)
|
|
45 |
return;
|
|
46 |
for (var id in breakpoints) {
|
|
47 |
var data = breakpoints[id];
|
|
48 |
if ((data.lineNumber == lineNumber)
|
|
49 |
&& (data.fileName == fileName)
|
|
50 |
|| ((data.scriptId != -1) && (data.scriptId = scriptId))) {
|
|
51 |
scheduleDeleteBreakpoint(id);
|
|
52 |
message("Deleted breakpoint " + id + ".");
|
|
53 |
}
|
|
54 |
}
|
|
55 |
state = 2;
|
|
56 |
} else if (state == 2) {
|
|
57 |
|
|
58 |
}
|
|
59 |
}
|