@theia/debug 1.17.0-next.ff9e0507 → 1.18.0-next.05f289b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/breakpoint/breakpoint-manager.js +159 -382
- package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
- package/lib/browser/breakpoint/breakpoint-marker.js +4 -15
- package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -1
- package/lib/browser/console/debug-console-contribution.d.ts.map +1 -1
- package/lib/browser/console/debug-console-contribution.js +132 -221
- package/lib/browser/console/debug-console-contribution.js.map +1 -1
- package/lib/browser/console/debug-console-items.js +231 -451
- package/lib/browser/console/debug-console-items.js.map +1 -1
- package/lib/browser/console/debug-console-session.js +86 -223
- package/lib/browser/console/debug-console-session.js.map +1 -1
- package/lib/browser/debug-configuration-manager.js +281 -623
- package/lib/browser/debug-configuration-manager.js.map +1 -1
- package/lib/browser/debug-configuration-model.js +31 -108
- package/lib/browser/debug-configuration-model.js.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.d.ts +1 -0
- package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.js +577 -780
- package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
- package/lib/browser/debug-frontend-module.js +46 -82
- package/lib/browser/debug-frontend-module.js.map +1 -1
- package/lib/browser/debug-keybinding-contexts.js +41 -59
- package/lib/browser/debug-keybinding-contexts.js.map +1 -1
- package/lib/browser/debug-monaco-contribution.js +17 -17
- package/lib/browser/debug-monaco-contribution.js.map +1 -1
- package/lib/browser/debug-package.spec.js +2 -2
- package/lib/browser/debug-package.spec.js.map +1 -1
- package/lib/browser/debug-preferences.js +7 -11
- package/lib/browser/debug-preferences.js.map +1 -1
- package/lib/browser/debug-prefix-configuration.js +101 -117
- package/lib/browser/debug-prefix-configuration.js.map +1 -1
- package/lib/browser/debug-resource.js +29 -79
- package/lib/browser/debug-resource.js.map +1 -1
- package/lib/browser/debug-schema-updater.js +54 -193
- package/lib/browser/debug-schema-updater.js.map +1 -1
- package/lib/browser/debug-session-connection.js +137 -235
- package/lib/browser/debug-session-connection.js.map +1 -1
- package/lib/browser/debug-session-contribution.js +91 -120
- package/lib/browser/debug-session-contribution.js.map +1 -1
- package/lib/browser/debug-session-manager.js +368 -652
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session.js +556 -1279
- package/lib/browser/debug-session.js.map +1 -1
- package/lib/browser/debug-tab-bar-decorator.js +32 -38
- package/lib/browser/debug-tab-bar-decorator.js.map +1 -1
- package/lib/browser/debug-watch-manager.js +41 -138
- package/lib/browser/debug-watch-manager.js.map +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.js +142 -255
- package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
- package/lib/browser/editor/debug-editor-model.js +299 -474
- package/lib/browser/editor/debug-editor-model.js.map +1 -1
- package/lib/browser/editor/debug-editor-service.js +128 -206
- package/lib/browser/editor/debug-editor-service.js.map +1 -1
- package/lib/browser/editor/debug-exception-widget.js +56 -119
- package/lib/browser/editor/debug-exception-widget.js.map +1 -1
- package/lib/browser/editor/debug-expression-provider.js +21 -24
- package/lib/browser/editor/debug-expression-provider.js.map +1 -1
- package/lib/browser/editor/debug-hover-source.js +83 -249
- package/lib/browser/editor/debug-hover-source.js.map +1 -1
- package/lib/browser/editor/debug-hover-widget.js +151 -224
- package/lib/browser/editor/debug-hover-widget.js.map +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +96 -193
- package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
- package/lib/browser/model/debug-breakpoint.js +52 -102
- package/lib/browser/model/debug-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-function-breakpoint.js +54 -124
- package/lib/browser/model/debug-function-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-source-breakpoint.js +111 -265
- package/lib/browser/model/debug-source-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-source.js +45 -126
- package/lib/browser/model/debug-source.js.map +1 -1
- package/lib/browser/model/debug-stack-frame.js +85 -199
- package/lib/browser/model/debug-stack-frame.js.map +1 -1
- package/lib/browser/model/debug-thread.js +132 -304
- package/lib/browser/model/debug-thread.js.map +1 -1
- package/lib/browser/preferences/launch-preferences.js +3 -3
- package/lib/browser/preferences/launch-preferences.js.map +1 -1
- package/lib/browser/view/debug-action.js +13 -29
- package/lib/browser/view/debug-action.js.map +1 -1
- package/lib/browser/view/debug-breakpoints-source.js +42 -169
- package/lib/browser/view/debug-breakpoints-source.js.map +1 -1
- package/lib/browser/view/debug-breakpoints-widget.js +43 -82
- package/lib/browser/view/debug-breakpoints-widget.js.map +1 -1
- package/lib/browser/view/debug-configuration-widget.js +89 -136
- package/lib/browser/view/debug-configuration-widget.js.map +1 -1
- package/lib/browser/view/debug-exception-breakpoint.js +7 -9
- package/lib/browser/view/debug-exception-breakpoint.js.map +1 -1
- package/lib/browser/view/debug-session-widget.js +80 -114
- package/lib/browser/view/debug-session-widget.js.map +1 -1
- package/lib/browser/view/debug-stack-frames-source.js +58 -169
- package/lib/browser/view/debug-stack-frames-source.js.map +1 -1
- package/lib/browser/view/debug-stack-frames-widget.js +89 -155
- package/lib/browser/view/debug-stack-frames-widget.js.map +1 -1
- package/lib/browser/view/debug-threads-source.js +37 -124
- package/lib/browser/view/debug-threads-source.js.map +1 -1
- package/lib/browser/view/debug-threads-widget.js +61 -99
- package/lib/browser/view/debug-threads-widget.js.map +1 -1
- package/lib/browser/view/debug-toolbar-widget.js +58 -76
- package/lib/browser/view/debug-toolbar-widget.js.map +1 -1
- package/lib/browser/view/debug-variables-source.js +32 -102
- package/lib/browser/view/debug-variables-source.js.map +1 -1
- package/lib/browser/view/debug-variables-widget.js +35 -74
- package/lib/browser/view/debug-variables-widget.js.map +1 -1
- package/lib/browser/view/debug-view-model.js +172 -381
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/browser/view/debug-watch-expression.js +34 -112
- package/lib/browser/view/debug-watch-expression.js.map +1 -1
- package/lib/browser/view/debug-watch-source.js +30 -87
- package/lib/browser/view/debug-watch-source.js.map +1 -1
- package/lib/browser/view/debug-watch-widget.js +35 -74
- package/lib/browser/view/debug-watch-widget.js.map +1 -1
- package/lib/browser/view/debug-widget.js +63 -105
- package/lib/browser/view/debug-widget.js.map +1 -1
- package/lib/common/debug-service.js +5 -5
- package/lib/common/debug-service.js.map +1 -1
- package/lib/node/debug-adapter-contribution-registry.js +133 -489
- package/lib/node/debug-adapter-contribution-registry.js.map +1 -1
- package/lib/node/debug-adapter-factory.js +38 -57
- package/lib/node/debug-adapter-factory.js.map +1 -1
- package/lib/node/debug-adapter-session-manager.js +50 -98
- package/lib/node/debug-adapter-session-manager.js.map +1 -1
- package/lib/node/debug-adapter-session.js +44 -93
- package/lib/node/debug-adapter-session.js.map +1 -1
- package/lib/node/debug-backend-module.js +13 -17
- package/lib/node/debug-backend-module.js.map +1 -1
- package/lib/node/debug-service-impl.js +71 -213
- package/lib/node/debug-service-impl.js.map +1 -1
- package/lib/node/vscode/vscode-debug-adapter-contribution.js +153 -294
- package/lib/node/vscode/vscode-debug-adapter-contribution.js.map +1 -1
- package/package.json +16 -16
- package/src/browser/console/debug-console-contribution.tsx +3 -3
- package/src/browser/debug-frontend-application-contribution.ts +69 -18
- package/src/browser/debug-prefix-configuration.ts +1 -1
- package/src/browser/style/index.css +28 -10
- package/src/browser/view/debug-action.tsx +2 -2
- package/src/browser/view/debug-configuration-widget.tsx +3 -3
- package/src/browser/view/debug-session-widget.ts +2 -2
- package/src/browser/view/debug-toolbar-widget.tsx +8 -8
- package/src/browser/view/debug-widget.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-session-manager.js","sourceRoot":"","sources":["../../src/browser/debug-session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debug-session-manager.js","sourceRoot":"","sources":["../../src/browser/debug-session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,87 +14,20 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var __values = (this && this.__values) || function(o) {
|
|
54
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
-
if (m) return m.call(o);
|
|
56
|
-
if (o && typeof o.length === "number") return {
|
|
57
|
-
next: function () {
|
|
58
|
-
if (o && i >= o.length) o = void 0;
|
|
59
|
-
return { value: o && o[i++], done: !o };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
-
};
|
|
64
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
65
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
66
|
-
if (!m) return o;
|
|
67
|
-
var i = m.call(o), r, ar = [], e;
|
|
68
|
-
try {
|
|
69
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
70
|
-
}
|
|
71
|
-
catch (error) { e = { error: error }; }
|
|
72
|
-
finally {
|
|
73
|
-
try {
|
|
74
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
75
|
-
}
|
|
76
|
-
finally { if (e) throw e.error; }
|
|
77
|
-
}
|
|
78
|
-
return ar;
|
|
79
|
-
};
|
|
80
|
-
var __spread = (this && this.__spread) || function () {
|
|
81
|
-
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
82
|
-
return ar;
|
|
83
|
-
};
|
|
84
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
85
18
|
exports.DebugSession = exports.DebugState = void 0;
|
|
86
19
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const common_1 = require("@theia/core/lib/common");
|
|
22
|
+
const debug_thread_1 = require("./model/debug-thread");
|
|
23
|
+
const debug_source_1 = require("./model/debug-source");
|
|
24
|
+
const debug_source_breakpoint_1 = require("./model/debug-source-breakpoint");
|
|
25
|
+
const debounce = require("p-debounce");
|
|
26
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
27
|
+
const breakpoint_manager_1 = require("./breakpoint/breakpoint-manager");
|
|
28
|
+
const debug_session_options_1 = require("./debug-session-options");
|
|
29
|
+
const breakpoint_marker_1 = require("./breakpoint/breakpoint-marker");
|
|
30
|
+
const debug_function_breakpoint_1 = require("./model/debug-function-breakpoint");
|
|
98
31
|
var DebugState;
|
|
99
32
|
(function (DebugState) {
|
|
100
33
|
DebugState[DebugState["Inactive"] = 0] = "Inactive";
|
|
@@ -103,9 +36,8 @@ var DebugState;
|
|
|
103
36
|
DebugState[DebugState["Stopped"] = 3] = "Stopped";
|
|
104
37
|
})(DebugState = exports.DebugState || (exports.DebugState = {}));
|
|
105
38
|
// FIXME: make injectable to allow easily inject services
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
var _this = this;
|
|
39
|
+
class DebugSession {
|
|
40
|
+
constructor(id, options, parentSession, connection, terminalServer, editorManager, breakpoints, labelProvider, messages, fileService, debugContributionProvider) {
|
|
109
41
|
this.id = id;
|
|
110
42
|
this.options = options;
|
|
111
43
|
this.parentSession = parentSession;
|
|
@@ -129,894 +61,461 @@ var DebugSession = /** @class */ (function () {
|
|
|
129
61
|
this.toDisposeOnCurrentThread = new common_1.DisposableCollection();
|
|
130
62
|
this.initialized = false;
|
|
131
63
|
this.terminated = false;
|
|
132
|
-
this.scheduleUpdateThreads = debounce(
|
|
64
|
+
this.scheduleUpdateThreads = debounce(() => this.updateThreads(undefined), 100);
|
|
133
65
|
this.pendingThreads = Promise.resolve();
|
|
134
66
|
this._breakpoints = new Map();
|
|
135
67
|
this.updatingBreakpoints = false;
|
|
136
|
-
this.connection.onRequest('runInTerminal',
|
|
68
|
+
this.connection.onRequest('runInTerminal', (request) => this.runInTerminal(request));
|
|
137
69
|
this.registerDebugContributions(options.configuration.type, this.connection);
|
|
138
70
|
if (parentSession) {
|
|
139
71
|
parentSession.childSessions.set(id, this);
|
|
140
|
-
this.toDispose.push(common_1.Disposable.create(
|
|
72
|
+
this.toDispose.push(common_1.Disposable.create(() => {
|
|
141
73
|
var _a, _b;
|
|
142
|
-
(_b = (_a =
|
|
74
|
+
(_b = (_a = this.parentSession) === null || _a === void 0 ? void 0 : _a.childSessions) === null || _b === void 0 ? void 0 : _b.delete(id);
|
|
143
75
|
}));
|
|
144
76
|
}
|
|
145
77
|
this.toDispose.pushAll([
|
|
146
78
|
this.onDidChangeEmitter,
|
|
147
79
|
this.onDidChangeBreakpointsEmitter,
|
|
148
|
-
common_1.Disposable.create(
|
|
149
|
-
|
|
150
|
-
|
|
80
|
+
common_1.Disposable.create(() => {
|
|
81
|
+
this.clearBreakpoints();
|
|
82
|
+
this.doUpdateThreads([]);
|
|
151
83
|
}),
|
|
152
84
|
this.connection,
|
|
153
|
-
this.on('initialized',
|
|
154
|
-
this.on('breakpoint',
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
this.on('
|
|
159
|
-
this.on('
|
|
160
|
-
this.
|
|
161
|
-
this.on('terminated', function () { return _this.terminated = true; }),
|
|
162
|
-
this.on('capabilities', function (event) { return _this.updateCapabilities(event.body.capabilities); }),
|
|
163
|
-
this.breakpoints.onDidChangeMarkers(function (uri) { return _this.updateBreakpoints({ uri: uri, sourceModified: true }); })
|
|
85
|
+
this.on('initialized', () => this.configure()),
|
|
86
|
+
this.on('breakpoint', ({ body }) => this.updateBreakpoint(body)),
|
|
87
|
+
this.on('continued', e => this.handleContinued(e)),
|
|
88
|
+
this.on('stopped', e => this.handleStopped(e)),
|
|
89
|
+
this.on('thread', e => this.handleThread(e)),
|
|
90
|
+
this.on('terminated', () => this.terminated = true),
|
|
91
|
+
this.on('capabilities', event => this.updateCapabilities(event.body.capabilities)),
|
|
92
|
+
this.breakpoints.onDidChangeMarkers(uri => this.updateBreakpoints({ uri, sourceModified: true }))
|
|
164
93
|
]);
|
|
165
94
|
}
|
|
166
|
-
|
|
95
|
+
fireDidChange() {
|
|
167
96
|
this.onDidChangeEmitter.fire(undefined);
|
|
168
|
-
}
|
|
169
|
-
|
|
97
|
+
}
|
|
98
|
+
fireDidChangeBreakpoints(uri) {
|
|
170
99
|
this.onDidChangeBreakpointsEmitter.fire(uri);
|
|
171
|
-
}
|
|
172
|
-
|
|
100
|
+
}
|
|
101
|
+
dispose() {
|
|
173
102
|
this.toDispose.dispose();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
get
|
|
184
|
-
|
|
185
|
-
},
|
|
186
|
-
enumerable: false,
|
|
187
|
-
configurable: true
|
|
188
|
-
});
|
|
189
|
-
DebugSession.prototype.getSource = function (raw) {
|
|
190
|
-
var uri = debug_source_1.DebugSource.toUri(raw).toString();
|
|
191
|
-
var source = this.sources.get(uri) || new debug_source_1.DebugSource(this, this.editorManager, this.labelProvider);
|
|
192
|
-
source.update({ raw: raw });
|
|
103
|
+
}
|
|
104
|
+
get configuration() {
|
|
105
|
+
return this.options.configuration;
|
|
106
|
+
}
|
|
107
|
+
get capabilities() {
|
|
108
|
+
return this._capabilities;
|
|
109
|
+
}
|
|
110
|
+
getSource(raw) {
|
|
111
|
+
const uri = debug_source_1.DebugSource.toUri(raw).toString();
|
|
112
|
+
const source = this.sources.get(uri) || new debug_source_1.DebugSource(this, this.editorManager, this.labelProvider);
|
|
113
|
+
source.update({ raw });
|
|
193
114
|
this.sources.set(uri, source);
|
|
194
115
|
return source;
|
|
195
|
-
}
|
|
196
|
-
|
|
116
|
+
}
|
|
117
|
+
getSourceForUri(uri) {
|
|
197
118
|
return this.sources.get(uri.toString());
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
119
|
+
}
|
|
120
|
+
async toSource(uri) {
|
|
121
|
+
const source = this.getSourceForUri(uri);
|
|
122
|
+
if (source) {
|
|
123
|
+
return source;
|
|
124
|
+
}
|
|
125
|
+
return this.getSource(await this.toDebugSource(uri));
|
|
126
|
+
}
|
|
127
|
+
async toDebugSource(uri) {
|
|
128
|
+
if (uri.scheme === debug_source_1.DebugSource.SCHEME) {
|
|
129
|
+
return {
|
|
130
|
+
name: uri.path.toString(),
|
|
131
|
+
sourceReference: Number(uri.query)
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const name = uri.displayName;
|
|
135
|
+
let path;
|
|
136
|
+
const underlying = await this.fileService.toUnderlyingResource(uri);
|
|
137
|
+
if (underlying.scheme === 'file') {
|
|
138
|
+
path = await this.fileService.fsPath(underlying);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
path = uri.toString();
|
|
142
|
+
}
|
|
143
|
+
return { name, path };
|
|
144
|
+
}
|
|
145
|
+
get threads() {
|
|
146
|
+
return this._threads.values();
|
|
147
|
+
}
|
|
148
|
+
get threadCount() {
|
|
149
|
+
return this._threads.size;
|
|
150
|
+
}
|
|
151
|
+
*getThreads(filter) {
|
|
152
|
+
for (const thread of this.threads) {
|
|
153
|
+
if (filter(thread)) {
|
|
154
|
+
yield thread;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
get runningThreads() {
|
|
159
|
+
return this.getThreads(thread => !thread.stopped);
|
|
160
|
+
}
|
|
161
|
+
get stoppedThreads() {
|
|
162
|
+
return this.getThreads(thread => thread.stopped);
|
|
163
|
+
}
|
|
164
|
+
async pauseAll() {
|
|
165
|
+
const promises = [];
|
|
166
|
+
for (const thread of this.runningThreads) {
|
|
167
|
+
promises.push((async () => {
|
|
168
|
+
try {
|
|
169
|
+
await thread.pause();
|
|
212
170
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
};
|
|
216
|
-
DebugSession.prototype.toDebugSource = function (uri) {
|
|
217
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
218
|
-
var name, path, underlying;
|
|
219
|
-
return __generator(this, function (_a) {
|
|
220
|
-
switch (_a.label) {
|
|
221
|
-
case 0:
|
|
222
|
-
if (uri.scheme === debug_source_1.DebugSource.SCHEME) {
|
|
223
|
-
return [2 /*return*/, {
|
|
224
|
-
name: uri.path.toString(),
|
|
225
|
-
sourceReference: Number(uri.query)
|
|
226
|
-
}];
|
|
227
|
-
}
|
|
228
|
-
name = uri.displayName;
|
|
229
|
-
return [4 /*yield*/, this.fileService.toUnderlyingResource(uri)];
|
|
230
|
-
case 1:
|
|
231
|
-
underlying = _a.sent();
|
|
232
|
-
if (!(underlying.scheme === 'file')) return [3 /*break*/, 3];
|
|
233
|
-
return [4 /*yield*/, this.fileService.fsPath(underlying)];
|
|
234
|
-
case 2:
|
|
235
|
-
path = _a.sent();
|
|
236
|
-
return [3 /*break*/, 4];
|
|
237
|
-
case 3:
|
|
238
|
-
path = uri.toString();
|
|
239
|
-
_a.label = 4;
|
|
240
|
-
case 4: return [2 /*return*/, { name: name, path: path }];
|
|
171
|
+
catch (e) {
|
|
172
|
+
console.error('pauseAll failed:', e);
|
|
241
173
|
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
Object.defineProperty(DebugSession.prototype, "threadCount", {
|
|
253
|
-
get: function () {
|
|
254
|
-
return this._threads.size;
|
|
255
|
-
},
|
|
256
|
-
enumerable: false,
|
|
257
|
-
configurable: true
|
|
258
|
-
});
|
|
259
|
-
DebugSession.prototype.getThreads = function (filter) {
|
|
260
|
-
var _a, _b, thread, e_1_1;
|
|
261
|
-
var e_1, _c;
|
|
262
|
-
return __generator(this, function (_d) {
|
|
263
|
-
switch (_d.label) {
|
|
264
|
-
case 0:
|
|
265
|
-
_d.trys.push([0, 5, 6, 7]);
|
|
266
|
-
_a = __values(this.threads), _b = _a.next();
|
|
267
|
-
_d.label = 1;
|
|
268
|
-
case 1:
|
|
269
|
-
if (!!_b.done) return [3 /*break*/, 4];
|
|
270
|
-
thread = _b.value;
|
|
271
|
-
if (!filter(thread)) return [3 /*break*/, 3];
|
|
272
|
-
return [4 /*yield*/, thread];
|
|
273
|
-
case 2:
|
|
274
|
-
_d.sent();
|
|
275
|
-
_d.label = 3;
|
|
276
|
-
case 3:
|
|
277
|
-
_b = _a.next();
|
|
278
|
-
return [3 /*break*/, 1];
|
|
279
|
-
case 4: return [3 /*break*/, 7];
|
|
280
|
-
case 5:
|
|
281
|
-
e_1_1 = _d.sent();
|
|
282
|
-
e_1 = { error: e_1_1 };
|
|
283
|
-
return [3 /*break*/, 7];
|
|
284
|
-
case 6:
|
|
285
|
-
try {
|
|
286
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
287
|
-
}
|
|
288
|
-
finally { if (e_1) throw e_1.error; }
|
|
289
|
-
return [7 /*endfinally*/];
|
|
290
|
-
case 7: return [2 /*return*/];
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
};
|
|
294
|
-
Object.defineProperty(DebugSession.prototype, "runningThreads", {
|
|
295
|
-
get: function () {
|
|
296
|
-
return this.getThreads(function (thread) { return !thread.stopped; });
|
|
297
|
-
},
|
|
298
|
-
enumerable: false,
|
|
299
|
-
configurable: true
|
|
300
|
-
});
|
|
301
|
-
Object.defineProperty(DebugSession.prototype, "stoppedThreads", {
|
|
302
|
-
get: function () {
|
|
303
|
-
return this.getThreads(function (thread) { return thread.stopped; });
|
|
304
|
-
},
|
|
305
|
-
enumerable: false,
|
|
306
|
-
configurable: true
|
|
307
|
-
});
|
|
308
|
-
DebugSession.prototype.pauseAll = function () {
|
|
309
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
310
|
-
var promises, _loop_1, _a, _b, thread;
|
|
311
|
-
var e_2, _c;
|
|
312
|
-
var _this = this;
|
|
313
|
-
return __generator(this, function (_d) {
|
|
314
|
-
switch (_d.label) {
|
|
315
|
-
case 0:
|
|
316
|
-
promises = [];
|
|
317
|
-
_loop_1 = function (thread) {
|
|
318
|
-
promises.push((function () { return __awaiter(_this, void 0, void 0, function () {
|
|
319
|
-
var e_3;
|
|
320
|
-
return __generator(this, function (_a) {
|
|
321
|
-
switch (_a.label) {
|
|
322
|
-
case 0:
|
|
323
|
-
_a.trys.push([0, 2, , 3]);
|
|
324
|
-
return [4 /*yield*/, thread.pause()];
|
|
325
|
-
case 1:
|
|
326
|
-
_a.sent();
|
|
327
|
-
return [3 /*break*/, 3];
|
|
328
|
-
case 2:
|
|
329
|
-
e_3 = _a.sent();
|
|
330
|
-
console.error('pauseAll failed:', e_3);
|
|
331
|
-
return [3 /*break*/, 3];
|
|
332
|
-
case 3: return [2 /*return*/];
|
|
333
|
-
}
|
|
334
|
-
});
|
|
335
|
-
}); })());
|
|
336
|
-
};
|
|
337
|
-
try {
|
|
338
|
-
for (_a = __values(this.runningThreads), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
339
|
-
thread = _b.value;
|
|
340
|
-
_loop_1(thread);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
344
|
-
finally {
|
|
345
|
-
try {
|
|
346
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
347
|
-
}
|
|
348
|
-
finally { if (e_2) throw e_2.error; }
|
|
349
|
-
}
|
|
350
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
351
|
-
case 1:
|
|
352
|
-
_d.sent();
|
|
353
|
-
return [2 /*return*/];
|
|
174
|
+
})());
|
|
175
|
+
}
|
|
176
|
+
await Promise.all(promises);
|
|
177
|
+
}
|
|
178
|
+
async continueAll() {
|
|
179
|
+
const promises = [];
|
|
180
|
+
for (const thread of this.stoppedThreads) {
|
|
181
|
+
promises.push((async () => {
|
|
182
|
+
try {
|
|
183
|
+
await thread.continue();
|
|
354
184
|
}
|
|
355
|
-
|
|
185
|
+
catch (e) {
|
|
186
|
+
console.error('continueAll failed:', e);
|
|
187
|
+
}
|
|
188
|
+
})());
|
|
189
|
+
}
|
|
190
|
+
await Promise.all(promises);
|
|
191
|
+
}
|
|
192
|
+
get currentFrame() {
|
|
193
|
+
return this.currentThread && this.currentThread.currentFrame;
|
|
194
|
+
}
|
|
195
|
+
get currentThread() {
|
|
196
|
+
return this._currentThread;
|
|
197
|
+
}
|
|
198
|
+
set currentThread(thread) {
|
|
199
|
+
this.toDisposeOnCurrentThread.dispose();
|
|
200
|
+
this._currentThread = thread;
|
|
201
|
+
this.fireDidChange();
|
|
202
|
+
if (thread) {
|
|
203
|
+
this.toDisposeOnCurrentThread.push(thread.onDidChanged(() => this.fireDidChange()));
|
|
204
|
+
// If this thread is missing stack frame information, then load that.
|
|
205
|
+
this.updateFrames();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
get state() {
|
|
209
|
+
if (this.connection.disposed) {
|
|
210
|
+
return DebugState.Inactive;
|
|
211
|
+
}
|
|
212
|
+
if (!this.initialized) {
|
|
213
|
+
return DebugState.Initializing;
|
|
214
|
+
}
|
|
215
|
+
const thread = this.currentThread;
|
|
216
|
+
if (thread) {
|
|
217
|
+
return thread.stopped ? DebugState.Stopped : DebugState.Running;
|
|
218
|
+
}
|
|
219
|
+
return !!this.stoppedThreads.next().value ? DebugState.Stopped : DebugState.Running;
|
|
220
|
+
}
|
|
221
|
+
async getScopes() {
|
|
222
|
+
const { currentFrame } = this;
|
|
223
|
+
return currentFrame ? currentFrame.getScopes() : [];
|
|
224
|
+
}
|
|
225
|
+
async start() {
|
|
226
|
+
await this.initialize();
|
|
227
|
+
await this.launchOrAttach();
|
|
228
|
+
}
|
|
229
|
+
async initialize() {
|
|
230
|
+
const response = await this.connection.sendRequest('initialize', {
|
|
231
|
+
clientID: 'Theia',
|
|
232
|
+
clientName: 'Theia IDE',
|
|
233
|
+
adapterID: this.configuration.type,
|
|
234
|
+
locale: 'en-US',
|
|
235
|
+
linesStartAt1: true,
|
|
236
|
+
columnsStartAt1: true,
|
|
237
|
+
pathFormat: 'path',
|
|
238
|
+
supportsVariableType: false,
|
|
239
|
+
supportsVariablePaging: false,
|
|
240
|
+
supportsRunInTerminalRequest: true
|
|
356
241
|
});
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
return __generator(this, function (_a) {
|
|
371
|
-
switch (_a.label) {
|
|
372
|
-
case 0:
|
|
373
|
-
_a.trys.push([0, 2, , 3]);
|
|
374
|
-
return [4 /*yield*/, thread.continue()];
|
|
375
|
-
case 1:
|
|
376
|
-
_a.sent();
|
|
377
|
-
return [3 /*break*/, 3];
|
|
378
|
-
case 2:
|
|
379
|
-
e_5 = _a.sent();
|
|
380
|
-
console.error('continueAll failed:', e_5);
|
|
381
|
-
return [3 /*break*/, 3];
|
|
382
|
-
case 3: return [2 /*return*/];
|
|
383
|
-
}
|
|
384
|
-
});
|
|
385
|
-
}); })());
|
|
386
|
-
};
|
|
387
|
-
try {
|
|
388
|
-
for (_a = __values(this.stoppedThreads), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
389
|
-
thread = _b.value;
|
|
390
|
-
_loop_2(thread);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
394
|
-
finally {
|
|
395
|
-
try {
|
|
396
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
397
|
-
}
|
|
398
|
-
finally { if (e_4) throw e_4.error; }
|
|
399
|
-
}
|
|
400
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
401
|
-
case 1:
|
|
402
|
-
_d.sent();
|
|
403
|
-
return [2 /*return*/];
|
|
242
|
+
this.updateCapabilities((response === null || response === void 0 ? void 0 : response.body) || {});
|
|
243
|
+
}
|
|
244
|
+
async launchOrAttach() {
|
|
245
|
+
try {
|
|
246
|
+
await this.sendRequest(this.configuration.request, this.configuration);
|
|
247
|
+
}
|
|
248
|
+
catch (reason) {
|
|
249
|
+
this.fireExited(reason);
|
|
250
|
+
await this.messages.showMessage({
|
|
251
|
+
type: common_1.MessageType.Error,
|
|
252
|
+
text: reason.message || 'Debug session initialization failed. See console for details.',
|
|
253
|
+
options: {
|
|
254
|
+
timeout: 10000
|
|
404
255
|
}
|
|
405
256
|
});
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
Object.defineProperty(DebugSession.prototype, "currentThread", {
|
|
416
|
-
get: function () {
|
|
417
|
-
return this._currentThread;
|
|
418
|
-
},
|
|
419
|
-
set: function (thread) {
|
|
420
|
-
var _this = this;
|
|
421
|
-
this.toDisposeOnCurrentThread.dispose();
|
|
422
|
-
this._currentThread = thread;
|
|
423
|
-
this.fireDidChange();
|
|
424
|
-
if (thread) {
|
|
425
|
-
this.toDisposeOnCurrentThread.push(thread.onDidChanged(function () { return _this.fireDidChange(); }));
|
|
426
|
-
// If this thread is missing stack frame information, then load that.
|
|
427
|
-
this.updateFrames();
|
|
428
|
-
}
|
|
429
|
-
},
|
|
430
|
-
enumerable: false,
|
|
431
|
-
configurable: true
|
|
432
|
-
});
|
|
433
|
-
Object.defineProperty(DebugSession.prototype, "state", {
|
|
434
|
-
get: function () {
|
|
435
|
-
if (this.connection.disposed) {
|
|
436
|
-
return DebugState.Inactive;
|
|
257
|
+
throw reason;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
async configure() {
|
|
261
|
+
if (this.capabilities.exceptionBreakpointFilters) {
|
|
262
|
+
const exceptionBreakpoints = [];
|
|
263
|
+
for (const filter of this.capabilities.exceptionBreakpointFilters) {
|
|
264
|
+
const origin = this.breakpoints.getExceptionBreakpoint(filter.filter);
|
|
265
|
+
exceptionBreakpoints.push(breakpoint_marker_1.ExceptionBreakpoint.create(filter, origin));
|
|
437
266
|
}
|
|
438
|
-
|
|
439
|
-
|
|
267
|
+
this.breakpoints.setExceptionBreakpoints(exceptionBreakpoints);
|
|
268
|
+
}
|
|
269
|
+
await this.updateBreakpoints({ sourceModified: false });
|
|
270
|
+
if (this.capabilities.supportsConfigurationDoneRequest) {
|
|
271
|
+
await this.sendRequest('configurationDone', {});
|
|
272
|
+
}
|
|
273
|
+
this.initialized = true;
|
|
274
|
+
await this.updateThreads(undefined);
|
|
275
|
+
}
|
|
276
|
+
async terminate(restart) {
|
|
277
|
+
if (!this.terminated && this.capabilities.supportsTerminateRequest && this.configuration.request === 'launch') {
|
|
278
|
+
this.terminated = true;
|
|
279
|
+
await this.connection.sendRequest('terminate', { restart });
|
|
280
|
+
if (!await this.exited(1000)) {
|
|
281
|
+
await this.disconnect(restart);
|
|
440
282
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
await this.disconnect(restart);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
async disconnect(restart) {
|
|
289
|
+
const TIMEOUT_MS = 1000;
|
|
290
|
+
Promise.race([
|
|
291
|
+
this.sendRequest('disconnect', { restart }),
|
|
292
|
+
new Promise(reject => setTimeout(reject, TIMEOUT_MS, new Error('TIMEOUT_ERR')))
|
|
293
|
+
]).then(res => {
|
|
294
|
+
if (res instanceof Error) {
|
|
295
|
+
this.fireExited(res);
|
|
444
296
|
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
configurable: true
|
|
449
|
-
});
|
|
450
|
-
DebugSession.prototype.getScopes = function () {
|
|
451
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
452
|
-
var currentFrame;
|
|
453
|
-
return __generator(this, function (_a) {
|
|
454
|
-
currentFrame = this.currentFrame;
|
|
455
|
-
return [2 /*return*/, currentFrame ? currentFrame.getScopes() : []];
|
|
456
|
-
});
|
|
457
|
-
});
|
|
458
|
-
};
|
|
459
|
-
DebugSession.prototype.start = function () {
|
|
460
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
461
|
-
return __generator(this, function (_a) {
|
|
462
|
-
switch (_a.label) {
|
|
463
|
-
case 0: return [4 /*yield*/, this.initialize()];
|
|
464
|
-
case 1:
|
|
465
|
-
_a.sent();
|
|
466
|
-
return [4 /*yield*/, this.launchOrAttach()];
|
|
467
|
-
case 2:
|
|
468
|
-
_a.sent();
|
|
469
|
-
return [2 /*return*/];
|
|
470
|
-
}
|
|
471
|
-
});
|
|
472
|
-
});
|
|
473
|
-
};
|
|
474
|
-
DebugSession.prototype.initialize = function () {
|
|
475
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
476
|
-
var response;
|
|
477
|
-
return __generator(this, function (_a) {
|
|
478
|
-
switch (_a.label) {
|
|
479
|
-
case 0: return [4 /*yield*/, this.connection.sendRequest('initialize', {
|
|
480
|
-
clientID: 'Theia',
|
|
481
|
-
clientName: 'Theia IDE',
|
|
482
|
-
adapterID: this.configuration.type,
|
|
483
|
-
locale: 'en-US',
|
|
484
|
-
linesStartAt1: true,
|
|
485
|
-
columnsStartAt1: true,
|
|
486
|
-
pathFormat: 'path',
|
|
487
|
-
supportsVariableType: false,
|
|
488
|
-
supportsVariablePaging: false,
|
|
489
|
-
supportsRunInTerminalRequest: true
|
|
490
|
-
})];
|
|
491
|
-
case 1:
|
|
492
|
-
response = _a.sent();
|
|
493
|
-
this.updateCapabilities((response === null || response === void 0 ? void 0 : response.body) || {});
|
|
494
|
-
return [2 /*return*/];
|
|
495
|
-
}
|
|
496
|
-
});
|
|
497
|
-
});
|
|
498
|
-
};
|
|
499
|
-
DebugSession.prototype.launchOrAttach = function () {
|
|
500
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
501
|
-
var reason_1;
|
|
502
|
-
return __generator(this, function (_a) {
|
|
503
|
-
switch (_a.label) {
|
|
504
|
-
case 0:
|
|
505
|
-
_a.trys.push([0, 2, , 4]);
|
|
506
|
-
return [4 /*yield*/, this.sendRequest(this.configuration.request, this.configuration)];
|
|
507
|
-
case 1:
|
|
508
|
-
_a.sent();
|
|
509
|
-
return [3 /*break*/, 4];
|
|
510
|
-
case 2:
|
|
511
|
-
reason_1 = _a.sent();
|
|
512
|
-
this.fireExited(reason_1);
|
|
513
|
-
return [4 /*yield*/, this.messages.showMessage({
|
|
514
|
-
type: common_1.MessageType.Error,
|
|
515
|
-
text: reason_1.message || 'Debug session initialization failed. See console for details.',
|
|
516
|
-
options: {
|
|
517
|
-
timeout: 10000
|
|
518
|
-
}
|
|
519
|
-
})];
|
|
520
|
-
case 3:
|
|
521
|
-
_a.sent();
|
|
522
|
-
throw reason_1;
|
|
523
|
-
case 4: return [2 /*return*/];
|
|
524
|
-
}
|
|
525
|
-
});
|
|
526
|
-
});
|
|
527
|
-
};
|
|
528
|
-
DebugSession.prototype.configure = function () {
|
|
529
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
530
|
-
var exceptionBreakpoints, _a, _b, filter, origin_1;
|
|
531
|
-
var e_6, _c;
|
|
532
|
-
return __generator(this, function (_d) {
|
|
533
|
-
switch (_d.label) {
|
|
534
|
-
case 0:
|
|
535
|
-
if (this.capabilities.exceptionBreakpointFilters) {
|
|
536
|
-
exceptionBreakpoints = [];
|
|
537
|
-
try {
|
|
538
|
-
for (_a = __values(this.capabilities.exceptionBreakpointFilters), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
539
|
-
filter = _b.value;
|
|
540
|
-
origin_1 = this.breakpoints.getExceptionBreakpoint(filter.filter);
|
|
541
|
-
exceptionBreakpoints.push(breakpoint_marker_1.ExceptionBreakpoint.create(filter, origin_1));
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
545
|
-
finally {
|
|
546
|
-
try {
|
|
547
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
548
|
-
}
|
|
549
|
-
finally { if (e_6) throw e_6.error; }
|
|
550
|
-
}
|
|
551
|
-
this.breakpoints.setExceptionBreakpoints(exceptionBreakpoints);
|
|
552
|
-
}
|
|
553
|
-
return [4 /*yield*/, this.updateBreakpoints({ sourceModified: false })];
|
|
554
|
-
case 1:
|
|
555
|
-
_d.sent();
|
|
556
|
-
if (!this.capabilities.supportsConfigurationDoneRequest) return [3 /*break*/, 3];
|
|
557
|
-
return [4 /*yield*/, this.sendRequest('configurationDone', {})];
|
|
558
|
-
case 2:
|
|
559
|
-
_d.sent();
|
|
560
|
-
_d.label = 3;
|
|
561
|
-
case 3:
|
|
562
|
-
this.initialized = true;
|
|
563
|
-
return [4 /*yield*/, this.updateThreads(undefined)];
|
|
564
|
-
case 4:
|
|
565
|
-
_d.sent();
|
|
566
|
-
return [2 /*return*/];
|
|
567
|
-
}
|
|
568
|
-
});
|
|
569
|
-
});
|
|
570
|
-
};
|
|
571
|
-
DebugSession.prototype.terminate = function (restart) {
|
|
572
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
573
|
-
return __generator(this, function (_a) {
|
|
574
|
-
switch (_a.label) {
|
|
575
|
-
case 0:
|
|
576
|
-
if (!(!this.terminated && this.capabilities.supportsTerminateRequest && this.configuration.request === 'launch')) return [3 /*break*/, 5];
|
|
577
|
-
this.terminated = true;
|
|
578
|
-
return [4 /*yield*/, this.connection.sendRequest('terminate', { restart: restart })];
|
|
579
|
-
case 1:
|
|
580
|
-
_a.sent();
|
|
581
|
-
return [4 /*yield*/, this.exited(1000)];
|
|
582
|
-
case 2:
|
|
583
|
-
if (!!(_a.sent())) return [3 /*break*/, 4];
|
|
584
|
-
return [4 /*yield*/, this.disconnect(restart)];
|
|
585
|
-
case 3:
|
|
586
|
-
_a.sent();
|
|
587
|
-
_a.label = 4;
|
|
588
|
-
case 4: return [3 /*break*/, 7];
|
|
589
|
-
case 5: return [4 /*yield*/, this.disconnect(restart)];
|
|
590
|
-
case 6:
|
|
591
|
-
_a.sent();
|
|
592
|
-
_a.label = 7;
|
|
593
|
-
case 7: return [2 /*return*/];
|
|
594
|
-
}
|
|
595
|
-
});
|
|
596
|
-
});
|
|
597
|
-
};
|
|
598
|
-
DebugSession.prototype.disconnect = function (restart) {
|
|
599
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
600
|
-
var TIMEOUT_MS;
|
|
601
|
-
var _this = this;
|
|
602
|
-
return __generator(this, function (_a) {
|
|
603
|
-
TIMEOUT_MS = 1000;
|
|
604
|
-
Promise.race([
|
|
605
|
-
this.sendRequest('disconnect', { restart: restart }),
|
|
606
|
-
new Promise(function (reject) { return setTimeout(reject, TIMEOUT_MS, new Error('TIMEOUT_ERR')); })
|
|
607
|
-
]).then(function (res) {
|
|
608
|
-
if (res instanceof Error) {
|
|
609
|
-
_this.fireExited(res);
|
|
610
|
-
}
|
|
611
|
-
}).catch(function () { return _this.fireExited(); });
|
|
612
|
-
return [2 /*return*/];
|
|
613
|
-
});
|
|
614
|
-
});
|
|
615
|
-
};
|
|
616
|
-
DebugSession.prototype.fireExited = function (reason) {
|
|
297
|
+
}).catch(() => this.fireExited());
|
|
298
|
+
}
|
|
299
|
+
fireExited(reason) {
|
|
617
300
|
try {
|
|
618
|
-
this.connection['fire']('exited', { reason
|
|
301
|
+
this.connection['fire']('exited', { reason });
|
|
619
302
|
}
|
|
620
303
|
catch (e) {
|
|
621
304
|
console.error(e);
|
|
622
305
|
}
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
var listener = _this.on('exited', function () {
|
|
306
|
+
}
|
|
307
|
+
exited(timeout) {
|
|
308
|
+
return new Promise(resolve => {
|
|
309
|
+
const listener = this.on('exited', () => {
|
|
628
310
|
listener.dispose();
|
|
629
311
|
resolve(true);
|
|
630
312
|
});
|
|
631
|
-
setTimeout(
|
|
313
|
+
setTimeout(() => {
|
|
632
314
|
listener.dispose();
|
|
633
315
|
resolve(false);
|
|
634
316
|
}, timeout);
|
|
635
317
|
});
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
return __generator(this, function (_a) {
|
|
657
|
-
switch (_a.label) {
|
|
658
|
-
case 0:
|
|
659
|
-
frameId = this.currentFrame && this.currentFrame.raw.id;
|
|
660
|
-
return [4 /*yield*/, this.sendRequest('completions', { frameId: frameId, text: text, column: column, line: line })];
|
|
661
|
-
case 1:
|
|
662
|
-
response = _a.sent();
|
|
663
|
-
return [2 /*return*/, response.body.targets];
|
|
664
|
-
}
|
|
665
|
-
});
|
|
666
|
-
});
|
|
667
|
-
};
|
|
668
|
-
DebugSession.prototype.evaluate = function (expression, context) {
|
|
669
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
670
|
-
var frameId, response;
|
|
671
|
-
return __generator(this, function (_a) {
|
|
672
|
-
switch (_a.label) {
|
|
673
|
-
case 0:
|
|
674
|
-
frameId = this.currentFrame && this.currentFrame.raw.id;
|
|
675
|
-
return [4 /*yield*/, this.sendRequest('evaluate', { expression: expression, frameId: frameId, context: context })];
|
|
676
|
-
case 1:
|
|
677
|
-
response = _a.sent();
|
|
678
|
-
return [2 /*return*/, response.body];
|
|
679
|
-
}
|
|
680
|
-
});
|
|
681
|
-
});
|
|
682
|
-
};
|
|
683
|
-
DebugSession.prototype.sendRequest = function (command, args) {
|
|
318
|
+
}
|
|
319
|
+
async restart() {
|
|
320
|
+
if (this.capabilities.supportsRestartRequest) {
|
|
321
|
+
this.terminated = false;
|
|
322
|
+
await this.sendRequest('restart', {});
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
async completions(text, column, line) {
|
|
328
|
+
const frameId = this.currentFrame && this.currentFrame.raw.id;
|
|
329
|
+
const response = await this.sendRequest('completions', { frameId, text, column, line });
|
|
330
|
+
return response.body.targets;
|
|
331
|
+
}
|
|
332
|
+
async evaluate(expression, context) {
|
|
333
|
+
const frameId = this.currentFrame && this.currentFrame.raw.id;
|
|
334
|
+
const response = await this.sendRequest('evaluate', { expression, frameId, context });
|
|
335
|
+
return response.body;
|
|
336
|
+
}
|
|
337
|
+
sendRequest(command, args) {
|
|
684
338
|
return this.connection.sendRequest(command, args);
|
|
685
|
-
}
|
|
686
|
-
|
|
339
|
+
}
|
|
340
|
+
sendCustomRequest(command, args) {
|
|
687
341
|
return this.connection.sendCustomRequest(command, args);
|
|
688
|
-
}
|
|
689
|
-
|
|
342
|
+
}
|
|
343
|
+
on(kind, listener) {
|
|
690
344
|
return this.connection.on(kind, listener);
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
terminal = _d.sent();
|
|
708
|
-
processId = terminal.processId;
|
|
709
|
-
return [4 /*yield*/, terminal.executeCommand({ cwd: cwd, args: args, env: env })];
|
|
710
|
-
case 2:
|
|
711
|
-
_d.sent();
|
|
712
|
-
_c = {};
|
|
713
|
-
return [4 /*yield*/, processId];
|
|
714
|
-
case 3: return [2 /*return*/, (_c.processId = _d.sent(), _c)];
|
|
715
|
-
}
|
|
716
|
-
});
|
|
717
|
-
});
|
|
718
|
-
};
|
|
719
|
-
DebugSession.prototype.doCreateTerminal = function (options) {
|
|
720
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
721
|
-
var terminal, _a, _b, t, _c, e_7_1;
|
|
722
|
-
var e_7, _d;
|
|
723
|
-
return __generator(this, function (_e) {
|
|
724
|
-
switch (_e.label) {
|
|
725
|
-
case 0:
|
|
726
|
-
terminal = undefined;
|
|
727
|
-
_e.label = 1;
|
|
728
|
-
case 1:
|
|
729
|
-
_e.trys.push([1, 7, 8, 9]);
|
|
730
|
-
_a = __values(this.terminalServer.all), _b = _a.next();
|
|
731
|
-
_e.label = 2;
|
|
732
|
-
case 2:
|
|
733
|
-
if (!!_b.done) return [3 /*break*/, 6];
|
|
734
|
-
t = _b.value;
|
|
735
|
-
_c = (t.title.label === options.title || t.title.caption === options.title);
|
|
736
|
-
if (!_c) return [3 /*break*/, 4];
|
|
737
|
-
return [4 /*yield*/, t.hasChildProcesses()];
|
|
738
|
-
case 3:
|
|
739
|
-
_c = (_e.sent()) === false;
|
|
740
|
-
_e.label = 4;
|
|
741
|
-
case 4:
|
|
742
|
-
if (_c) {
|
|
743
|
-
terminal = t;
|
|
744
|
-
return [3 /*break*/, 6];
|
|
745
|
-
}
|
|
746
|
-
_e.label = 5;
|
|
747
|
-
case 5:
|
|
748
|
-
_b = _a.next();
|
|
749
|
-
return [3 /*break*/, 2];
|
|
750
|
-
case 6: return [3 /*break*/, 9];
|
|
751
|
-
case 7:
|
|
752
|
-
e_7_1 = _e.sent();
|
|
753
|
-
e_7 = { error: e_7_1 };
|
|
754
|
-
return [3 /*break*/, 9];
|
|
755
|
-
case 8:
|
|
756
|
-
try {
|
|
757
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
758
|
-
}
|
|
759
|
-
finally { if (e_7) throw e_7.error; }
|
|
760
|
-
return [7 /*endfinally*/];
|
|
761
|
-
case 9:
|
|
762
|
-
if (!!terminal) return [3 /*break*/, 12];
|
|
763
|
-
return [4 /*yield*/, this.terminalServer.newTerminal(options)];
|
|
764
|
-
case 10:
|
|
765
|
-
terminal = _e.sent();
|
|
766
|
-
return [4 /*yield*/, terminal.start()];
|
|
767
|
-
case 11:
|
|
768
|
-
_e.sent();
|
|
769
|
-
_e.label = 12;
|
|
770
|
-
case 12:
|
|
771
|
-
this.terminalServer.open(terminal);
|
|
772
|
-
return [2 /*return*/, terminal];
|
|
773
|
-
}
|
|
774
|
-
});
|
|
775
|
-
});
|
|
776
|
-
};
|
|
777
|
-
DebugSession.prototype.clearThreads = function () {
|
|
778
|
-
var e_8, _a;
|
|
779
|
-
try {
|
|
780
|
-
for (var _b = __values(this.threads), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
781
|
-
var thread = _c.value;
|
|
782
|
-
thread.clear();
|
|
345
|
+
}
|
|
346
|
+
get onDidCustomEvent() {
|
|
347
|
+
return this.connection.onDidCustomEvent;
|
|
348
|
+
}
|
|
349
|
+
async runInTerminal({ arguments: { title, cwd, args, env } }) {
|
|
350
|
+
const terminal = await this.doCreateTerminal({ title, cwd, env, useServerTitle: false });
|
|
351
|
+
const { processId } = terminal;
|
|
352
|
+
await terminal.executeCommand({ cwd, args, env });
|
|
353
|
+
return { processId: await processId };
|
|
354
|
+
}
|
|
355
|
+
async doCreateTerminal(options) {
|
|
356
|
+
let terminal = undefined;
|
|
357
|
+
for (const t of this.terminalServer.all) {
|
|
358
|
+
if ((t.title.label === options.title || t.title.caption === options.title) && (await t.hasChildProcesses()) === false) {
|
|
359
|
+
terminal = t;
|
|
360
|
+
break;
|
|
783
361
|
}
|
|
784
362
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
363
|
+
if (!terminal) {
|
|
364
|
+
terminal = await this.terminalServer.newTerminal(options);
|
|
365
|
+
await terminal.start();
|
|
366
|
+
}
|
|
367
|
+
this.terminalServer.open(terminal);
|
|
368
|
+
return terminal;
|
|
369
|
+
}
|
|
370
|
+
clearThreads() {
|
|
371
|
+
for (const thread of this.threads) {
|
|
372
|
+
thread.clear();
|
|
791
373
|
}
|
|
792
374
|
this.updateCurrentThread();
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
|
|
375
|
+
}
|
|
376
|
+
clearThread(threadId) {
|
|
377
|
+
const thread = this._threads.get(threadId);
|
|
796
378
|
if (thread) {
|
|
797
379
|
thread.clear();
|
|
798
380
|
}
|
|
799
381
|
this.updateCurrentThread();
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
e_9 = _a.sent();
|
|
817
|
-
console.error('updateThreads failed:', e_9);
|
|
818
|
-
return [3 /*break*/, 3];
|
|
819
|
-
case 3: return [2 /*return*/];
|
|
820
|
-
}
|
|
821
|
-
});
|
|
822
|
-
}); });
|
|
823
|
-
};
|
|
824
|
-
DebugSession.prototype.doUpdateThreads = function (threads, stoppedDetails) {
|
|
825
|
-
var e_10, _a;
|
|
826
|
-
var existing = this._threads;
|
|
382
|
+
}
|
|
383
|
+
updateThreads(stoppedDetails) {
|
|
384
|
+
return this.pendingThreads = this.pendingThreads.then(async () => {
|
|
385
|
+
try {
|
|
386
|
+
const response = await this.sendRequest('threads', {});
|
|
387
|
+
// java debugger returns an empty body sometimes
|
|
388
|
+
const threads = response && response.body && response.body.threads || [];
|
|
389
|
+
this.doUpdateThreads(threads, stoppedDetails);
|
|
390
|
+
}
|
|
391
|
+
catch (e) {
|
|
392
|
+
console.error('updateThreads failed:', e);
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
doUpdateThreads(threads, stoppedDetails) {
|
|
397
|
+
const existing = this._threads;
|
|
827
398
|
this._threads = new Map();
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
reason: '',
|
|
845
|
-
};
|
|
846
|
-
}
|
|
399
|
+
for (const raw of threads) {
|
|
400
|
+
const id = raw.id;
|
|
401
|
+
const thread = existing.get(id) || new debug_thread_1.DebugThread(this);
|
|
402
|
+
this._threads.set(id, thread);
|
|
403
|
+
const data = { raw };
|
|
404
|
+
if (stoppedDetails) {
|
|
405
|
+
if (stoppedDetails.threadId === id) {
|
|
406
|
+
data.stoppedDetails = stoppedDetails;
|
|
407
|
+
}
|
|
408
|
+
else if (stoppedDetails.allThreadsStopped) {
|
|
409
|
+
data.stoppedDetails = {
|
|
410
|
+
// When a debug adapter notifies us that all threads are stopped,
|
|
411
|
+
// we do not know why the others are stopped, so we should default
|
|
412
|
+
// to something generic.
|
|
413
|
+
reason: '',
|
|
414
|
+
};
|
|
847
415
|
}
|
|
848
|
-
thread.update(data);
|
|
849
416
|
}
|
|
850
|
-
|
|
851
|
-
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
852
|
-
finally {
|
|
853
|
-
try {
|
|
854
|
-
if (threads_1_1 && !threads_1_1.done && (_a = threads_1.return)) _a.call(threads_1);
|
|
855
|
-
}
|
|
856
|
-
finally { if (e_10) throw e_10.error; }
|
|
417
|
+
thread.update(data);
|
|
857
418
|
}
|
|
858
419
|
this.updateCurrentThread(stoppedDetails);
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
420
|
+
}
|
|
421
|
+
updateCurrentThread(stoppedDetails) {
|
|
422
|
+
const { currentThread } = this;
|
|
423
|
+
let threadId = currentThread && currentThread.raw.id;
|
|
863
424
|
if (stoppedDetails && !stoppedDetails.preserveFocusHint && !!stoppedDetails.threadId) {
|
|
864
425
|
threadId = stoppedDetails.threadId;
|
|
865
426
|
}
|
|
866
427
|
this.currentThread = typeof threadId === 'number' && this._threads.get(threadId)
|
|
867
428
|
|| this._threads.values().next().value;
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
return
|
|
873
|
-
switch (_a.label) {
|
|
874
|
-
case 0:
|
|
875
|
-
thread = this._currentThread;
|
|
876
|
-
if (!thread || thread.pendingFrameCount || thread.frameCount) {
|
|
877
|
-
return [2 /*return*/];
|
|
878
|
-
}
|
|
879
|
-
if (!this.capabilities.supportsDelayedStackTraceLoading) return [3 /*break*/, 3];
|
|
880
|
-
return [4 /*yield*/, thread.fetchFrames(1)];
|
|
881
|
-
case 1:
|
|
882
|
-
_a.sent();
|
|
883
|
-
return [4 /*yield*/, thread.fetchFrames(19)];
|
|
884
|
-
case 2:
|
|
885
|
-
_a.sent();
|
|
886
|
-
return [3 /*break*/, 5];
|
|
887
|
-
case 3: return [4 /*yield*/, thread.fetchFrames()];
|
|
888
|
-
case 4:
|
|
889
|
-
_a.sent();
|
|
890
|
-
_a.label = 5;
|
|
891
|
-
case 5: return [2 /*return*/];
|
|
892
|
-
}
|
|
893
|
-
});
|
|
894
|
-
});
|
|
895
|
-
};
|
|
896
|
-
DebugSession.prototype.updateCapabilities = function (capabilities) {
|
|
897
|
-
Object.assign(this._capabilities, capabilities);
|
|
898
|
-
};
|
|
899
|
-
Object.defineProperty(DebugSession.prototype, "breakpointUris", {
|
|
900
|
-
get: function () {
|
|
901
|
-
return this._breakpoints.keys();
|
|
902
|
-
},
|
|
903
|
-
enumerable: false,
|
|
904
|
-
configurable: true
|
|
905
|
-
});
|
|
906
|
-
DebugSession.prototype.getSourceBreakpoints = function (uri) {
|
|
907
|
-
var e_11, _a;
|
|
908
|
-
var breakpoints = [];
|
|
909
|
-
try {
|
|
910
|
-
for (var _b = __values(this.getBreakpoints(uri)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
911
|
-
var breakpoint = _c.value;
|
|
912
|
-
if (breakpoint instanceof debug_source_breakpoint_1.DebugSourceBreakpoint) {
|
|
913
|
-
breakpoints.push(breakpoint);
|
|
914
|
-
}
|
|
915
|
-
}
|
|
429
|
+
}
|
|
430
|
+
async updateFrames() {
|
|
431
|
+
const thread = this._currentThread;
|
|
432
|
+
if (!thread || thread.pendingFrameCount || thread.frameCount) {
|
|
433
|
+
return;
|
|
916
434
|
}
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
921
|
-
}
|
|
922
|
-
finally { if (e_11) throw e_11.error; }
|
|
435
|
+
if (this.capabilities.supportsDelayedStackTraceLoading) {
|
|
436
|
+
await thread.fetchFrames(1);
|
|
437
|
+
await thread.fetchFrames(19);
|
|
923
438
|
}
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
439
|
+
else {
|
|
440
|
+
await thread.fetchFrames();
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
updateCapabilities(capabilities) {
|
|
444
|
+
Object.assign(this._capabilities, capabilities);
|
|
445
|
+
}
|
|
446
|
+
get breakpointUris() {
|
|
447
|
+
return this._breakpoints.keys();
|
|
448
|
+
}
|
|
449
|
+
getSourceBreakpoints(uri) {
|
|
450
|
+
const breakpoints = [];
|
|
451
|
+
for (const breakpoint of this.getBreakpoints(uri)) {
|
|
452
|
+
if (breakpoint instanceof debug_source_breakpoint_1.DebugSourceBreakpoint) {
|
|
453
|
+
breakpoints.push(breakpoint);
|
|
935
454
|
}
|
|
936
455
|
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
456
|
+
return breakpoints;
|
|
457
|
+
}
|
|
458
|
+
getFunctionBreakpoints() {
|
|
459
|
+
const breakpoints = [];
|
|
460
|
+
for (const breakpoint of this.getBreakpoints(breakpoint_manager_1.BreakpointManager.FUNCTION_URI)) {
|
|
461
|
+
if (breakpoint instanceof debug_function_breakpoint_1.DebugFunctionBreakpoint) {
|
|
462
|
+
breakpoints.push(breakpoint);
|
|
941
463
|
}
|
|
942
|
-
finally { if (e_12) throw e_12.error; }
|
|
943
464
|
}
|
|
944
465
|
return breakpoints;
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
var e_13, _a;
|
|
466
|
+
}
|
|
467
|
+
getBreakpoints(uri) {
|
|
948
468
|
if (uri) {
|
|
949
469
|
return this._breakpoints.get(uri.toString()) || [];
|
|
950
470
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
var breakpoints = _c.value;
|
|
955
|
-
result.push.apply(result, __spread(breakpoints));
|
|
956
|
-
}
|
|
957
|
-
}
|
|
958
|
-
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
|
959
|
-
finally {
|
|
960
|
-
try {
|
|
961
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
962
|
-
}
|
|
963
|
-
finally { if (e_13) throw e_13.error; }
|
|
471
|
+
const result = [];
|
|
472
|
+
for (const breakpoints of this._breakpoints.values()) {
|
|
473
|
+
result.push(...breakpoints);
|
|
964
474
|
}
|
|
965
475
|
return result;
|
|
966
|
-
}
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
var uris = __spread(this._breakpoints.keys());
|
|
476
|
+
}
|
|
477
|
+
clearBreakpoints() {
|
|
478
|
+
const uris = [...this._breakpoints.keys()];
|
|
970
479
|
this._breakpoints.clear();
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
var uri = uris_1_1.value;
|
|
974
|
-
this.fireDidChangeBreakpoints(new uri_1.default(uri));
|
|
975
|
-
}
|
|
976
|
-
}
|
|
977
|
-
catch (e_14_1) { e_14 = { error: e_14_1 }; }
|
|
978
|
-
finally {
|
|
979
|
-
try {
|
|
980
|
-
if (uris_1_1 && !uris_1_1.done && (_a = uris_1.return)) _a.call(uris_1);
|
|
981
|
-
}
|
|
982
|
-
finally { if (e_14) throw e_14.error; }
|
|
480
|
+
for (const uri of uris) {
|
|
481
|
+
this.fireDidChangeBreakpoints(new uri_1.default(uri));
|
|
983
482
|
}
|
|
984
|
-
}
|
|
985
|
-
|
|
483
|
+
}
|
|
484
|
+
updateBreakpoint(body) {
|
|
986
485
|
this.updatingBreakpoints = true;
|
|
987
486
|
try {
|
|
988
|
-
|
|
487
|
+
const raw = body.breakpoint;
|
|
989
488
|
if (body.reason === 'new') {
|
|
990
|
-
if (
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
if (this.breakpoints.addBreakpoint(
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
breakpoint.update({ raw
|
|
489
|
+
if (raw.source && typeof raw.line === 'number') {
|
|
490
|
+
const uri = debug_source_1.DebugSource.toUri(raw.source);
|
|
491
|
+
const origin = breakpoint_marker_1.SourceBreakpoint.create(uri, { line: raw.line, column: raw.column });
|
|
492
|
+
if (this.breakpoints.addBreakpoint(origin)) {
|
|
493
|
+
const breakpoints = this.getSourceBreakpoints(uri);
|
|
494
|
+
const breakpoint = new debug_source_breakpoint_1.DebugSourceBreakpoint(origin, this.asDebugBreakpointOptions());
|
|
495
|
+
breakpoint.update({ raw });
|
|
997
496
|
breakpoints.push(breakpoint);
|
|
998
497
|
this.setSourceBreakpoints(uri, breakpoints);
|
|
999
498
|
}
|
|
1000
499
|
}
|
|
1001
500
|
}
|
|
1002
|
-
if (body.reason === 'removed' &&
|
|
1003
|
-
|
|
501
|
+
if (body.reason === 'removed' && raw.id) {
|
|
502
|
+
const toRemove = this.findBreakpoint(b => b.idFromAdapter === raw.id);
|
|
1004
503
|
if (toRemove) {
|
|
1005
504
|
toRemove.remove();
|
|
1006
|
-
|
|
1007
|
-
|
|
505
|
+
const breakpoints = this.getBreakpoints(toRemove.uri);
|
|
506
|
+
const index = breakpoints.indexOf(toRemove);
|
|
1008
507
|
if (index !== -1) {
|
|
1009
508
|
breakpoints.splice(index, 1);
|
|
1010
509
|
this.setBreakpoints(toRemove.uri, breakpoints);
|
|
1011
510
|
}
|
|
1012
511
|
}
|
|
1013
512
|
}
|
|
1014
|
-
if (body.reason === 'changed' &&
|
|
1015
|
-
|
|
513
|
+
if (body.reason === 'changed' && raw.id) {
|
|
514
|
+
const toUpdate = this.findBreakpoint(b => b.idFromAdapter === raw.id);
|
|
1016
515
|
if (toUpdate) {
|
|
1017
|
-
toUpdate.update({ raw
|
|
516
|
+
toUpdate.update({ raw });
|
|
1018
517
|
if (toUpdate instanceof debug_source_breakpoint_1.DebugSourceBreakpoint) {
|
|
1019
|
-
|
|
518
|
+
const sourceBreakpoints = this.getSourceBreakpoints(toUpdate.uri);
|
|
1020
519
|
// in order to dedup again if a debugger converted line breakpoint to inline breakpoint
|
|
1021
520
|
// i.e. assigned a column to a line breakpoint
|
|
1022
521
|
this.setSourceBreakpoints(toUpdate.uri, sourceBreakpoints);
|
|
@@ -1030,444 +529,222 @@ var DebugSession = /** @class */ (function () {
|
|
|
1030
529
|
finally {
|
|
1031
530
|
this.updatingBreakpoints = false;
|
|
1032
531
|
}
|
|
1033
|
-
}
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
try {
|
|
1040
|
-
for (var breakpoints_1 = (e_16 = void 0, __values(breakpoints)), breakpoints_1_1 = breakpoints_1.next(); !breakpoints_1_1.done; breakpoints_1_1 = breakpoints_1.next()) {
|
|
1041
|
-
var breakpoint = breakpoints_1_1.value;
|
|
1042
|
-
if (match(breakpoint)) {
|
|
1043
|
-
return breakpoint;
|
|
1044
|
-
}
|
|
1045
|
-
}
|
|
1046
|
-
}
|
|
1047
|
-
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
1048
|
-
finally {
|
|
1049
|
-
try {
|
|
1050
|
-
if (breakpoints_1_1 && !breakpoints_1_1.done && (_b = breakpoints_1.return)) _b.call(breakpoints_1);
|
|
1051
|
-
}
|
|
1052
|
-
finally { if (e_16) throw e_16.error; }
|
|
532
|
+
}
|
|
533
|
+
findBreakpoint(match) {
|
|
534
|
+
for (const [, breakpoints] of this._breakpoints) {
|
|
535
|
+
for (const breakpoint of breakpoints) {
|
|
536
|
+
if (match(breakpoint)) {
|
|
537
|
+
return breakpoint;
|
|
1053
538
|
}
|
|
1054
539
|
}
|
|
1055
540
|
}
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
541
|
+
return undefined;
|
|
542
|
+
}
|
|
543
|
+
async updateBreakpoints(options) {
|
|
544
|
+
if (this.updatingBreakpoints) {
|
|
545
|
+
return;
|
|
546
|
+
}
|
|
547
|
+
const { uri, sourceModified } = options;
|
|
548
|
+
for (const affectedUri of this.getAffectedUris(uri)) {
|
|
549
|
+
if (affectedUri.toString() === breakpoint_manager_1.BreakpointManager.EXCEPTION_URI.toString()) {
|
|
550
|
+
await this.sendExceptionBreakpoints();
|
|
551
|
+
}
|
|
552
|
+
else if (affectedUri.toString() === breakpoint_manager_1.BreakpointManager.FUNCTION_URI.toString()) {
|
|
553
|
+
await this.sendFunctionBreakpoints(affectedUri);
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
await this.sendSourceBreakpoints(affectedUri, sourceModified);
|
|
1060
557
|
}
|
|
1061
|
-
finally { if (e_15) throw e_15.error; }
|
|
1062
558
|
}
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
case 5:
|
|
1093
|
-
_d.sent();
|
|
1094
|
-
return [3 /*break*/, 8];
|
|
1095
|
-
case 6: return [4 /*yield*/, this.sendSourceBreakpoints(affectedUri, sourceModified)];
|
|
1096
|
-
case 7:
|
|
1097
|
-
_d.sent();
|
|
1098
|
-
_d.label = 8;
|
|
1099
|
-
case 8:
|
|
1100
|
-
_b = _a.next();
|
|
1101
|
-
return [3 /*break*/, 2];
|
|
1102
|
-
case 9: return [3 /*break*/, 12];
|
|
1103
|
-
case 10:
|
|
1104
|
-
e_17_1 = _d.sent();
|
|
1105
|
-
e_17 = { error: e_17_1 };
|
|
1106
|
-
return [3 /*break*/, 12];
|
|
1107
|
-
case 11:
|
|
1108
|
-
try {
|
|
1109
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
1110
|
-
}
|
|
1111
|
-
finally { if (e_17) throw e_17.error; }
|
|
1112
|
-
return [7 /*endfinally*/];
|
|
1113
|
-
case 12: return [2 /*return*/];
|
|
1114
|
-
}
|
|
1115
|
-
});
|
|
1116
|
-
});
|
|
1117
|
-
};
|
|
1118
|
-
DebugSession.prototype.sendExceptionBreakpoints = function () {
|
|
1119
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
1120
|
-
var filters, _a, _b, breakpoint;
|
|
1121
|
-
var e_18, _c;
|
|
1122
|
-
return __generator(this, function (_d) {
|
|
1123
|
-
switch (_d.label) {
|
|
1124
|
-
case 0:
|
|
1125
|
-
filters = [];
|
|
1126
|
-
try {
|
|
1127
|
-
for (_a = __values(this.breakpoints.getExceptionBreakpoints()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
1128
|
-
breakpoint = _b.value;
|
|
1129
|
-
if (breakpoint.enabled) {
|
|
1130
|
-
filters.push(breakpoint.raw.filter);
|
|
1131
|
-
}
|
|
1132
|
-
}
|
|
1133
|
-
}
|
|
1134
|
-
catch (e_18_1) { e_18 = { error: e_18_1 }; }
|
|
1135
|
-
finally {
|
|
1136
|
-
try {
|
|
1137
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
1138
|
-
}
|
|
1139
|
-
finally { if (e_18) throw e_18.error; }
|
|
1140
|
-
}
|
|
1141
|
-
return [4 /*yield*/, this.sendRequest('setExceptionBreakpoints', { filters: filters })];
|
|
1142
|
-
case 1:
|
|
1143
|
-
_d.sent();
|
|
1144
|
-
return [2 /*return*/];
|
|
559
|
+
}
|
|
560
|
+
async sendExceptionBreakpoints() {
|
|
561
|
+
const filters = [];
|
|
562
|
+
for (const breakpoint of this.breakpoints.getExceptionBreakpoints()) {
|
|
563
|
+
if (breakpoint.enabled) {
|
|
564
|
+
filters.push(breakpoint.raw.filter);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
await this.sendRequest('setExceptionBreakpoints', { filters });
|
|
568
|
+
}
|
|
569
|
+
async sendFunctionBreakpoints(affectedUri) {
|
|
570
|
+
const all = this.breakpoints.getFunctionBreakpoints().map(origin => new debug_function_breakpoint_1.DebugFunctionBreakpoint(origin, this.asDebugBreakpointOptions()));
|
|
571
|
+
const enabled = all.filter(b => b.enabled);
|
|
572
|
+
if (this.capabilities.supportsFunctionBreakpoints) {
|
|
573
|
+
try {
|
|
574
|
+
const response = await this.sendRequest('setFunctionBreakpoints', {
|
|
575
|
+
breakpoints: enabled.map(b => b.origin.raw)
|
|
576
|
+
});
|
|
577
|
+
response.body.breakpoints.map((raw, index) => {
|
|
578
|
+
// node debug adapter returns more breakpoints sometimes
|
|
579
|
+
if (enabled[index]) {
|
|
580
|
+
enabled[index].update({ raw });
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
// could be error or promise rejection of DebugProtocol.SetFunctionBreakpoints
|
|
586
|
+
if (error instanceof Error) {
|
|
587
|
+
console.error(`Error setting breakpoints: ${error.message}`);
|
|
1145
588
|
}
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
case 0:
|
|
1156
|
-
all = this.breakpoints.getFunctionBreakpoints().map(function (origin) {
|
|
1157
|
-
return new debug_function_breakpoint_1.DebugFunctionBreakpoint(origin, _this.asDebugBreakpointOptions());
|
|
1158
|
-
});
|
|
1159
|
-
enabled = all.filter(function (b) { return b.enabled; });
|
|
1160
|
-
if (!this.capabilities.supportsFunctionBreakpoints) return [3 /*break*/, 4];
|
|
1161
|
-
_a.label = 1;
|
|
1162
|
-
case 1:
|
|
1163
|
-
_a.trys.push([1, 3, , 4]);
|
|
1164
|
-
return [4 /*yield*/, this.sendRequest('setFunctionBreakpoints', {
|
|
1165
|
-
breakpoints: enabled.map(function (b) { return b.origin.raw; })
|
|
1166
|
-
})];
|
|
1167
|
-
case 2:
|
|
1168
|
-
response = _a.sent();
|
|
1169
|
-
response.body.breakpoints.map(function (raw, index) {
|
|
1170
|
-
// node debug adapter returns more breakpoints sometimes
|
|
1171
|
-
if (enabled[index]) {
|
|
1172
|
-
enabled[index].update({ raw: raw });
|
|
1173
|
-
}
|
|
1174
|
-
});
|
|
1175
|
-
return [3 /*break*/, 4];
|
|
1176
|
-
case 3:
|
|
1177
|
-
error_1 = _a.sent();
|
|
1178
|
-
// could be error or promise rejection of DebugProtocol.SetFunctionBreakpoints
|
|
1179
|
-
if (error_1 instanceof Error) {
|
|
1180
|
-
console.error("Error setting breakpoints: " + error_1.message);
|
|
1181
|
-
}
|
|
1182
|
-
else {
|
|
1183
|
-
genericMessage = 'Function breakpoint not valid for current debug session';
|
|
1184
|
-
message_1 = error_1.message ? "" + error_1.message : genericMessage;
|
|
1185
|
-
console.warn("Could not handle function breakpoints: " + message_1 + ", disabling...");
|
|
1186
|
-
enabled.forEach(function (b) { return b.update({
|
|
1187
|
-
raw: {
|
|
1188
|
-
verified: false,
|
|
1189
|
-
message: message_1
|
|
1190
|
-
}
|
|
1191
|
-
}); });
|
|
589
|
+
else {
|
|
590
|
+
// handle adapters that send failed DebugProtocol.SetFunctionBreakpoints for invalid breakpoints
|
|
591
|
+
const genericMessage = 'Function breakpoint not valid for current debug session';
|
|
592
|
+
const message = error.message ? `${error.message}` : genericMessage;
|
|
593
|
+
console.warn(`Could not handle function breakpoints: ${message}, disabling...`);
|
|
594
|
+
enabled.forEach(b => b.update({
|
|
595
|
+
raw: {
|
|
596
|
+
verified: false,
|
|
597
|
+
message
|
|
1192
598
|
}
|
|
1193
|
-
|
|
1194
|
-
case 4:
|
|
1195
|
-
this.setBreakpoints(affectedUri, all);
|
|
1196
|
-
return [2 /*return*/];
|
|
599
|
+
}));
|
|
1197
600
|
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
this.setBreakpoints(affectedUri, all);
|
|
604
|
+
}
|
|
605
|
+
async sendSourceBreakpoints(affectedUri, sourceModified) {
|
|
606
|
+
const source = await this.toSource(affectedUri);
|
|
607
|
+
const all = this.breakpoints.findMarkers({ uri: affectedUri }).map(({ data }) => new debug_source_breakpoint_1.DebugSourceBreakpoint(data, this.asDebugBreakpointOptions()));
|
|
608
|
+
const enabled = all.filter(b => b.enabled);
|
|
609
|
+
try {
|
|
610
|
+
const response = await this.sendRequest('setBreakpoints', {
|
|
611
|
+
source: source.raw,
|
|
612
|
+
sourceModified,
|
|
613
|
+
breakpoints: enabled.map(({ origin }) => origin.raw)
|
|
1198
614
|
});
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
var source, all, enabled, response, error_2, genericMessage, message_2;
|
|
1204
|
-
var _this = this;
|
|
1205
|
-
return __generator(this, function (_a) {
|
|
1206
|
-
switch (_a.label) {
|
|
1207
|
-
case 0: return [4 /*yield*/, this.toSource(affectedUri)];
|
|
1208
|
-
case 1:
|
|
1209
|
-
source = _a.sent();
|
|
1210
|
-
all = this.breakpoints.findMarkers({ uri: affectedUri }).map(function (_a) {
|
|
1211
|
-
var data = _a.data;
|
|
1212
|
-
return new debug_source_breakpoint_1.DebugSourceBreakpoint(data, _this.asDebugBreakpointOptions());
|
|
1213
|
-
});
|
|
1214
|
-
enabled = all.filter(function (b) { return b.enabled; });
|
|
1215
|
-
_a.label = 2;
|
|
1216
|
-
case 2:
|
|
1217
|
-
_a.trys.push([2, 4, , 5]);
|
|
1218
|
-
return [4 /*yield*/, this.sendRequest('setBreakpoints', {
|
|
1219
|
-
source: source.raw,
|
|
1220
|
-
sourceModified: sourceModified,
|
|
1221
|
-
breakpoints: enabled.map(function (_a) {
|
|
1222
|
-
var origin = _a.origin;
|
|
1223
|
-
return origin.raw;
|
|
1224
|
-
})
|
|
1225
|
-
})];
|
|
1226
|
-
case 3:
|
|
1227
|
-
response = _a.sent();
|
|
1228
|
-
response.body.breakpoints.map(function (raw, index) {
|
|
1229
|
-
// node debug adapter returns more breakpoints sometimes
|
|
1230
|
-
if (enabled[index]) {
|
|
1231
|
-
enabled[index].update({ raw: raw });
|
|
1232
|
-
}
|
|
1233
|
-
});
|
|
1234
|
-
return [3 /*break*/, 5];
|
|
1235
|
-
case 4:
|
|
1236
|
-
error_2 = _a.sent();
|
|
1237
|
-
// could be error or promise rejection of DebugProtocol.SetBreakpointsResponse
|
|
1238
|
-
if (error_2 instanceof Error) {
|
|
1239
|
-
console.error("Error setting breakpoints: " + error_2.message);
|
|
1240
|
-
}
|
|
1241
|
-
else {
|
|
1242
|
-
genericMessage = 'Breakpoint not valid for current debug session';
|
|
1243
|
-
message_2 = error_2.message ? "" + error_2.message : genericMessage;
|
|
1244
|
-
console.warn("Could not handle breakpoints for " + affectedUri + ": " + message_2 + ", disabling...");
|
|
1245
|
-
enabled.forEach(function (b) { return b.update({
|
|
1246
|
-
raw: {
|
|
1247
|
-
verified: false,
|
|
1248
|
-
message: message_2
|
|
1249
|
-
}
|
|
1250
|
-
}); });
|
|
1251
|
-
}
|
|
1252
|
-
return [3 /*break*/, 5];
|
|
1253
|
-
case 5:
|
|
1254
|
-
this.setSourceBreakpoints(affectedUri, all);
|
|
1255
|
-
return [2 /*return*/];
|
|
615
|
+
response.body.breakpoints.map((raw, index) => {
|
|
616
|
+
// node debug adapter returns more breakpoints sometimes
|
|
617
|
+
if (enabled[index]) {
|
|
618
|
+
enabled[index].update({ raw });
|
|
1256
619
|
}
|
|
1257
620
|
});
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
|
|
621
|
+
}
|
|
622
|
+
catch (error) {
|
|
623
|
+
// could be error or promise rejection of DebugProtocol.SetBreakpointsResponse
|
|
624
|
+
if (error instanceof Error) {
|
|
625
|
+
console.error(`Error setting breakpoints: ${error.message}`);
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
// handle adapters that send failed DebugProtocol.SetBreakpointsResponse for invalid breakpoints
|
|
629
|
+
const genericMessage = 'Breakpoint not valid for current debug session';
|
|
630
|
+
const message = error.message ? `${error.message}` : genericMessage;
|
|
631
|
+
console.warn(`Could not handle breakpoints for ${affectedUri}: ${message}, disabling...`);
|
|
632
|
+
enabled.forEach(b => b.update({
|
|
633
|
+
raw: {
|
|
634
|
+
verified: false,
|
|
635
|
+
message
|
|
636
|
+
}
|
|
637
|
+
}));
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
this.setSourceBreakpoints(affectedUri, all);
|
|
641
|
+
}
|
|
642
|
+
setBreakpoints(uri, breakpoints) {
|
|
1261
643
|
this._breakpoints.set(uri.toString(), breakpoints);
|
|
1262
644
|
this.fireDidChangeBreakpoints(uri);
|
|
1263
|
-
}
|
|
1264
|
-
|
|
1265
|
-
|
|
645
|
+
}
|
|
646
|
+
setSourceBreakpoints(uri, breakpoints) {
|
|
647
|
+
const distinct = this.dedupSourceBreakpoints(breakpoints);
|
|
1266
648
|
this.setBreakpoints(uri, distinct);
|
|
1267
|
-
}
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
_b = __read([breakpoint, primary], 2), primary = _b[0], secondary = _b[1];
|
|
1279
|
-
}
|
|
1280
|
-
(_c = primary.origins).push.apply(_c, __spread(secondary.origins));
|
|
1281
|
-
}
|
|
1282
|
-
positions.set(primary.renderPosition(), primary);
|
|
649
|
+
}
|
|
650
|
+
dedupSourceBreakpoints(all) {
|
|
651
|
+
const positions = new Map();
|
|
652
|
+
for (const breakpoint of all) {
|
|
653
|
+
let primary = positions.get(breakpoint.renderPosition()) || breakpoint;
|
|
654
|
+
if (primary !== breakpoint) {
|
|
655
|
+
let secondary = breakpoint;
|
|
656
|
+
if (secondary.raw && secondary.raw.line === secondary.origin.raw.line && secondary.raw.column === secondary.origin.raw.column) {
|
|
657
|
+
[primary, secondary] = [breakpoint, primary];
|
|
658
|
+
}
|
|
659
|
+
primary.origins.push(...secondary.origins);
|
|
1283
660
|
}
|
|
661
|
+
positions.set(primary.renderPosition(), primary);
|
|
1284
662
|
}
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
finally { if (e_19) throw e_19.error; }
|
|
663
|
+
return [...positions.values()];
|
|
664
|
+
}
|
|
665
|
+
*getAffectedUris(uri) {
|
|
666
|
+
if (uri) {
|
|
667
|
+
yield uri;
|
|
1291
668
|
}
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
var _a, _b, uriString, e_20_1;
|
|
1296
|
-
var e_20, _c;
|
|
1297
|
-
return __generator(this, function (_d) {
|
|
1298
|
-
switch (_d.label) {
|
|
1299
|
-
case 0:
|
|
1300
|
-
if (!uri) return [3 /*break*/, 2];
|
|
1301
|
-
return [4 /*yield*/, uri];
|
|
1302
|
-
case 1:
|
|
1303
|
-
_d.sent();
|
|
1304
|
-
return [3 /*break*/, 12];
|
|
1305
|
-
case 2:
|
|
1306
|
-
_d.trys.push([2, 7, 8, 9]);
|
|
1307
|
-
_a = __values(this.breakpoints.getUris()), _b = _a.next();
|
|
1308
|
-
_d.label = 3;
|
|
1309
|
-
case 3:
|
|
1310
|
-
if (!!_b.done) return [3 /*break*/, 6];
|
|
1311
|
-
uriString = _b.value;
|
|
1312
|
-
return [4 /*yield*/, new uri_1.default(uriString)];
|
|
1313
|
-
case 4:
|
|
1314
|
-
_d.sent();
|
|
1315
|
-
_d.label = 5;
|
|
1316
|
-
case 5:
|
|
1317
|
-
_b = _a.next();
|
|
1318
|
-
return [3 /*break*/, 3];
|
|
1319
|
-
case 6: return [3 /*break*/, 9];
|
|
1320
|
-
case 7:
|
|
1321
|
-
e_20_1 = _d.sent();
|
|
1322
|
-
e_20 = { error: e_20_1 };
|
|
1323
|
-
return [3 /*break*/, 9];
|
|
1324
|
-
case 8:
|
|
1325
|
-
try {
|
|
1326
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
1327
|
-
}
|
|
1328
|
-
finally { if (e_20) throw e_20.error; }
|
|
1329
|
-
return [7 /*endfinally*/];
|
|
1330
|
-
case 9: return [4 /*yield*/, breakpoint_manager_1.BreakpointManager.FUNCTION_URI];
|
|
1331
|
-
case 10:
|
|
1332
|
-
_d.sent();
|
|
1333
|
-
return [4 /*yield*/, breakpoint_manager_1.BreakpointManager.EXCEPTION_URI];
|
|
1334
|
-
case 11:
|
|
1335
|
-
_d.sent();
|
|
1336
|
-
_d.label = 12;
|
|
1337
|
-
case 12: return [2 /*return*/];
|
|
1338
|
-
}
|
|
1339
|
-
});
|
|
1340
|
-
};
|
|
1341
|
-
DebugSession.prototype.asDebugBreakpointOptions = function () {
|
|
1342
|
-
var _a = this, labelProvider = _a.labelProvider, breakpoints = _a.breakpoints, editorManager = _a.editorManager;
|
|
1343
|
-
return { labelProvider: labelProvider, breakpoints: breakpoints, editorManager: editorManager, session: this };
|
|
1344
|
-
};
|
|
1345
|
-
Object.defineProperty(DebugSession.prototype, "label", {
|
|
1346
|
-
get: function () {
|
|
1347
|
-
if (debug_session_options_1.InternalDebugSessionOptions.is(this.options) && this.options.id) {
|
|
1348
|
-
return this.configuration.name + ' (' + (this.options.id + 1) + ')';
|
|
669
|
+
else {
|
|
670
|
+
for (const uriString of this.breakpoints.getUris()) {
|
|
671
|
+
yield new uri_1.default(uriString);
|
|
1349
672
|
}
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
673
|
+
yield breakpoint_manager_1.BreakpointManager.FUNCTION_URI;
|
|
674
|
+
yield breakpoint_manager_1.BreakpointManager.EXCEPTION_URI;
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
asDebugBreakpointOptions() {
|
|
678
|
+
const { labelProvider, breakpoints, editorManager } = this;
|
|
679
|
+
return { labelProvider, breakpoints, editorManager, session: this };
|
|
680
|
+
}
|
|
681
|
+
get label() {
|
|
682
|
+
if (debug_session_options_1.InternalDebugSessionOptions.is(this.options) && this.options.id) {
|
|
683
|
+
return this.configuration.name + ' (' + (this.options.id + 1) + ')';
|
|
684
|
+
}
|
|
685
|
+
return this.configuration.name;
|
|
686
|
+
}
|
|
687
|
+
get visible() {
|
|
688
|
+
return this.state > DebugState.Inactive;
|
|
689
|
+
}
|
|
690
|
+
render() {
|
|
691
|
+
let label = '';
|
|
692
|
+
const child = this.getSingleChildSession();
|
|
1365
693
|
if (child && child.configuration.compact) {
|
|
1366
694
|
// Inlines the name of the child debug session
|
|
1367
|
-
label =
|
|
695
|
+
label = `: ${child.label}`;
|
|
1368
696
|
}
|
|
1369
697
|
return React.createElement("div", { className: 'theia-debug-session', title: 'Session' },
|
|
1370
698
|
React.createElement("span", { className: 'label' }, this.label + label),
|
|
1371
699
|
React.createElement("span", { className: 'status' }, this.state === DebugState.Stopped ? 'Paused' : 'Running'));
|
|
1372
|
-
}
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
return [2 /*return*/, _a.sent()];
|
|
1384
|
-
case 2: return [5 /*yield**/, __values(this.threads)];
|
|
1385
|
-
case 3:
|
|
1386
|
-
_a.sent();
|
|
1387
|
-
return [5 /*yield**/, __values(this.childSessions.values())];
|
|
1388
|
-
case 4:
|
|
1389
|
-
_a.sent();
|
|
1390
|
-
return [2 /*return*/];
|
|
1391
|
-
}
|
|
1392
|
-
});
|
|
1393
|
-
};
|
|
1394
|
-
DebugSession.prototype.getSingleChildSession = function () {
|
|
700
|
+
}
|
|
701
|
+
*getElements() {
|
|
702
|
+
const child = this.getSingleChildSession();
|
|
703
|
+
if (child && child.configuration.compact) {
|
|
704
|
+
// Inlines the elements of the child debug session
|
|
705
|
+
return yield* child.getElements();
|
|
706
|
+
}
|
|
707
|
+
yield* this.threads;
|
|
708
|
+
yield* this.childSessions.values();
|
|
709
|
+
}
|
|
710
|
+
getSingleChildSession() {
|
|
1395
711
|
if (this._threads.size === 0 && this.childSessions.size === 1) {
|
|
1396
|
-
|
|
712
|
+
const child = this.childSessions.values().next().value;
|
|
1397
713
|
return child;
|
|
1398
714
|
}
|
|
1399
715
|
return undefined;
|
|
1400
|
-
}
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
this.clearThread(threadId);
|
|
1410
|
-
}
|
|
1411
|
-
return [2 /*return*/];
|
|
1412
|
-
});
|
|
1413
|
-
});
|
|
1414
|
-
};
|
|
1415
|
-
;
|
|
1416
|
-
DebugSession.prototype.handleStopped = function (_a) {
|
|
1417
|
-
var body = _a.body;
|
|
1418
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
1419
|
-
return __generator(this, function (_b) {
|
|
1420
|
-
switch (_b.label) {
|
|
1421
|
-
case 0:
|
|
1422
|
-
// Update thread list
|
|
1423
|
-
return [4 /*yield*/, this.updateThreads(body)];
|
|
1424
|
-
case 1:
|
|
1425
|
-
// Update thread list
|
|
1426
|
-
_b.sent();
|
|
1427
|
-
// Update current thread's frames immediately
|
|
1428
|
-
return [4 /*yield*/, this.updateFrames()];
|
|
1429
|
-
case 2:
|
|
1430
|
-
// Update current thread's frames immediately
|
|
1431
|
-
_b.sent();
|
|
1432
|
-
return [2 /*return*/];
|
|
1433
|
-
}
|
|
1434
|
-
});
|
|
1435
|
-
});
|
|
1436
|
-
};
|
|
716
|
+
}
|
|
717
|
+
async handleContinued({ body: { allThreadsContinued, threadId } }) {
|
|
718
|
+
if (allThreadsContinued !== false) {
|
|
719
|
+
this.clearThreads();
|
|
720
|
+
}
|
|
721
|
+
else {
|
|
722
|
+
this.clearThread(threadId);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
1437
725
|
;
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
}
|
|
1445
|
-
else if (reason === 'exited') {
|
|
1446
|
-
this.clearThread(threadId);
|
|
1447
|
-
}
|
|
1448
|
-
return [2 /*return*/];
|
|
1449
|
-
});
|
|
1450
|
-
});
|
|
1451
|
-
};
|
|
726
|
+
async handleStopped({ body }) {
|
|
727
|
+
// Update thread list
|
|
728
|
+
await this.updateThreads(body);
|
|
729
|
+
// Update current thread's frames immediately
|
|
730
|
+
await this.updateFrames();
|
|
731
|
+
}
|
|
1452
732
|
;
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
for (var _b = __values(this.debugContributionProvider.getContributions()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
1457
|
-
var contrib = _c.value;
|
|
1458
|
-
contrib.register(configType, connection);
|
|
1459
|
-
}
|
|
733
|
+
async handleThread({ body: { reason, threadId } }) {
|
|
734
|
+
if (reason === 'started') {
|
|
735
|
+
this.scheduleUpdateThreads();
|
|
1460
736
|
}
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
try {
|
|
1464
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
1465
|
-
}
|
|
1466
|
-
finally { if (e_21) throw e_21.error; }
|
|
737
|
+
else if (reason === 'exited') {
|
|
738
|
+
this.clearThread(threadId);
|
|
1467
739
|
}
|
|
1468
|
-
}
|
|
740
|
+
}
|
|
741
|
+
;
|
|
742
|
+
registerDebugContributions(configType, connection) {
|
|
743
|
+
for (const contrib of this.debugContributionProvider.getContributions()) {
|
|
744
|
+
contrib.register(configType, connection);
|
|
745
|
+
}
|
|
746
|
+
}
|
|
1469
747
|
;
|
|
1470
|
-
|
|
1471
|
-
}());
|
|
748
|
+
}
|
|
1472
749
|
exports.DebugSession = DebugSession;
|
|
1473
750
|
//# sourceMappingURL=debug-session.js.map
|