@theia/debug 1.17.0-next.ff9e0507 → 1.18.0-next.04e2816d
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-adapter-contribution-registry.js","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"debug-adapter-contribution-registry.js","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,17 +14,6 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
17
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
29
18
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
30
19
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -41,34 +30,30 @@ exports.DebugAdapterSessionFactoryImpl = exports.LaunchBasedDebugAdapterFactory
|
|
|
41
30
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
42
31
|
*--------------------------------------------------------------------------------------------*/
|
|
43
32
|
// Some entities copied and modified from https://github.com/Microsoft/vscode-debugadapter-node/blob/master/adapter/src/protocol.ts
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
const net = require("net");
|
|
34
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
35
|
+
const node_1 = require("@theia/process/lib/node");
|
|
36
|
+
const debug_adapter_session_1 = require("./debug-adapter-session");
|
|
37
|
+
const application_package_1 = require("@theia/core/shared/@theia/application-package");
|
|
49
38
|
/**
|
|
50
39
|
* [DebugAdapterFactory](#DebugAdapterFactory) implementation based on
|
|
51
40
|
* launching the debug adapter as separate process.
|
|
52
41
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
LaunchBasedDebugAdapterFactory.prototype.start = function (executable) {
|
|
57
|
-
var process = this.childProcess(executable);
|
|
42
|
+
let LaunchBasedDebugAdapterFactory = class LaunchBasedDebugAdapterFactory {
|
|
43
|
+
start(executable) {
|
|
44
|
+
const process = this.childProcess(executable);
|
|
58
45
|
// FIXME: propagate onError + onExit
|
|
59
46
|
return {
|
|
60
47
|
input: process.inputStream,
|
|
61
48
|
output: process.outputStream,
|
|
62
|
-
dispose:
|
|
49
|
+
dispose: () => process.kill()
|
|
63
50
|
};
|
|
64
|
-
}
|
|
65
|
-
|
|
51
|
+
}
|
|
52
|
+
childProcess(executable) {
|
|
66
53
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
};
|
|
70
|
-
var processOptions = __assign({}, executable);
|
|
71
|
-
var options = { stdio: ['pipe', 'pipe', 2] };
|
|
54
|
+
const isForkOptions = (forkOptions) => !!forkOptions && !!forkOptions.modulePath;
|
|
55
|
+
const processOptions = Object.assign({}, executable);
|
|
56
|
+
const options = { stdio: ['pipe', 'pipe', 2] };
|
|
72
57
|
if (isForkOptions(processOptions)) {
|
|
73
58
|
options.stdio.push('ipc');
|
|
74
59
|
options.env = application_package_1.environment.electron.runAsNodeEnv();
|
|
@@ -76,43 +61,39 @@ var LaunchBasedDebugAdapterFactory = /** @class */ (function () {
|
|
|
76
61
|
}
|
|
77
62
|
processOptions.options = options;
|
|
78
63
|
return this.processFactory(processOptions);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
64
|
+
}
|
|
65
|
+
connect(debugServerPort) {
|
|
66
|
+
const socket = net.createConnection(debugServerPort);
|
|
82
67
|
// FIXME: propagate socket.on('error', ...) + socket.on('close', ...)
|
|
83
68
|
return {
|
|
84
69
|
input: socket,
|
|
85
70
|
output: socket,
|
|
86
|
-
dispose:
|
|
71
|
+
dispose: () => socket.end()
|
|
87
72
|
};
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}());
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
__decorate([
|
|
76
|
+
inversify_1.inject(node_1.RawProcessFactory),
|
|
77
|
+
__metadata("design:type", Function)
|
|
78
|
+
], LaunchBasedDebugAdapterFactory.prototype, "processFactory", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
inversify_1.inject(node_1.ProcessManager),
|
|
81
|
+
__metadata("design:type", node_1.ProcessManager)
|
|
82
|
+
], LaunchBasedDebugAdapterFactory.prototype, "processManager", void 0);
|
|
83
|
+
LaunchBasedDebugAdapterFactory = __decorate([
|
|
84
|
+
inversify_1.injectable()
|
|
85
|
+
], LaunchBasedDebugAdapterFactory);
|
|
102
86
|
exports.LaunchBasedDebugAdapterFactory = LaunchBasedDebugAdapterFactory;
|
|
103
87
|
/**
|
|
104
88
|
* [DebugAdapterSessionFactory](#DebugAdapterSessionFactory) implementation.
|
|
105
89
|
*/
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
DebugAdapterSessionFactoryImpl.prototype.get = function (sessionId, communicationProvider) {
|
|
90
|
+
let DebugAdapterSessionFactoryImpl = class DebugAdapterSessionFactoryImpl {
|
|
91
|
+
get(sessionId, communicationProvider) {
|
|
110
92
|
return new debug_adapter_session_1.DebugAdapterSessionImpl(sessionId, communicationProvider);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}());
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
DebugAdapterSessionFactoryImpl = __decorate([
|
|
96
|
+
inversify_1.injectable()
|
|
97
|
+
], DebugAdapterSessionFactoryImpl);
|
|
117
98
|
exports.DebugAdapterSessionFactoryImpl = DebugAdapterSessionFactoryImpl;
|
|
118
99
|
//# sourceMappingURL=debug-adapter-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-factory.js","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"debug-adapter-factory.js","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF;;;gGAGgG;AAEhG,mIAAmI;AAEnI,2BAA2B;AAC3B,4DAAkE;AAClE,kDAMiC;AASjC,mEAAkE;AAClE,uFAA4E;AAE5E;;;GAGG;AAEH,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAMvC,KAAK,CAAC,UAAkC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE9C,oCAAoC;QACpC,OAAO;YACH,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC;IACN,CAAC;IAEO,YAAY,CAAC,UAAkC;QACnD,8DAA8D;QAC9D,MAAM,aAAa,GAAG,CAAC,WAAiC,EAAiC,EAAE,CACvF,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;QAE9C,MAAM,cAAc,qBAA4C,UAAU,CAAE,CAAC;QAC7E,MAAM,OAAO,GAAsE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;QAElH,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,GAAG,iCAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO,CAAC,QAAQ,GAAI,UAAyC,CAAC,QAAQ,CAAC;SAC1E;QAED,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,eAAuB;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACrD,qEAAqE;QACrE,OAAO;YACH,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;SAC9B,CAAC;IACN,CAAC;CACJ,CAAA;AA1CG;IADC,kBAAM,CAAC,wBAAiB,CAAC;;sEAC2B;AAErD;IADC,kBAAM,CAAC,qBAAc,CAAC;8BACY,qBAAc;sEAAC;AAJzC,8BAA8B;IAD1C,sBAAU,EAAE;GACA,8BAA8B,CA4C1C;AA5CY,wEAA8B;AA8C3C;;GAEG;AAEH,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAEvC,GAAG,CAAC,SAAiB,EAAE,qBAA4C;QAC/D,OAAO,IAAI,+CAAuB,CAC9B,SAAS,EACT,qBAAqB,CACxB,CAAC;IACN,CAAC;CACJ,CAAA;AARY,8BAA8B;IAD1C,sBAAU,EAAE;GACA,8BAA8B,CAQ1C;AARY,wEAA8B"}
|
|
@@ -23,139 +23,91 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
23
23
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
24
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
25
|
};
|
|
26
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
-
function step(op) {
|
|
40
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
-
while (_) try {
|
|
42
|
-
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;
|
|
43
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
-
switch (op[0]) {
|
|
45
|
-
case 0: case 1: t = op; break;
|
|
46
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
-
default:
|
|
50
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
-
if (t[2]) _.ops.pop();
|
|
55
|
-
_.trys.pop(); continue;
|
|
56
|
-
}
|
|
57
|
-
op = body.call(thisArg, _);
|
|
58
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
27
|
exports.DebugAdapterSessionManager = void 0;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
28
|
+
const coreutils_1 = require("@theia/core/shared/@phosphor/coreutils");
|
|
29
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
30
|
+
const debug_service_1 = require("../common/debug-service");
|
|
31
|
+
const debug_model_1 = require("../common/debug-model");
|
|
68
32
|
/**
|
|
69
33
|
* Debug adapter session manager.
|
|
70
34
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
35
|
+
let DebugAdapterSessionManager = class DebugAdapterSessionManager {
|
|
36
|
+
constructor() {
|
|
73
37
|
this.sessions = new Map();
|
|
74
38
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var id = _a.id;
|
|
79
|
-
var session = _this.find(id);
|
|
39
|
+
configure(service) {
|
|
40
|
+
service.wsChannel(`${debug_service_1.DebugAdapterPath}/:id`, ({ id }, channel) => {
|
|
41
|
+
const session = this.find(id);
|
|
80
42
|
if (!session) {
|
|
81
43
|
channel.close();
|
|
82
44
|
return;
|
|
83
45
|
}
|
|
84
|
-
channel.onClose(
|
|
46
|
+
channel.onClose(() => session.stop());
|
|
85
47
|
session.start(channel);
|
|
86
48
|
});
|
|
87
|
-
}
|
|
49
|
+
}
|
|
88
50
|
/**
|
|
89
51
|
* Creates a new [debug adapter session](#DebugAdapterSession).
|
|
90
52
|
* @param config The [DebugConfiguration](#DebugConfiguration)
|
|
91
53
|
* @returns The debug adapter session
|
|
92
54
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (parentSession) {
|
|
115
|
-
session.parentSession = parentSession;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return [2 /*return*/, session];
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
};
|
|
55
|
+
async create(config, registry) {
|
|
56
|
+
const sessionId = coreutils_1.UUID.uuid4();
|
|
57
|
+
let communicationProvider;
|
|
58
|
+
if ('debugServer' in config) {
|
|
59
|
+
communicationProvider = this.debugAdapterFactory.connect(config.debugServer);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const executable = await registry.provideDebugAdapterExecutable(config);
|
|
63
|
+
communicationProvider = this.debugAdapterFactory.start(executable);
|
|
64
|
+
}
|
|
65
|
+
const sessionFactory = registry.debugAdapterSessionFactory(config.type) || this.debugAdapterSessionFactory;
|
|
66
|
+
const session = sessionFactory.get(sessionId, communicationProvider);
|
|
67
|
+
this.sessions.set(sessionId, session);
|
|
68
|
+
if (config.parentSession) {
|
|
69
|
+
const parentSession = this.sessions.get(config.parentSession.id);
|
|
70
|
+
if (parentSession) {
|
|
71
|
+
session.parentSession = parentSession;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return session;
|
|
75
|
+
}
|
|
123
76
|
/**
|
|
124
77
|
* Removes [debug adapter session](#DebugAdapterSession) from the list of the instantiated sessions.
|
|
125
78
|
* Is invoked when session is terminated and isn't needed anymore.
|
|
126
79
|
* @param sessionId The session identifier
|
|
127
80
|
*/
|
|
128
|
-
|
|
81
|
+
remove(sessionId) {
|
|
129
82
|
this.sessions.delete(sessionId);
|
|
130
|
-
}
|
|
83
|
+
}
|
|
131
84
|
/**
|
|
132
85
|
* Finds the debug adapter session by its id.
|
|
133
86
|
* Returning the value 'undefined' means the session isn't found.
|
|
134
87
|
* @param sessionId The session identifier
|
|
135
88
|
* @returns The debug adapter session
|
|
136
89
|
*/
|
|
137
|
-
|
|
90
|
+
find(sessionId) {
|
|
138
91
|
return this.sessions.get(sessionId);
|
|
139
|
-
}
|
|
92
|
+
}
|
|
140
93
|
/**
|
|
141
94
|
* Returns all instantiated debug adapter sessions.
|
|
142
95
|
* @returns An array of debug adapter sessions
|
|
143
96
|
*/
|
|
144
|
-
|
|
97
|
+
getAll() {
|
|
145
98
|
return this.sessions.values();
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}());
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
__decorate([
|
|
102
|
+
inversify_1.inject(debug_model_1.DebugAdapterSessionFactory),
|
|
103
|
+
__metadata("design:type", Object)
|
|
104
|
+
], DebugAdapterSessionManager.prototype, "debugAdapterSessionFactory", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
inversify_1.inject(debug_model_1.DebugAdapterFactory),
|
|
107
|
+
__metadata("design:type", Object)
|
|
108
|
+
], DebugAdapterSessionManager.prototype, "debugAdapterFactory", void 0);
|
|
109
|
+
DebugAdapterSessionManager = __decorate([
|
|
110
|
+
inversify_1.injectable()
|
|
111
|
+
], DebugAdapterSessionManager);
|
|
160
112
|
exports.DebugAdapterSessionManager = DebugAdapterSessionManager;
|
|
161
113
|
//# sourceMappingURL=debug-adapter-session-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session-manager.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"debug-adapter-session-manager.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,sEAA8D;AAC9D,4DAAkE;AAGlE,2DAA2D;AAE3D,uDAA6G;AAG7G;;GAEG;AAEH,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IAAvC;QACuB,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IA4EzE,CAAC;IApEG,SAAS,CAAC,OAAyB;QAC/B,OAAO,CAAC,SAAS,CAAC,GAAG,gCAAgB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAkB,EAAE,OAAO,EAAE,EAAE;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;aACV;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B,EAAE,QAA0C;QAC/E,MAAM,SAAS,GAAG,gBAAI,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,qBAAqB,CAAC;QAC1B,IAAI,aAAa,IAAI,MAAM,EAAE;YACzB,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAChF;aAAM;YACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YACxE,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtE;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC3G,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,aAAa,EAAE;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,aAAa,EAAE;gBACf,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;aACzC;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAiB;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAiB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;CACJ,CAAA;AAzEG;IADC,kBAAM,CAAC,wCAA0B,CAAC;;8EACuC;AAG1E;IADC,kBAAM,CAAC,iCAAmB,CAAC;;uEACgC;AAPnD,0BAA0B;IADtC,sBAAU,EAAE;GACA,0BAA0B,CA6EtC;AA7EY,gEAA0B"}
|
|
@@ -14,51 +14,14 @@
|
|
|
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
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
18
|
exports.DebugAdapterSessionImpl = void 0;
|
|
55
|
-
|
|
19
|
+
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
56
20
|
/**
|
|
57
21
|
* [DebugAdapterSession](#DebugAdapterSession) implementation.
|
|
58
22
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
var _this = this;
|
|
23
|
+
class DebugAdapterSessionImpl {
|
|
24
|
+
constructor(id, communicationProvider) {
|
|
62
25
|
this.id = id;
|
|
63
26
|
this.communicationProvider = communicationProvider;
|
|
64
27
|
this.toDispose = new disposable_1.DisposableCollection();
|
|
@@ -66,54 +29,48 @@ var DebugAdapterSessionImpl = /** @class */ (function () {
|
|
|
66
29
|
this.buffer = Buffer.alloc(0);
|
|
67
30
|
this.toDispose.pushAll([
|
|
68
31
|
this.communicationProvider,
|
|
69
|
-
disposable_1.Disposable.create(
|
|
70
|
-
disposable_1.Disposable.create(
|
|
32
|
+
disposable_1.Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'disconnect' }))),
|
|
33
|
+
disposable_1.Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'terminate' })))
|
|
71
34
|
]);
|
|
72
35
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return [2 /*return*/];
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
DebugAdapterSessionImpl.prototype.onDebugAdapterExit = function (exitCode, signal) {
|
|
92
|
-
var event = {
|
|
36
|
+
async start(channel) {
|
|
37
|
+
if (this.channel) {
|
|
38
|
+
throw new Error('The session has already been started, id: ' + this.id);
|
|
39
|
+
}
|
|
40
|
+
this.channel = channel;
|
|
41
|
+
this.channel.onMessage((message) => this.write(message));
|
|
42
|
+
this.channel.onClose(() => this.channel = undefined);
|
|
43
|
+
this.communicationProvider.output.on('data', (data) => this.handleData(data));
|
|
44
|
+
this.communicationProvider.output.on('close', () => this.onDebugAdapterExit(1, undefined)); // FIXME pass a proper exit code
|
|
45
|
+
this.communicationProvider.output.on('error', error => this.onDebugAdapterError(error));
|
|
46
|
+
this.communicationProvider.input.on('error', error => this.onDebugAdapterError(error));
|
|
47
|
+
}
|
|
48
|
+
onDebugAdapterExit(exitCode, signal) {
|
|
49
|
+
const event = {
|
|
93
50
|
type: 'event',
|
|
94
51
|
event: 'exited',
|
|
95
52
|
seq: -1,
|
|
96
53
|
body: {
|
|
97
|
-
exitCode
|
|
54
|
+
exitCode
|
|
98
55
|
}
|
|
99
56
|
};
|
|
100
57
|
this.send(JSON.stringify(event));
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
58
|
+
}
|
|
59
|
+
onDebugAdapterError(error) {
|
|
60
|
+
const event = {
|
|
104
61
|
type: 'event',
|
|
105
62
|
event: 'error',
|
|
106
63
|
seq: -1,
|
|
107
64
|
body: error
|
|
108
65
|
};
|
|
109
66
|
this.send(JSON.stringify(event));
|
|
110
|
-
}
|
|
111
|
-
|
|
67
|
+
}
|
|
68
|
+
handleData(data) {
|
|
112
69
|
this.buffer = Buffer.concat([this.buffer, data]);
|
|
113
70
|
while (true) {
|
|
114
71
|
if (this.contentLength >= 0) {
|
|
115
72
|
if (this.buffer.length >= this.contentLength) {
|
|
116
|
-
|
|
73
|
+
const message = this.buffer.toString('utf8', 0, this.contentLength);
|
|
117
74
|
this.buffer = this.buffer.slice(this.contentLength);
|
|
118
75
|
this.contentLength = -1;
|
|
119
76
|
if (message.length > 0) {
|
|
@@ -123,19 +80,19 @@ var DebugAdapterSessionImpl = /** @class */ (function () {
|
|
|
123
80
|
}
|
|
124
81
|
}
|
|
125
82
|
else {
|
|
126
|
-
|
|
83
|
+
let idx = this.buffer.indexOf(DebugAdapterSessionImpl.CONTENT_LENGTH);
|
|
127
84
|
if (idx > 0) {
|
|
128
85
|
// log unrecognized output
|
|
129
|
-
|
|
86
|
+
const output = this.buffer.slice(0, idx);
|
|
130
87
|
console.log(output.toString('utf-8'));
|
|
131
88
|
this.buffer = this.buffer.slice(idx);
|
|
132
89
|
}
|
|
133
90
|
idx = this.buffer.indexOf(DebugAdapterSessionImpl.TWO_CRLF);
|
|
134
91
|
if (idx !== -1) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
for (
|
|
138
|
-
|
|
92
|
+
const header = this.buffer.toString('utf8', 0, idx);
|
|
93
|
+
const lines = header.split('\r\n');
|
|
94
|
+
for (let i = 0; i < lines.length; i++) {
|
|
95
|
+
const pair = lines[i].split(/: +/);
|
|
139
96
|
if (pair[0] === DebugAdapterSessionImpl.CONTENT_LENGTH) {
|
|
140
97
|
this.contentLength = +pair[1];
|
|
141
98
|
}
|
|
@@ -146,26 +103,20 @@ var DebugAdapterSessionImpl = /** @class */ (function () {
|
|
|
146
103
|
}
|
|
147
104
|
break;
|
|
148
105
|
}
|
|
149
|
-
}
|
|
150
|
-
|
|
106
|
+
}
|
|
107
|
+
send(message) {
|
|
151
108
|
if (this.channel) {
|
|
152
109
|
this.channel.send(message);
|
|
153
110
|
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
this.communicationProvider.input.write(
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return [2 /*return*/];
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
DebugAdapterSessionImpl.TWO_CRLF = '\r\n\r\n';
|
|
167
|
-
DebugAdapterSessionImpl.CONTENT_LENGTH = 'Content-Length';
|
|
168
|
-
return DebugAdapterSessionImpl;
|
|
169
|
-
}());
|
|
111
|
+
}
|
|
112
|
+
write(message) {
|
|
113
|
+
this.communicationProvider.input.write(`Content-Length: ${Buffer.byteLength(message, 'utf8')}\r\n\r\n${message}`, 'utf8');
|
|
114
|
+
}
|
|
115
|
+
async stop() {
|
|
116
|
+
this.toDispose.dispose();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
170
119
|
exports.DebugAdapterSessionImpl = DebugAdapterSessionImpl;
|
|
120
|
+
DebugAdapterSessionImpl.TWO_CRLF = '\r\n\r\n';
|
|
121
|
+
DebugAdapterSessionImpl.CONTENT_LENGTH = 'Content-Length';
|
|
171
122
|
//# sourceMappingURL=debug-adapter-session.js.map
|