@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.
Files changed (139) hide show
  1. package/lib/browser/breakpoint/breakpoint-manager.js +159 -382
  2. package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
  3. package/lib/browser/breakpoint/breakpoint-marker.js +4 -15
  4. package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -1
  5. package/lib/browser/console/debug-console-contribution.d.ts.map +1 -1
  6. package/lib/browser/console/debug-console-contribution.js +132 -221
  7. package/lib/browser/console/debug-console-contribution.js.map +1 -1
  8. package/lib/browser/console/debug-console-items.js +231 -451
  9. package/lib/browser/console/debug-console-items.js.map +1 -1
  10. package/lib/browser/console/debug-console-session.js +86 -223
  11. package/lib/browser/console/debug-console-session.js.map +1 -1
  12. package/lib/browser/debug-configuration-manager.js +281 -623
  13. package/lib/browser/debug-configuration-manager.js.map +1 -1
  14. package/lib/browser/debug-configuration-model.js +31 -108
  15. package/lib/browser/debug-configuration-model.js.map +1 -1
  16. package/lib/browser/debug-frontend-application-contribution.d.ts +1 -0
  17. package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
  18. package/lib/browser/debug-frontend-application-contribution.js +577 -780
  19. package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
  20. package/lib/browser/debug-frontend-module.js +46 -82
  21. package/lib/browser/debug-frontend-module.js.map +1 -1
  22. package/lib/browser/debug-keybinding-contexts.js +41 -59
  23. package/lib/browser/debug-keybinding-contexts.js.map +1 -1
  24. package/lib/browser/debug-monaco-contribution.js +17 -17
  25. package/lib/browser/debug-monaco-contribution.js.map +1 -1
  26. package/lib/browser/debug-package.spec.js +2 -2
  27. package/lib/browser/debug-package.spec.js.map +1 -1
  28. package/lib/browser/debug-preferences.js +7 -11
  29. package/lib/browser/debug-preferences.js.map +1 -1
  30. package/lib/browser/debug-prefix-configuration.js +101 -117
  31. package/lib/browser/debug-prefix-configuration.js.map +1 -1
  32. package/lib/browser/debug-resource.js +29 -79
  33. package/lib/browser/debug-resource.js.map +1 -1
  34. package/lib/browser/debug-schema-updater.js +54 -193
  35. package/lib/browser/debug-schema-updater.js.map +1 -1
  36. package/lib/browser/debug-session-connection.js +137 -235
  37. package/lib/browser/debug-session-connection.js.map +1 -1
  38. package/lib/browser/debug-session-contribution.js +91 -120
  39. package/lib/browser/debug-session-contribution.js.map +1 -1
  40. package/lib/browser/debug-session-manager.js +368 -652
  41. package/lib/browser/debug-session-manager.js.map +1 -1
  42. package/lib/browser/debug-session.js +556 -1279
  43. package/lib/browser/debug-session.js.map +1 -1
  44. package/lib/browser/debug-tab-bar-decorator.js +32 -38
  45. package/lib/browser/debug-tab-bar-decorator.js.map +1 -1
  46. package/lib/browser/debug-watch-manager.js +41 -138
  47. package/lib/browser/debug-watch-manager.js.map +1 -1
  48. package/lib/browser/editor/debug-breakpoint-widget.js +142 -255
  49. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
  50. package/lib/browser/editor/debug-editor-model.js +299 -474
  51. package/lib/browser/editor/debug-editor-model.js.map +1 -1
  52. package/lib/browser/editor/debug-editor-service.js +128 -206
  53. package/lib/browser/editor/debug-editor-service.js.map +1 -1
  54. package/lib/browser/editor/debug-exception-widget.js +56 -119
  55. package/lib/browser/editor/debug-exception-widget.js.map +1 -1
  56. package/lib/browser/editor/debug-expression-provider.js +21 -24
  57. package/lib/browser/editor/debug-expression-provider.js.map +1 -1
  58. package/lib/browser/editor/debug-hover-source.js +83 -249
  59. package/lib/browser/editor/debug-hover-source.js.map +1 -1
  60. package/lib/browser/editor/debug-hover-widget.js +151 -224
  61. package/lib/browser/editor/debug-hover-widget.js.map +1 -1
  62. package/lib/browser/editor/debug-inline-value-decorator.js +96 -193
  63. package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
  64. package/lib/browser/model/debug-breakpoint.js +52 -102
  65. package/lib/browser/model/debug-breakpoint.js.map +1 -1
  66. package/lib/browser/model/debug-function-breakpoint.js +54 -124
  67. package/lib/browser/model/debug-function-breakpoint.js.map +1 -1
  68. package/lib/browser/model/debug-source-breakpoint.js +111 -265
  69. package/lib/browser/model/debug-source-breakpoint.js.map +1 -1
  70. package/lib/browser/model/debug-source.js +45 -126
  71. package/lib/browser/model/debug-source.js.map +1 -1
  72. package/lib/browser/model/debug-stack-frame.js +85 -199
  73. package/lib/browser/model/debug-stack-frame.js.map +1 -1
  74. package/lib/browser/model/debug-thread.js +132 -304
  75. package/lib/browser/model/debug-thread.js.map +1 -1
  76. package/lib/browser/preferences/launch-preferences.js +3 -3
  77. package/lib/browser/preferences/launch-preferences.js.map +1 -1
  78. package/lib/browser/view/debug-action.js +13 -29
  79. package/lib/browser/view/debug-action.js.map +1 -1
  80. package/lib/browser/view/debug-breakpoints-source.js +42 -169
  81. package/lib/browser/view/debug-breakpoints-source.js.map +1 -1
  82. package/lib/browser/view/debug-breakpoints-widget.js +43 -82
  83. package/lib/browser/view/debug-breakpoints-widget.js.map +1 -1
  84. package/lib/browser/view/debug-configuration-widget.js +89 -136
  85. package/lib/browser/view/debug-configuration-widget.js.map +1 -1
  86. package/lib/browser/view/debug-exception-breakpoint.js +7 -9
  87. package/lib/browser/view/debug-exception-breakpoint.js.map +1 -1
  88. package/lib/browser/view/debug-session-widget.js +80 -114
  89. package/lib/browser/view/debug-session-widget.js.map +1 -1
  90. package/lib/browser/view/debug-stack-frames-source.js +58 -169
  91. package/lib/browser/view/debug-stack-frames-source.js.map +1 -1
  92. package/lib/browser/view/debug-stack-frames-widget.js +89 -155
  93. package/lib/browser/view/debug-stack-frames-widget.js.map +1 -1
  94. package/lib/browser/view/debug-threads-source.js +37 -124
  95. package/lib/browser/view/debug-threads-source.js.map +1 -1
  96. package/lib/browser/view/debug-threads-widget.js +61 -99
  97. package/lib/browser/view/debug-threads-widget.js.map +1 -1
  98. package/lib/browser/view/debug-toolbar-widget.js +58 -76
  99. package/lib/browser/view/debug-toolbar-widget.js.map +1 -1
  100. package/lib/browser/view/debug-variables-source.js +32 -102
  101. package/lib/browser/view/debug-variables-source.js.map +1 -1
  102. package/lib/browser/view/debug-variables-widget.js +35 -74
  103. package/lib/browser/view/debug-variables-widget.js.map +1 -1
  104. package/lib/browser/view/debug-view-model.js +172 -381
  105. package/lib/browser/view/debug-view-model.js.map +1 -1
  106. package/lib/browser/view/debug-watch-expression.js +34 -112
  107. package/lib/browser/view/debug-watch-expression.js.map +1 -1
  108. package/lib/browser/view/debug-watch-source.js +30 -87
  109. package/lib/browser/view/debug-watch-source.js.map +1 -1
  110. package/lib/browser/view/debug-watch-widget.js +35 -74
  111. package/lib/browser/view/debug-watch-widget.js.map +1 -1
  112. package/lib/browser/view/debug-widget.js +63 -105
  113. package/lib/browser/view/debug-widget.js.map +1 -1
  114. package/lib/common/debug-service.js +5 -5
  115. package/lib/common/debug-service.js.map +1 -1
  116. package/lib/node/debug-adapter-contribution-registry.js +133 -489
  117. package/lib/node/debug-adapter-contribution-registry.js.map +1 -1
  118. package/lib/node/debug-adapter-factory.js +38 -57
  119. package/lib/node/debug-adapter-factory.js.map +1 -1
  120. package/lib/node/debug-adapter-session-manager.js +50 -98
  121. package/lib/node/debug-adapter-session-manager.js.map +1 -1
  122. package/lib/node/debug-adapter-session.js +44 -93
  123. package/lib/node/debug-adapter-session.js.map +1 -1
  124. package/lib/node/debug-backend-module.js +13 -17
  125. package/lib/node/debug-backend-module.js.map +1 -1
  126. package/lib/node/debug-service-impl.js +71 -213
  127. package/lib/node/debug-service-impl.js.map +1 -1
  128. package/lib/node/vscode/vscode-debug-adapter-contribution.js +153 -294
  129. package/lib/node/vscode/vscode-debug-adapter-contribution.js.map +1 -1
  130. package/package.json +16 -16
  131. package/src/browser/console/debug-console-contribution.tsx +3 -3
  132. package/src/browser/debug-frontend-application-contribution.ts +69 -18
  133. package/src/browser/debug-prefix-configuration.ts +1 -1
  134. package/src/browser/style/index.css +28 -10
  135. package/src/browser/view/debug-action.tsx +2 -2
  136. package/src/browser/view/debug-configuration-widget.tsx +3 -3
  137. package/src/browser/view/debug-session-widget.ts +2 -2
  138. package/src/browser/view/debug-toolbar-widget.tsx +8 -8
  139. 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
- var React = require("@theia/core/shared/react");
88
- var common_1 = require("@theia/core/lib/common");
89
- var debug_thread_1 = require("./model/debug-thread");
90
- var debug_source_1 = require("./model/debug-source");
91
- var debug_source_breakpoint_1 = require("./model/debug-source-breakpoint");
92
- var debounce = require("p-debounce");
93
- var uri_1 = require("@theia/core/lib/common/uri");
94
- var breakpoint_manager_1 = require("./breakpoint/breakpoint-manager");
95
- var debug_session_options_1 = require("./debug-session-options");
96
- var breakpoint_marker_1 = require("./breakpoint/breakpoint-marker");
97
- var debug_function_breakpoint_1 = require("./model/debug-function-breakpoint");
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
- var DebugSession = /** @class */ (function () {
107
- function DebugSession(id, options, parentSession, connection, terminalServer, editorManager, breakpoints, labelProvider, messages, fileService, debugContributionProvider) {
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(function () { return _this.updateThreads(undefined); }, 100);
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', function (request) { return _this.runInTerminal(request); });
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(function () {
72
+ this.toDispose.push(common_1.Disposable.create(() => {
141
73
  var _a, _b;
142
- (_b = (_a = _this.parentSession) === null || _a === void 0 ? void 0 : _a.childSessions) === null || _b === void 0 ? void 0 : _b.delete(id);
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(function () {
149
- _this.clearBreakpoints();
150
- _this.doUpdateThreads([]);
80
+ common_1.Disposable.create(() => {
81
+ this.clearBreakpoints();
82
+ this.doUpdateThreads([]);
151
83
  }),
152
84
  this.connection,
153
- this.on('initialized', function () { return _this.configure(); }),
154
- this.on('breakpoint', function (_a) {
155
- var body = _a.body;
156
- return _this.updateBreakpoint(body);
157
- }),
158
- this.on('continued', function (e) { return _this.handleContinued(e); }),
159
- this.on('stopped', function (e) { return _this.handleStopped(e); }),
160
- this.on('thread', function (e) { return _this.handleThread(e); }),
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
- DebugSession.prototype.fireDidChange = function () {
95
+ fireDidChange() {
167
96
  this.onDidChangeEmitter.fire(undefined);
168
- };
169
- DebugSession.prototype.fireDidChangeBreakpoints = function (uri) {
97
+ }
98
+ fireDidChangeBreakpoints(uri) {
170
99
  this.onDidChangeBreakpointsEmitter.fire(uri);
171
- };
172
- DebugSession.prototype.dispose = function () {
100
+ }
101
+ dispose() {
173
102
  this.toDispose.dispose();
174
- };
175
- Object.defineProperty(DebugSession.prototype, "configuration", {
176
- get: function () {
177
- return this.options.configuration;
178
- },
179
- enumerable: false,
180
- configurable: true
181
- });
182
- Object.defineProperty(DebugSession.prototype, "capabilities", {
183
- get: function () {
184
- return this._capabilities;
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
- DebugSession.prototype.getSourceForUri = function (uri) {
116
+ }
117
+ getSourceForUri(uri) {
197
118
  return this.sources.get(uri.toString());
198
- };
199
- DebugSession.prototype.toSource = function (uri) {
200
- return __awaiter(this, void 0, void 0, function () {
201
- var source, _a;
202
- return __generator(this, function (_b) {
203
- switch (_b.label) {
204
- case 0:
205
- source = this.getSourceForUri(uri);
206
- if (source) {
207
- return [2 /*return*/, source];
208
- }
209
- _a = this.getSource;
210
- return [4 /*yield*/, this.toDebugSource(uri)];
211
- case 1: return [2 /*return*/, _a.apply(this, [_b.sent()])];
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
- Object.defineProperty(DebugSession.prototype, "threads", {
246
- get: function () {
247
- return this._threads.values();
248
- },
249
- enumerable: false,
250
- configurable: true
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
- DebugSession.prototype.continueAll = function () {
359
- return __awaiter(this, void 0, void 0, function () {
360
- var promises, _loop_2, _a, _b, thread;
361
- var e_4, _c;
362
- var _this = this;
363
- return __generator(this, function (_d) {
364
- switch (_d.label) {
365
- case 0:
366
- promises = [];
367
- _loop_2 = function (thread) {
368
- promises.push((function () { return __awaiter(_this, void 0, void 0, function () {
369
- var e_5;
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
- Object.defineProperty(DebugSession.prototype, "currentFrame", {
409
- get: function () {
410
- return this.currentThread && this.currentThread.currentFrame;
411
- },
412
- enumerable: false,
413
- configurable: true
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
- if (!this.initialized) {
439
- return DebugState.Initializing;
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
- var thread = this.currentThread;
442
- if (thread) {
443
- return thread.stopped ? DebugState.Stopped : DebugState.Running;
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
- return !!this.stoppedThreads.next().value ? DebugState.Stopped : DebugState.Running;
446
- },
447
- enumerable: false,
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: reason });
301
+ this.connection['fire']('exited', { reason });
619
302
  }
620
303
  catch (e) {
621
304
  console.error(e);
622
305
  }
623
- };
624
- DebugSession.prototype.exited = function (timeout) {
625
- var _this = this;
626
- return new Promise(function (resolve) {
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(function () {
313
+ setTimeout(() => {
632
314
  listener.dispose();
633
315
  resolve(false);
634
316
  }, timeout);
635
317
  });
636
- };
637
- DebugSession.prototype.restart = function () {
638
- return __awaiter(this, void 0, void 0, function () {
639
- return __generator(this, function (_a) {
640
- switch (_a.label) {
641
- case 0:
642
- if (!this.capabilities.supportsRestartRequest) return [3 /*break*/, 2];
643
- this.terminated = false;
644
- return [4 /*yield*/, this.sendRequest('restart', {})];
645
- case 1:
646
- _a.sent();
647
- return [2 /*return*/, true];
648
- case 2: return [2 /*return*/, false];
649
- }
650
- });
651
- });
652
- };
653
- DebugSession.prototype.completions = function (text, column, line) {
654
- return __awaiter(this, void 0, void 0, function () {
655
- var frameId, response;
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
- DebugSession.prototype.sendCustomRequest = function (command, args) {
339
+ }
340
+ sendCustomRequest(command, args) {
687
341
  return this.connection.sendCustomRequest(command, args);
688
- };
689
- DebugSession.prototype.on = function (kind, listener) {
342
+ }
343
+ on(kind, listener) {
690
344
  return this.connection.on(kind, listener);
691
- };
692
- Object.defineProperty(DebugSession.prototype, "onDidCustomEvent", {
693
- get: function () {
694
- return this.connection.onDidCustomEvent;
695
- },
696
- enumerable: false,
697
- configurable: true
698
- });
699
- DebugSession.prototype.runInTerminal = function (_a) {
700
- var _b = _a.arguments, title = _b.title, cwd = _b.cwd, args = _b.args, env = _b.env;
701
- return __awaiter(this, void 0, void 0, function () {
702
- var terminal, processId, _c;
703
- return __generator(this, function (_d) {
704
- switch (_d.label) {
705
- case 0: return [4 /*yield*/, this.doCreateTerminal({ title: title, cwd: cwd, env: env, useServerTitle: false })];
706
- case 1:
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
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
786
- finally {
787
- try {
788
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
789
- }
790
- finally { if (e_8) throw e_8.error; }
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
- DebugSession.prototype.clearThread = function (threadId) {
795
- var thread = this._threads.get(threadId);
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
- DebugSession.prototype.updateThreads = function (stoppedDetails) {
802
- var _this = this;
803
- return this.pendingThreads = this.pendingThreads.then(function () { return __awaiter(_this, void 0, void 0, function () {
804
- var response, threads, e_9;
805
- return __generator(this, function (_a) {
806
- switch (_a.label) {
807
- case 0:
808
- _a.trys.push([0, 2, , 3]);
809
- return [4 /*yield*/, this.sendRequest('threads', {})];
810
- case 1:
811
- response = _a.sent();
812
- threads = response && response.body && response.body.threads || [];
813
- this.doUpdateThreads(threads, stoppedDetails);
814
- return [3 /*break*/, 3];
815
- case 2:
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
- try {
829
- for (var threads_1 = __values(threads), threads_1_1 = threads_1.next(); !threads_1_1.done; threads_1_1 = threads_1.next()) {
830
- var raw = threads_1_1.value;
831
- var id = raw.id;
832
- var thread = existing.get(id) || new debug_thread_1.DebugThread(this);
833
- this._threads.set(id, thread);
834
- var data = { raw: raw };
835
- if (stoppedDetails) {
836
- if (stoppedDetails.threadId === id) {
837
- data.stoppedDetails = stoppedDetails;
838
- }
839
- else if (stoppedDetails.allThreadsStopped) {
840
- data.stoppedDetails = {
841
- // When a debug adapter notifies us that all threads are stopped,
842
- // we do not know why the others are stopped, so we should default
843
- // to something generic.
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
- DebugSession.prototype.updateCurrentThread = function (stoppedDetails) {
861
- var currentThread = this.currentThread;
862
- var threadId = currentThread && currentThread.raw.id;
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
- DebugSession.prototype.updateFrames = function () {
870
- return __awaiter(this, void 0, void 0, function () {
871
- var thread;
872
- return __generator(this, function (_a) {
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
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
918
- finally {
919
- try {
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
- return breakpoints;
925
- };
926
- DebugSession.prototype.getFunctionBreakpoints = function () {
927
- var e_12, _a;
928
- var breakpoints = [];
929
- try {
930
- for (var _b = __values(this.getBreakpoints(breakpoint_manager_1.BreakpointManager.FUNCTION_URI)), _c = _b.next(); !_c.done; _c = _b.next()) {
931
- var breakpoint = _c.value;
932
- if (breakpoint instanceof debug_function_breakpoint_1.DebugFunctionBreakpoint) {
933
- breakpoints.push(breakpoint);
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
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
938
- finally {
939
- try {
940
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
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
- DebugSession.prototype.getBreakpoints = function (uri) {
947
- var e_13, _a;
466
+ }
467
+ getBreakpoints(uri) {
948
468
  if (uri) {
949
469
  return this._breakpoints.get(uri.toString()) || [];
950
470
  }
951
- var result = [];
952
- try {
953
- for (var _b = __values(this._breakpoints.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
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
- DebugSession.prototype.clearBreakpoints = function () {
968
- var e_14, _a;
969
- var uris = __spread(this._breakpoints.keys());
476
+ }
477
+ clearBreakpoints() {
478
+ const uris = [...this._breakpoints.keys()];
970
479
  this._breakpoints.clear();
971
- try {
972
- for (var uris_1 = __values(uris), uris_1_1 = uris_1.next(); !uris_1_1.done; uris_1_1 = uris_1.next()) {
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
- DebugSession.prototype.updateBreakpoint = function (body) {
483
+ }
484
+ updateBreakpoint(body) {
986
485
  this.updatingBreakpoints = true;
987
486
  try {
988
- var raw_1 = body.breakpoint;
487
+ const raw = body.breakpoint;
989
488
  if (body.reason === 'new') {
990
- if (raw_1.source && typeof raw_1.line === 'number') {
991
- var uri = debug_source_1.DebugSource.toUri(raw_1.source);
992
- var origin_2 = breakpoint_marker_1.SourceBreakpoint.create(uri, { line: raw_1.line, column: raw_1.column });
993
- if (this.breakpoints.addBreakpoint(origin_2)) {
994
- var breakpoints = this.getSourceBreakpoints(uri);
995
- var breakpoint = new debug_source_breakpoint_1.DebugSourceBreakpoint(origin_2, this.asDebugBreakpointOptions());
996
- breakpoint.update({ raw: raw_1 });
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' && raw_1.id) {
1003
- var toRemove = this.findBreakpoint(function (b) { return b.idFromAdapter === raw_1.id; });
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
- var breakpoints = this.getBreakpoints(toRemove.uri);
1007
- var index = breakpoints.indexOf(toRemove);
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' && raw_1.id) {
1015
- var toUpdate = this.findBreakpoint(function (b) { return b.idFromAdapter === raw_1.id; });
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: raw_1 });
516
+ toUpdate.update({ raw });
1018
517
  if (toUpdate instanceof debug_source_breakpoint_1.DebugSourceBreakpoint) {
1019
- var sourceBreakpoints = this.getSourceBreakpoints(toUpdate.uri);
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
- DebugSession.prototype.findBreakpoint = function (match) {
1035
- var e_15, _a, e_16, _b;
1036
- try {
1037
- for (var _c = __values(this._breakpoints), _d = _c.next(); !_d.done; _d = _c.next()) {
1038
- var _e = __read(_d.value, 2), breakpoints = _e[1];
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
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
1057
- finally {
1058
- try {
1059
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
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
- return undefined;
1064
- };
1065
- DebugSession.prototype.updateBreakpoints = function (options) {
1066
- return __awaiter(this, void 0, void 0, function () {
1067
- var uri, sourceModified, _a, _b, affectedUri, e_17_1;
1068
- var e_17, _c;
1069
- return __generator(this, function (_d) {
1070
- switch (_d.label) {
1071
- case 0:
1072
- if (this.updatingBreakpoints) {
1073
- return [2 /*return*/];
1074
- }
1075
- uri = options.uri, sourceModified = options.sourceModified;
1076
- _d.label = 1;
1077
- case 1:
1078
- _d.trys.push([1, 10, 11, 12]);
1079
- _a = __values(this.getAffectedUris(uri)), _b = _a.next();
1080
- _d.label = 2;
1081
- case 2:
1082
- if (!!_b.done) return [3 /*break*/, 9];
1083
- affectedUri = _b.value;
1084
- if (!(affectedUri.toString() === breakpoint_manager_1.BreakpointManager.EXCEPTION_URI.toString())) return [3 /*break*/, 4];
1085
- return [4 /*yield*/, this.sendExceptionBreakpoints()];
1086
- case 3:
1087
- _d.sent();
1088
- return [3 /*break*/, 8];
1089
- case 4:
1090
- if (!(affectedUri.toString() === breakpoint_manager_1.BreakpointManager.FUNCTION_URI.toString())) return [3 /*break*/, 6];
1091
- return [4 /*yield*/, this.sendFunctionBreakpoints(affectedUri)];
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
- DebugSession.prototype.sendFunctionBreakpoints = function (affectedUri) {
1150
- return __awaiter(this, void 0, void 0, function () {
1151
- var all, enabled, response, error_1, genericMessage, message_1;
1152
- var _this = this;
1153
- return __generator(this, function (_a) {
1154
- switch (_a.label) {
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
- return [3 /*break*/, 4];
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
- DebugSession.prototype.sendSourceBreakpoints = function (affectedUri, sourceModified) {
1202
- return __awaiter(this, void 0, void 0, function () {
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
- DebugSession.prototype.setBreakpoints = function (uri, breakpoints) {
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
- DebugSession.prototype.setSourceBreakpoints = function (uri, breakpoints) {
1265
- var distinct = this.dedupSourceBreakpoints(breakpoints);
645
+ }
646
+ setSourceBreakpoints(uri, breakpoints) {
647
+ const distinct = this.dedupSourceBreakpoints(breakpoints);
1266
648
  this.setBreakpoints(uri, distinct);
1267
- };
1268
- DebugSession.prototype.dedupSourceBreakpoints = function (all) {
1269
- var e_19, _a, _b, _c;
1270
- var positions = new Map();
1271
- try {
1272
- for (var all_1 = __values(all), all_1_1 = all_1.next(); !all_1_1.done; all_1_1 = all_1.next()) {
1273
- var breakpoint = all_1_1.value;
1274
- var primary = positions.get(breakpoint.renderPosition()) || breakpoint;
1275
- if (primary !== breakpoint) {
1276
- var secondary = breakpoint;
1277
- if (secondary.raw && secondary.raw.line === secondary.origin.raw.line && secondary.raw.column === secondary.origin.raw.column) {
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
- catch (e_19_1) { e_19 = { error: e_19_1 }; }
1286
- finally {
1287
- try {
1288
- if (all_1_1 && !all_1_1.done && (_a = all_1.return)) _a.call(all_1);
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
- return __spread(positions.values());
1293
- };
1294
- DebugSession.prototype.getAffectedUris = function (uri) {
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
- return this.configuration.name;
1351
- },
1352
- enumerable: false,
1353
- configurable: true
1354
- });
1355
- Object.defineProperty(DebugSession.prototype, "visible", {
1356
- get: function () {
1357
- return this.state > DebugState.Inactive;
1358
- },
1359
- enumerable: false,
1360
- configurable: true
1361
- });
1362
- DebugSession.prototype.render = function () {
1363
- var label = '';
1364
- var child = this.getSingleChildSession();
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 = ": " + child.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
- DebugSession.prototype.getElements = function () {
1374
- var child;
1375
- return __generator(this, function (_a) {
1376
- switch (_a.label) {
1377
- case 0:
1378
- child = this.getSingleChildSession();
1379
- if (!(child && child.configuration.compact)) return [3 /*break*/, 2];
1380
- return [5 /*yield**/, __values(child.getElements())];
1381
- case 1:
1382
- // Inlines the elements of the child debug session
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
- var child = this.childSessions.values().next().value;
712
+ const child = this.childSessions.values().next().value;
1397
713
  return child;
1398
714
  }
1399
715
  return undefined;
1400
- };
1401
- DebugSession.prototype.handleContinued = function (_a) {
1402
- var _b = _a.body, allThreadsContinued = _b.allThreadsContinued, threadId = _b.threadId;
1403
- return __awaiter(this, void 0, void 0, function () {
1404
- return __generator(this, function (_c) {
1405
- if (allThreadsContinued !== false) {
1406
- this.clearThreads();
1407
- }
1408
- else {
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
- DebugSession.prototype.handleThread = function (_a) {
1439
- var _b = _a.body, reason = _b.reason, threadId = _b.threadId;
1440
- return __awaiter(this, void 0, void 0, function () {
1441
- return __generator(this, function (_c) {
1442
- if (reason === 'started') {
1443
- this.scheduleUpdateThreads();
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
- DebugSession.prototype.registerDebugContributions = function (configType, connection) {
1454
- var e_21, _a;
1455
- try {
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
- catch (e_21_1) { e_21 = { error: e_21_1 }; }
1462
- finally {
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
- return DebugSession;
1471
- }());
748
+ }
1472
749
  exports.DebugSession = DebugSession;
1473
750
  //# sourceMappingURL=debug-session.js.map