@theia/debug 1.45.0 → 1.46.0-next.72
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/README.md +62 -62
- package/lib/browser/breakpoint/breakpoint-manager.d.ts +70 -70
- package/lib/browser/breakpoint/breakpoint-manager.js +328 -328
- package/lib/browser/breakpoint/breakpoint-marker.d.ts +41 -41
- package/lib/browser/breakpoint/breakpoint-marker.js +87 -87
- package/lib/browser/console/debug-console-contribution.d.ts +40 -40
- package/lib/browser/console/debug-console-contribution.js +231 -231
- package/lib/browser/console/debug-console-items.d.ts +93 -93
- package/lib/browser/console/debug-console-items.js +319 -319
- package/lib/browser/console/debug-console-session.d.ts +31 -31
- package/lib/browser/console/debug-console-session.js +199 -199
- package/lib/browser/debug-call-stack-item-type-key.d.ts +3 -3
- package/lib/browser/debug-call-stack-item-type-key.js +19 -19
- package/lib/browser/debug-configuration-manager.d.ts +102 -102
- package/lib/browser/debug-configuration-manager.js +552 -552
- package/lib/browser/debug-configuration-model.d.ts +29 -29
- package/lib/browser/debug-configuration-model.js +79 -79
- package/lib/browser/debug-contribution.d.ts +22 -22
- package/lib/browser/debug-contribution.js +19 -19
- package/lib/browser/debug-frontend-application-contribution.d.ts +222 -222
- package/lib/browser/debug-frontend-application-contribution.js +1404 -1404
- package/lib/browser/debug-frontend-module.d.ts +4 -4
- package/lib/browser/debug-frontend-module.d.ts.map +1 -1
- package/lib/browser/debug-frontend-module.js +105 -104
- package/lib/browser/debug-frontend-module.js.map +1 -1
- package/lib/browser/debug-package.spec.js +18 -18
- package/lib/browser/debug-preferences.d.ts +17 -17
- package/lib/browser/debug-preferences.js +89 -89
- package/lib/browser/debug-prefix-configuration.d.ts +51 -51
- package/lib/browser/debug-prefix-configuration.js +208 -208
- package/lib/browser/debug-resource.d.ts +14 -14
- package/lib/browser/debug-resource.js +65 -65
- package/lib/browser/debug-schema-updater.d.ts +15 -15
- package/lib/browser/debug-schema-updater.js +168 -168
- package/lib/browser/debug-session-connection.d.ts +110 -110
- package/lib/browser/debug-session-connection.js +258 -258
- package/lib/browser/debug-session-contribution.d.ts +73 -73
- package/lib/browser/debug-session-contribution.js +145 -145
- package/lib/browser/debug-session-manager.d.ts +137 -137
- package/lib/browser/debug-session-manager.js +599 -599
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session-options.d.ts +48 -48
- package/lib/browser/debug-session-options.js +85 -85
- package/lib/browser/debug-session.d.ts +178 -178
- package/lib/browser/debug-session.js +871 -871
- package/lib/browser/debug-tab-bar-decorator.d.ts +16 -16
- package/lib/browser/debug-tab-bar-decorator.js +70 -70
- package/lib/browser/debug-watch-manager.d.ts +21 -21
- package/lib/browser/debug-watch-manager.js +93 -93
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts +6 -6
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js +38 -38
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts +19 -19
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js +110 -110
- package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts +24 -24
- package/lib/browser/disassembly-view/disassembly-view-contribution.js +131 -131
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts +38 -38
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js +222 -222
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js.map +1 -1
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts +15 -15
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.js +38 -38
- package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts +37 -37
- package/lib/browser/disassembly-view/disassembly-view-utilities.js +17 -17
- package/lib/browser/disassembly-view/disassembly-view-widget.d.ts +60 -60
- package/lib/browser/disassembly-view/disassembly-view-widget.js +453 -452
- package/lib/browser/disassembly-view/disassembly-view-widget.js.map +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.d.ts +53 -53
- package/lib/browser/editor/debug-breakpoint-widget.js +261 -261
- package/lib/browser/editor/debug-editor-model.d.ts +91 -93
- package/lib/browser/editor/debug-editor-model.d.ts.map +1 -1
- package/lib/browser/editor/debug-editor-model.js +515 -516
- package/lib/browser/editor/debug-editor-model.js.map +1 -1
- package/lib/browser/editor/debug-editor-service.d.ts +35 -35
- package/lib/browser/editor/debug-editor-service.js +202 -202
- package/lib/browser/editor/debug-editor.d.ts +3 -3
- package/lib/browser/editor/debug-editor.js +19 -19
- package/lib/browser/editor/debug-exception-widget.d.ts +29 -29
- package/lib/browser/editor/debug-exception-widget.js +114 -114
- package/lib/browser/editor/debug-expression-provider.d.ts +11 -11
- package/lib/browser/editor/debug-expression-provider.js +81 -81
- package/lib/browser/editor/debug-hover-source.d.ts +18 -18
- package/lib/browser/editor/debug-hover-source.js +117 -117
- package/lib/browser/editor/debug-hover-widget.d.ts +47 -47
- package/lib/browser/editor/debug-hover-widget.js +276 -276
- package/lib/browser/editor/debug-inline-value-decorator.d.ts +19 -21
- package/lib/browser/editor/debug-inline-value-decorator.d.ts.map +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +333 -337
- package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
- package/lib/browser/model/debug-breakpoint.d.ts +47 -47
- package/lib/browser/model/debug-breakpoint.js +109 -109
- package/lib/browser/model/debug-function-breakpoint.d.ts +18 -18
- package/lib/browser/model/debug-function-breakpoint.js +92 -92
- package/lib/browser/model/debug-instruction-breakpoint.d.ts +14 -14
- package/lib/browser/model/debug-instruction-breakpoint.js +65 -65
- package/lib/browser/model/debug-source-breakpoint.d.ts +37 -37
- package/lib/browser/model/debug-source-breakpoint.js +217 -217
- package/lib/browser/model/debug-source.d.ts +24 -24
- package/lib/browser/model/debug-source.js +80 -80
- package/lib/browser/model/debug-stack-frame.d.ts +41 -41
- package/lib/browser/model/debug-stack-frame.js +150 -150
- package/lib/browser/model/debug-thread.d.ts +62 -62
- package/lib/browser/model/debug-thread.js +237 -237
- package/lib/browser/preferences/launch-preferences.d.ts +4 -4
- package/lib/browser/preferences/launch-preferences.js +38 -38
- package/lib/browser/view/debug-action.d.ts +16 -16
- package/lib/browser/view/debug-action.js +43 -43
- package/lib/browser/view/debug-breakpoints-source.d.ts +9 -9
- package/lib/browser/view/debug-breakpoints-source.js +70 -70
- package/lib/browser/view/debug-breakpoints-widget.d.ts +22 -22
- package/lib/browser/view/debug-breakpoints-widget.js +87 -87
- package/lib/browser/view/debug-configuration-select.d.ts +64 -64
- package/lib/browser/view/debug-configuration-select.js +216 -216
- package/lib/browser/view/debug-configuration-widget.d.ts +30 -30
- package/lib/browser/view/debug-configuration-widget.js +135 -135
- package/lib/browser/view/debug-exception-breakpoint.d.ts +14 -14
- package/lib/browser/view/debug-exception-breakpoint.js +61 -61
- package/lib/browser/view/debug-session-widget.d.ts +28 -28
- package/lib/browser/view/debug-session-widget.js +134 -134
- package/lib/browser/view/debug-stack-frames-source.d.ts +17 -17
- package/lib/browser/view/debug-stack-frames-source.js +89 -89
- package/lib/browser/view/debug-stack-frames-widget.d.ts +24 -24
- package/lib/browser/view/debug-stack-frames-widget.js +154 -154
- package/lib/browser/view/debug-threads-source.d.ts +8 -8
- package/lib/browser/view/debug-threads-source.js +63 -63
- package/lib/browser/view/debug-threads-widget.d.ts +26 -26
- package/lib/browser/view/debug-threads-widget.js +145 -145
- package/lib/browser/view/debug-toolbar-widget.d.ts +34 -34
- package/lib/browser/view/debug-toolbar-widget.js +156 -156
- package/lib/browser/view/debug-variables-source.d.ts +9 -9
- package/lib/browser/view/debug-variables-source.js +60 -60
- package/lib/browser/view/debug-variables-widget.d.ts +16 -16
- package/lib/browser/view/debug-variables-widget.js +78 -78
- package/lib/browser/view/debug-view-model.d.ts +51 -51
- package/lib/browser/view/debug-view-model.js +220 -220
- package/lib/browser/view/debug-watch-expression.d.ts +30 -30
- package/lib/browser/view/debug-watch-expression.js +73 -73
- package/lib/browser/view/debug-watch-source.d.ts +9 -9
- package/lib/browser/view/debug-watch-source.js +58 -58
- package/lib/browser/view/debug-watch-widget.d.ts +16 -16
- package/lib/browser/view/debug-watch-widget.js +78 -78
- package/lib/browser/view/debug-widget.d.ts +23 -23
- package/lib/browser/view/debug-widget.js +108 -108
- package/lib/common/debug-adapter-contribution-registry.d.ts +59 -59
- package/lib/common/debug-adapter-contribution-registry.js +212 -212
- package/lib/common/debug-adapter-session.d.ts +18 -18
- package/lib/common/debug-adapter-session.js +78 -78
- package/lib/common/debug-common.d.ts +1 -1
- package/lib/common/debug-common.js +29 -29
- package/lib/common/debug-compound.d.ts +14 -14
- package/lib/common/debug-compound.js +27 -27
- package/lib/common/debug-configuration.d.ts +70 -70
- package/lib/common/debug-configuration.js +31 -31
- package/lib/common/debug-model.d.ts +152 -152
- package/lib/common/debug-model.js +35 -35
- package/lib/common/debug-service.d.ts +123 -123
- package/lib/common/debug-service.js +66 -66
- package/lib/common/debug-uri-utils.d.ts +23 -23
- package/lib/common/debug-uri-utils.js +26 -26
- package/lib/common/inline-debug-adapter.d.ts +18 -18
- package/lib/common/inline-debug-adapter.js +44 -44
- package/lib/node/debug-adapter-factory.d.ts +19 -19
- package/lib/node/debug-adapter-factory.js +96 -96
- package/lib/node/debug-adapter-session-manager.d.ts +37 -37
- package/lib/node/debug-adapter-session-manager.js +111 -111
- package/lib/node/debug-backend-module.d.ts +3 -3
- package/lib/node/debug-backend-module.js +41 -41
- package/lib/node/debug-service-impl.d.ts +30 -30
- package/lib/node/debug-service-impl.js +124 -124
- package/lib/node/stream-debug-adapter.d.ts +36 -36
- package/lib/node/stream-debug-adapter.js +112 -112
- package/package.json +16 -16
- package/src/browser/breakpoint/breakpoint-manager.ts +369 -369
- package/src/browser/breakpoint/breakpoint-marker.ts +104 -104
- package/src/browser/console/debug-console-contribution.tsx +240 -240
- package/src/browser/console/debug-console-items.tsx +384 -384
- package/src/browser/console/debug-console-session.ts +205 -205
- package/src/browser/debug-call-stack-item-type-key.ts +20 -20
- package/src/browser/debug-configuration-manager.ts +591 -591
- package/src/browser/debug-configuration-model.ts +100 -100
- package/src/browser/debug-contribution.ts +43 -43
- package/src/browser/debug-frontend-application-contribution.ts +1551 -1551
- package/src/browser/debug-frontend-module.ts +133 -132
- package/src/browser/debug-package.spec.ts +20 -20
- package/src/browser/debug-preferences.ts +98 -98
- package/src/browser/debug-prefix-configuration.ts +195 -195
- package/src/browser/debug-resource.ts +59 -59
- package/src/browser/debug-schema-updater.ts +149 -149
- package/src/browser/debug-session-connection.ts +357 -357
- package/src/browser/debug-session-contribution.ts +150 -150
- package/src/browser/debug-session-manager.ts +682 -682
- package/src/browser/debug-session-options.ts +114 -114
- package/src/browser/debug-session.tsx +947 -947
- package/src/browser/debug-tab-bar-decorator.ts +57 -57
- package/src/browser/debug-watch-manager.ts +93 -93
- package/src/browser/disassembly-view/disassembly-view-accessibility-provider.ts +43 -43
- package/src/browser/disassembly-view/disassembly-view-breakpoint-renderer.ts +119 -119
- package/src/browser/disassembly-view/disassembly-view-contribution.ts +109 -109
- package/src/browser/disassembly-view/disassembly-view-instruction-renderer.ts +245 -245
- package/src/browser/disassembly-view/disassembly-view-table-delegate.ts +39 -39
- package/src/browser/disassembly-view/disassembly-view-utilities.ts +55 -55
- package/src/browser/disassembly-view/disassembly-view-widget.ts +463 -463
- package/src/browser/editor/debug-breakpoint-widget.tsx +293 -293
- package/src/browser/editor/debug-editor-model.ts +529 -528
- package/src/browser/editor/debug-editor-service.ts +192 -192
- package/src/browser/editor/debug-editor.ts +20 -20
- package/src/browser/editor/debug-exception-widget.tsx +122 -122
- package/src/browser/editor/debug-expression-provider.ts +78 -78
- package/src/browser/editor/debug-hover-source.tsx +105 -105
- package/src/browser/editor/debug-hover-widget.ts +298 -298
- package/src/browser/editor/debug-inline-value-decorator.ts +373 -377
- package/src/browser/model/debug-breakpoint.tsx +151 -151
- package/src/browser/model/debug-function-breakpoint.tsx +101 -101
- package/src/browser/model/debug-instruction-breakpoint.tsx +68 -68
- package/src/browser/model/debug-source-breakpoint.tsx +237 -237
- package/src/browser/model/debug-source.ts +93 -93
- package/src/browser/model/debug-stack-frame.tsx +170 -170
- package/src/browser/model/debug-thread.tsx +285 -285
- package/src/browser/preferences/launch-preferences.ts +38 -38
- package/src/browser/style/index.css +453 -453
- package/src/browser/view/debug-action.tsx +57 -57
- package/src/browser/view/debug-breakpoints-source.tsx +53 -53
- package/src/browser/view/debug-breakpoints-widget.ts +71 -71
- package/src/browser/view/debug-configuration-select.tsx +269 -269
- package/src/browser/view/debug-configuration-widget.tsx +121 -121
- package/src/browser/view/debug-exception-breakpoint.tsx +68 -68
- package/src/browser/view/debug-session-widget.ts +124 -124
- package/src/browser/view/debug-stack-frames-source.tsx +75 -75
- package/src/browser/view/debug-stack-frames-widget.ts +135 -135
- package/src/browser/view/debug-threads-source.tsx +48 -48
- package/src/browser/view/debug-threads-widget.ts +125 -125
- package/src/browser/view/debug-toolbar-widget.tsx +145 -145
- package/src/browser/view/debug-variables-source.ts +43 -43
- package/src/browser/view/debug-variables-widget.ts +61 -61
- package/src/browser/view/debug-view-model.ts +230 -230
- package/src/browser/view/debug-watch-expression.tsx +88 -88
- package/src/browser/view/debug-watch-source.ts +41 -41
- package/src/browser/view/debug-watch-widget.ts +61 -61
- package/src/browser/view/debug-widget.ts +97 -97
- package/src/common/debug-adapter-contribution-registry.ts +206 -206
- package/src/common/debug-adapter-session.ts +102 -102
- package/src/common/debug-common.ts +19 -19
- package/src/common/debug-compound.ts +33 -33
- package/src/common/debug-configuration.ts +108 -108
- package/src/common/debug-model.ts +200 -200
- package/src/common/debug-service.ts +184 -184
- package/src/common/debug-uri-utils.ts +24 -24
- package/src/common/inline-debug-adapter.ts +47 -47
- package/src/node/debug-adapter-factory.ts +107 -107
- package/src/node/debug-adapter-session-manager.ts +106 -106
- package/src/node/debug-backend-module.ts +57 -57
- package/src/node/debug-service-impl.ts +119 -119
- package/src/node/stream-debug-adapter.ts +126 -126
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.DebugInstructionBreakpoint = void 0;
|
|
19
|
-
const core_1 = require("@theia/core");
|
|
20
|
-
const React = require("@theia/core/shared/react");
|
|
21
|
-
const breakpoint_manager_1 = require("../breakpoint/breakpoint-manager");
|
|
22
|
-
const debug_breakpoint_1 = require("./debug-breakpoint");
|
|
23
|
-
class DebugInstructionBreakpoint extends debug_breakpoint_1.DebugBreakpoint {
|
|
24
|
-
constructor(origin, options) {
|
|
25
|
-
super(breakpoint_manager_1.BreakpointManager.INSTRUCTION_URI, options);
|
|
26
|
-
this.origin = origin;
|
|
27
|
-
}
|
|
28
|
-
setEnabled(enabled) {
|
|
29
|
-
if (enabled !== this.origin.enabled) {
|
|
30
|
-
this.breakpoints.updateInstructionBreakpoint(this.origin.id, { enabled });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
isEnabled() {
|
|
34
|
-
return super.isEnabled() && this.isSupported();
|
|
35
|
-
}
|
|
36
|
-
isSupported() {
|
|
37
|
-
var _a;
|
|
38
|
-
return Boolean((_a = this.session) === null || _a === void 0 ? void 0 : _a.capabilities.supportsInstructionBreakpoints);
|
|
39
|
-
}
|
|
40
|
-
remove() {
|
|
41
|
-
this.breakpoints.removeInstructionBreakpoint(this.origin.instructionReference);
|
|
42
|
-
}
|
|
43
|
-
doRender() {
|
|
44
|
-
return React.createElement("span", { className: "line-info" }, this.origin.instructionReference);
|
|
45
|
-
}
|
|
46
|
-
getBreakpointDecoration(message) {
|
|
47
|
-
if (!this.isSupported()) {
|
|
48
|
-
return {
|
|
49
|
-
className: 'codicon-debug-breakpoint-unsupported',
|
|
50
|
-
message: message !== null && message !== void 0 ? message : [core_1.nls.localize('theia/debug/instruction-breakpoint', 'Instruction Breakpoint')],
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
if (this.origin.condition || this.origin.hitCondition) {
|
|
54
|
-
return {
|
|
55
|
-
className: 'codicon-debug-breakpoint-conditional',
|
|
56
|
-
message: message || [core_1.nls.localizeByDefault('Conditional Breakpoint...')]
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
className: 'codicon-debug-breakpoint',
|
|
61
|
-
message: message || [core_1.nls.localize('theia/debug/instruction-breakpoint', 'Instruction Breakpoint')]
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.DebugInstructionBreakpoint = DebugInstructionBreakpoint;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DebugInstructionBreakpoint = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const breakpoint_manager_1 = require("../breakpoint/breakpoint-manager");
|
|
22
|
+
const debug_breakpoint_1 = require("./debug-breakpoint");
|
|
23
|
+
class DebugInstructionBreakpoint extends debug_breakpoint_1.DebugBreakpoint {
|
|
24
|
+
constructor(origin, options) {
|
|
25
|
+
super(breakpoint_manager_1.BreakpointManager.INSTRUCTION_URI, options);
|
|
26
|
+
this.origin = origin;
|
|
27
|
+
}
|
|
28
|
+
setEnabled(enabled) {
|
|
29
|
+
if (enabled !== this.origin.enabled) {
|
|
30
|
+
this.breakpoints.updateInstructionBreakpoint(this.origin.id, { enabled });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
isEnabled() {
|
|
34
|
+
return super.isEnabled() && this.isSupported();
|
|
35
|
+
}
|
|
36
|
+
isSupported() {
|
|
37
|
+
var _a;
|
|
38
|
+
return Boolean((_a = this.session) === null || _a === void 0 ? void 0 : _a.capabilities.supportsInstructionBreakpoints);
|
|
39
|
+
}
|
|
40
|
+
remove() {
|
|
41
|
+
this.breakpoints.removeInstructionBreakpoint(this.origin.instructionReference);
|
|
42
|
+
}
|
|
43
|
+
doRender() {
|
|
44
|
+
return React.createElement("span", { className: "line-info" }, this.origin.instructionReference);
|
|
45
|
+
}
|
|
46
|
+
getBreakpointDecoration(message) {
|
|
47
|
+
if (!this.isSupported()) {
|
|
48
|
+
return {
|
|
49
|
+
className: 'codicon-debug-breakpoint-unsupported',
|
|
50
|
+
message: message !== null && message !== void 0 ? message : [core_1.nls.localize('theia/debug/instruction-breakpoint', 'Instruction Breakpoint')],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (this.origin.condition || this.origin.hitCondition) {
|
|
54
|
+
return {
|
|
55
|
+
className: 'codicon-debug-breakpoint-conditional',
|
|
56
|
+
message: message || [core_1.nls.localizeByDefault('Conditional Breakpoint...')]
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
className: 'codicon-debug-breakpoint',
|
|
61
|
+
message: message || [core_1.nls.localize('theia/debug/instruction-breakpoint', 'Instruction Breakpoint')]
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.DebugInstructionBreakpoint = DebugInstructionBreakpoint;
|
|
66
66
|
//# sourceMappingURL=debug-instruction-breakpoint.js.map
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import * as React from '@theia/core/shared/react';
|
|
3
|
-
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
4
|
-
import { WidgetOpenerOptions } from '@theia/core/lib/browser';
|
|
5
|
-
import { TreeElement } from '@theia/core/lib/browser/source-tree';
|
|
6
|
-
import { SourceBreakpoint } from '../breakpoint/breakpoint-marker';
|
|
7
|
-
import { DebugSource } from './debug-source';
|
|
8
|
-
import { DebugBreakpoint, DebugBreakpointOptions, DebugBreakpointData, DebugBreakpointDecoration } from './debug-breakpoint';
|
|
9
|
-
export declare class DebugSourceBreakpointData extends DebugBreakpointData {
|
|
10
|
-
readonly origins: SourceBreakpoint[];
|
|
11
|
-
}
|
|
12
|
-
export declare class DebugSourceBreakpoint extends DebugBreakpoint<SourceBreakpoint> implements TreeElement {
|
|
13
|
-
readonly origins: SourceBreakpoint[];
|
|
14
|
-
constructor(origin: SourceBreakpoint, options: DebugBreakpointOptions);
|
|
15
|
-
update(data: Partial<DebugSourceBreakpointData>): void;
|
|
16
|
-
get origin(): SourceBreakpoint;
|
|
17
|
-
setEnabled(enabled: boolean): void;
|
|
18
|
-
updateOrigins(data: Partial<DebugProtocol.SourceBreakpoint>): void;
|
|
19
|
-
/** 1-based */
|
|
20
|
-
get line(): number;
|
|
21
|
-
get column(): number | undefined;
|
|
22
|
-
get endLine(): number | undefined;
|
|
23
|
-
get endColumn(): number | undefined;
|
|
24
|
-
get condition(): string | undefined;
|
|
25
|
-
get hitCondition(): string | undefined;
|
|
26
|
-
get logMessage(): string | undefined;
|
|
27
|
-
get source(): DebugSource | undefined;
|
|
28
|
-
open(options?: WidgetOpenerOptions): Promise<void>;
|
|
29
|
-
protected setBreakpointEnabled: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
30
|
-
protected doRender(): React.ReactNode;
|
|
31
|
-
renderPosition(): string;
|
|
32
|
-
doGetDecoration(messages?: string[]): DebugBreakpointDecoration;
|
|
33
|
-
protected getUnsupportedBreakpointDecoration(message: string): DebugBreakpointDecoration;
|
|
34
|
-
protected getBreakpointDecoration(message?: string[]): DebugBreakpointDecoration;
|
|
35
|
-
remove(): void;
|
|
36
|
-
protected doRemove(origins: SourceBreakpoint[]): SourceBreakpoint[] | undefined;
|
|
37
|
-
}
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
4
|
+
import { WidgetOpenerOptions } from '@theia/core/lib/browser';
|
|
5
|
+
import { TreeElement } from '@theia/core/lib/browser/source-tree';
|
|
6
|
+
import { SourceBreakpoint } from '../breakpoint/breakpoint-marker';
|
|
7
|
+
import { DebugSource } from './debug-source';
|
|
8
|
+
import { DebugBreakpoint, DebugBreakpointOptions, DebugBreakpointData, DebugBreakpointDecoration } from './debug-breakpoint';
|
|
9
|
+
export declare class DebugSourceBreakpointData extends DebugBreakpointData {
|
|
10
|
+
readonly origins: SourceBreakpoint[];
|
|
11
|
+
}
|
|
12
|
+
export declare class DebugSourceBreakpoint extends DebugBreakpoint<SourceBreakpoint> implements TreeElement {
|
|
13
|
+
readonly origins: SourceBreakpoint[];
|
|
14
|
+
constructor(origin: SourceBreakpoint, options: DebugBreakpointOptions);
|
|
15
|
+
update(data: Partial<DebugSourceBreakpointData>): void;
|
|
16
|
+
get origin(): SourceBreakpoint;
|
|
17
|
+
setEnabled(enabled: boolean): void;
|
|
18
|
+
updateOrigins(data: Partial<DebugProtocol.SourceBreakpoint>): void;
|
|
19
|
+
/** 1-based */
|
|
20
|
+
get line(): number;
|
|
21
|
+
get column(): number | undefined;
|
|
22
|
+
get endLine(): number | undefined;
|
|
23
|
+
get endColumn(): number | undefined;
|
|
24
|
+
get condition(): string | undefined;
|
|
25
|
+
get hitCondition(): string | undefined;
|
|
26
|
+
get logMessage(): string | undefined;
|
|
27
|
+
get source(): DebugSource | undefined;
|
|
28
|
+
open(options?: WidgetOpenerOptions): Promise<void>;
|
|
29
|
+
protected setBreakpointEnabled: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
30
|
+
protected doRender(): React.ReactNode;
|
|
31
|
+
renderPosition(): string;
|
|
32
|
+
doGetDecoration(messages?: string[]): DebugBreakpointDecoration;
|
|
33
|
+
protected getUnsupportedBreakpointDecoration(message: string): DebugBreakpointDecoration;
|
|
34
|
+
protected getBreakpointDecoration(message?: string[]): DebugBreakpointDecoration;
|
|
35
|
+
remove(): void;
|
|
36
|
+
protected doRemove(origins: SourceBreakpoint[]): SourceBreakpoint[] | undefined;
|
|
37
|
+
}
|
|
38
38
|
//# sourceMappingURL=debug-source-breakpoint.d.ts.map
|
|
@@ -1,218 +1,218 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.DebugSourceBreakpoint = exports.DebugSourceBreakpointData = void 0;
|
|
19
|
-
const React = require("@theia/core/shared/react");
|
|
20
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
21
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
-
const debug_breakpoint_1 = require("./debug-breakpoint");
|
|
23
|
-
class DebugSourceBreakpointData extends debug_breakpoint_1.DebugBreakpointData {
|
|
24
|
-
}
|
|
25
|
-
exports.DebugSourceBreakpointData = DebugSourceBreakpointData;
|
|
26
|
-
class DebugSourceBreakpoint extends debug_breakpoint_1.DebugBreakpoint {
|
|
27
|
-
constructor(origin, options) {
|
|
28
|
-
super(new uri_1.default(origin.uri), options);
|
|
29
|
-
this.setBreakpointEnabled = (event) => {
|
|
30
|
-
this.setEnabled(event.target.checked);
|
|
31
|
-
};
|
|
32
|
-
this.origins = [origin];
|
|
33
|
-
}
|
|
34
|
-
update(data) {
|
|
35
|
-
super.update(data);
|
|
36
|
-
}
|
|
37
|
-
get origin() {
|
|
38
|
-
return this.origins[0];
|
|
39
|
-
}
|
|
40
|
-
setEnabled(enabled) {
|
|
41
|
-
const { uri, raw } = this;
|
|
42
|
-
let shouldUpdate = false;
|
|
43
|
-
let breakpoints = raw && this.doRemove(this.origins.filter(origin => !(origin.raw.line === raw.line && origin.raw.column === raw.column)));
|
|
44
|
-
// Check for breakpoints array with at least one entry
|
|
45
|
-
if (breakpoints && breakpoints.length) {
|
|
46
|
-
shouldUpdate = true;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
breakpoints = this.breakpoints.getBreakpoints(uri);
|
|
50
|
-
}
|
|
51
|
-
for (const breakpoint of breakpoints) {
|
|
52
|
-
if (breakpoint.raw.line === this.origin.raw.line && breakpoint.raw.column === this.origin.raw.column && breakpoint.enabled !== enabled) {
|
|
53
|
-
breakpoint.enabled = enabled;
|
|
54
|
-
shouldUpdate = true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (shouldUpdate) {
|
|
58
|
-
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
updateOrigins(data) {
|
|
62
|
-
const breakpoints = this.breakpoints.getBreakpoints(this.uri);
|
|
63
|
-
let shouldUpdate = false;
|
|
64
|
-
const originPositions = new Set();
|
|
65
|
-
this.origins.forEach(origin => originPositions.add(origin.raw.line + ':' + origin.raw.column));
|
|
66
|
-
for (const breakpoint of breakpoints) {
|
|
67
|
-
if (originPositions.has(breakpoint.raw.line + ':' + breakpoint.raw.column)) {
|
|
68
|
-
Object.assign(breakpoint.raw, data);
|
|
69
|
-
shouldUpdate = true;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (shouldUpdate) {
|
|
73
|
-
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/** 1-based */
|
|
77
|
-
get line() {
|
|
78
|
-
return this.raw && this.raw.line || this.origins[0].raw.line;
|
|
79
|
-
}
|
|
80
|
-
get column() {
|
|
81
|
-
return this.raw && this.raw.column || this.origins[0].raw.column;
|
|
82
|
-
}
|
|
83
|
-
get endLine() {
|
|
84
|
-
return this.raw && this.raw.endLine;
|
|
85
|
-
}
|
|
86
|
-
get endColumn() {
|
|
87
|
-
return this.raw && this.raw.endColumn;
|
|
88
|
-
}
|
|
89
|
-
get condition() {
|
|
90
|
-
return this.origin.raw.condition;
|
|
91
|
-
}
|
|
92
|
-
get hitCondition() {
|
|
93
|
-
return this.origin.raw.hitCondition;
|
|
94
|
-
}
|
|
95
|
-
get logMessage() {
|
|
96
|
-
return this.origin.raw.logMessage;
|
|
97
|
-
}
|
|
98
|
-
get source() {
|
|
99
|
-
return this.raw && this.raw.source && this.session && this.session.getSource(this.raw.source);
|
|
100
|
-
}
|
|
101
|
-
async open(options = {
|
|
102
|
-
mode: 'reveal'
|
|
103
|
-
}) {
|
|
104
|
-
const { line, column, endLine, endColumn } = this;
|
|
105
|
-
const selection = {
|
|
106
|
-
start: {
|
|
107
|
-
line: line - 1,
|
|
108
|
-
character: typeof column === 'number' ? column - 1 : undefined
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
if (typeof endLine === 'number') {
|
|
112
|
-
selection.end = {
|
|
113
|
-
line: endLine - 1,
|
|
114
|
-
character: typeof endColumn === 'number' ? endColumn - 1 : undefined
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
if (this.source) {
|
|
118
|
-
await this.source.open({
|
|
119
|
-
...options,
|
|
120
|
-
selection
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
await this.editorManager.open(this.uri, {
|
|
125
|
-
...options,
|
|
126
|
-
selection
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
doRender() {
|
|
131
|
-
return React.createElement(React.Fragment, null,
|
|
132
|
-
React.createElement("span", { className: 'line-info', title: this.labelProvider.getLongName(this.uri) },
|
|
133
|
-
React.createElement("span", { className: 'name' },
|
|
134
|
-
this.labelProvider.getName(this.uri),
|
|
135
|
-
" "),
|
|
136
|
-
React.createElement("span", { className: 'path ' + browser_1.TREE_NODE_INFO_CLASS },
|
|
137
|
-
this.labelProvider.getLongName(this.uri.parent),
|
|
138
|
-
" ")),
|
|
139
|
-
React.createElement("span", { className: 'line' }, this.renderPosition()));
|
|
140
|
-
}
|
|
141
|
-
renderPosition() {
|
|
142
|
-
return this.line + (typeof this.column === 'number' ? ':' + this.column : '');
|
|
143
|
-
}
|
|
144
|
-
doGetDecoration(messages = []) {
|
|
145
|
-
if (this.logMessage || this.condition || this.hitCondition) {
|
|
146
|
-
const { session } = this;
|
|
147
|
-
if (this.logMessage) {
|
|
148
|
-
if (session && !session.capabilities.supportsLogPoints) {
|
|
149
|
-
return this.getUnsupportedBreakpointDecoration('Logpoints not supported by this debug type');
|
|
150
|
-
}
|
|
151
|
-
messages.push('Log Message: ' + this.logMessage);
|
|
152
|
-
}
|
|
153
|
-
if (this.condition) {
|
|
154
|
-
if (session && !session.capabilities.supportsConditionalBreakpoints) {
|
|
155
|
-
return this.getUnsupportedBreakpointDecoration('Conditional breakpoints not supported by this debug type');
|
|
156
|
-
}
|
|
157
|
-
messages.push('Expression: ' + this.condition);
|
|
158
|
-
}
|
|
159
|
-
if (this.hitCondition) {
|
|
160
|
-
if (session && !session.capabilities.supportsHitConditionalBreakpoints) {
|
|
161
|
-
return this.getUnsupportedBreakpointDecoration('Hit conditional breakpoints not supported by this debug type');
|
|
162
|
-
}
|
|
163
|
-
messages.push('Hit Count: ' + this.hitCondition);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return super.doGetDecoration(messages);
|
|
167
|
-
}
|
|
168
|
-
getUnsupportedBreakpointDecoration(message) {
|
|
169
|
-
return {
|
|
170
|
-
className: 'codicon-debug-breakpoint-unsupported',
|
|
171
|
-
message: [message]
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
getBreakpointDecoration(message) {
|
|
175
|
-
if (this.logMessage) {
|
|
176
|
-
return {
|
|
177
|
-
className: 'codicon-debug-breakpoint-log',
|
|
178
|
-
message: message || ['Logpoint']
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
if (this.condition || this.hitCondition) {
|
|
182
|
-
return {
|
|
183
|
-
className: 'codicon-debug-breakpoint-conditional',
|
|
184
|
-
message: message || ['Conditional Breakpoint']
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
return {
|
|
188
|
-
className: 'codicon-debug-breakpoint',
|
|
189
|
-
message: message || ['Breakpoint']
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
remove() {
|
|
193
|
-
const breakpoints = this.doRemove(this.origins);
|
|
194
|
-
if (breakpoints) {
|
|
195
|
-
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
doRemove(origins) {
|
|
199
|
-
if (!origins.length) {
|
|
200
|
-
return undefined;
|
|
201
|
-
}
|
|
202
|
-
const { uri } = this;
|
|
203
|
-
const toRemove = new Set();
|
|
204
|
-
origins.forEach(origin => toRemove.add(origin.raw.line + ':' + origin.raw.column));
|
|
205
|
-
let shouldUpdate = false;
|
|
206
|
-
const breakpoints = this.breakpoints.findMarkers({
|
|
207
|
-
uri,
|
|
208
|
-
dataFilter: data => {
|
|
209
|
-
const result = !toRemove.has(data.raw.line + ':' + data.raw.column);
|
|
210
|
-
shouldUpdate = shouldUpdate || !result;
|
|
211
|
-
return result;
|
|
212
|
-
}
|
|
213
|
-
}).map(({ data }) => data);
|
|
214
|
-
return shouldUpdate && breakpoints || undefined;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
exports.DebugSourceBreakpoint = DebugSourceBreakpoint;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DebugSourceBreakpoint = exports.DebugSourceBreakpointData = void 0;
|
|
19
|
+
const React = require("@theia/core/shared/react");
|
|
20
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const debug_breakpoint_1 = require("./debug-breakpoint");
|
|
23
|
+
class DebugSourceBreakpointData extends debug_breakpoint_1.DebugBreakpointData {
|
|
24
|
+
}
|
|
25
|
+
exports.DebugSourceBreakpointData = DebugSourceBreakpointData;
|
|
26
|
+
class DebugSourceBreakpoint extends debug_breakpoint_1.DebugBreakpoint {
|
|
27
|
+
constructor(origin, options) {
|
|
28
|
+
super(new uri_1.default(origin.uri), options);
|
|
29
|
+
this.setBreakpointEnabled = (event) => {
|
|
30
|
+
this.setEnabled(event.target.checked);
|
|
31
|
+
};
|
|
32
|
+
this.origins = [origin];
|
|
33
|
+
}
|
|
34
|
+
update(data) {
|
|
35
|
+
super.update(data);
|
|
36
|
+
}
|
|
37
|
+
get origin() {
|
|
38
|
+
return this.origins[0];
|
|
39
|
+
}
|
|
40
|
+
setEnabled(enabled) {
|
|
41
|
+
const { uri, raw } = this;
|
|
42
|
+
let shouldUpdate = false;
|
|
43
|
+
let breakpoints = raw && this.doRemove(this.origins.filter(origin => !(origin.raw.line === raw.line && origin.raw.column === raw.column)));
|
|
44
|
+
// Check for breakpoints array with at least one entry
|
|
45
|
+
if (breakpoints && breakpoints.length) {
|
|
46
|
+
shouldUpdate = true;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
breakpoints = this.breakpoints.getBreakpoints(uri);
|
|
50
|
+
}
|
|
51
|
+
for (const breakpoint of breakpoints) {
|
|
52
|
+
if (breakpoint.raw.line === this.origin.raw.line && breakpoint.raw.column === this.origin.raw.column && breakpoint.enabled !== enabled) {
|
|
53
|
+
breakpoint.enabled = enabled;
|
|
54
|
+
shouldUpdate = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (shouldUpdate) {
|
|
58
|
+
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
updateOrigins(data) {
|
|
62
|
+
const breakpoints = this.breakpoints.getBreakpoints(this.uri);
|
|
63
|
+
let shouldUpdate = false;
|
|
64
|
+
const originPositions = new Set();
|
|
65
|
+
this.origins.forEach(origin => originPositions.add(origin.raw.line + ':' + origin.raw.column));
|
|
66
|
+
for (const breakpoint of breakpoints) {
|
|
67
|
+
if (originPositions.has(breakpoint.raw.line + ':' + breakpoint.raw.column)) {
|
|
68
|
+
Object.assign(breakpoint.raw, data);
|
|
69
|
+
shouldUpdate = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (shouldUpdate) {
|
|
73
|
+
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** 1-based */
|
|
77
|
+
get line() {
|
|
78
|
+
return this.raw && this.raw.line || this.origins[0].raw.line;
|
|
79
|
+
}
|
|
80
|
+
get column() {
|
|
81
|
+
return this.raw && this.raw.column || this.origins[0].raw.column;
|
|
82
|
+
}
|
|
83
|
+
get endLine() {
|
|
84
|
+
return this.raw && this.raw.endLine;
|
|
85
|
+
}
|
|
86
|
+
get endColumn() {
|
|
87
|
+
return this.raw && this.raw.endColumn;
|
|
88
|
+
}
|
|
89
|
+
get condition() {
|
|
90
|
+
return this.origin.raw.condition;
|
|
91
|
+
}
|
|
92
|
+
get hitCondition() {
|
|
93
|
+
return this.origin.raw.hitCondition;
|
|
94
|
+
}
|
|
95
|
+
get logMessage() {
|
|
96
|
+
return this.origin.raw.logMessage;
|
|
97
|
+
}
|
|
98
|
+
get source() {
|
|
99
|
+
return this.raw && this.raw.source && this.session && this.session.getSource(this.raw.source);
|
|
100
|
+
}
|
|
101
|
+
async open(options = {
|
|
102
|
+
mode: 'reveal'
|
|
103
|
+
}) {
|
|
104
|
+
const { line, column, endLine, endColumn } = this;
|
|
105
|
+
const selection = {
|
|
106
|
+
start: {
|
|
107
|
+
line: line - 1,
|
|
108
|
+
character: typeof column === 'number' ? column - 1 : undefined
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
if (typeof endLine === 'number') {
|
|
112
|
+
selection.end = {
|
|
113
|
+
line: endLine - 1,
|
|
114
|
+
character: typeof endColumn === 'number' ? endColumn - 1 : undefined
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (this.source) {
|
|
118
|
+
await this.source.open({
|
|
119
|
+
...options,
|
|
120
|
+
selection
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
await this.editorManager.open(this.uri, {
|
|
125
|
+
...options,
|
|
126
|
+
selection
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
doRender() {
|
|
131
|
+
return React.createElement(React.Fragment, null,
|
|
132
|
+
React.createElement("span", { className: 'line-info', title: this.labelProvider.getLongName(this.uri) },
|
|
133
|
+
React.createElement("span", { className: 'name' },
|
|
134
|
+
this.labelProvider.getName(this.uri),
|
|
135
|
+
" "),
|
|
136
|
+
React.createElement("span", { className: 'path ' + browser_1.TREE_NODE_INFO_CLASS },
|
|
137
|
+
this.labelProvider.getLongName(this.uri.parent),
|
|
138
|
+
" ")),
|
|
139
|
+
React.createElement("span", { className: 'line' }, this.renderPosition()));
|
|
140
|
+
}
|
|
141
|
+
renderPosition() {
|
|
142
|
+
return this.line + (typeof this.column === 'number' ? ':' + this.column : '');
|
|
143
|
+
}
|
|
144
|
+
doGetDecoration(messages = []) {
|
|
145
|
+
if (this.logMessage || this.condition || this.hitCondition) {
|
|
146
|
+
const { session } = this;
|
|
147
|
+
if (this.logMessage) {
|
|
148
|
+
if (session && !session.capabilities.supportsLogPoints) {
|
|
149
|
+
return this.getUnsupportedBreakpointDecoration('Logpoints not supported by this debug type');
|
|
150
|
+
}
|
|
151
|
+
messages.push('Log Message: ' + this.logMessage);
|
|
152
|
+
}
|
|
153
|
+
if (this.condition) {
|
|
154
|
+
if (session && !session.capabilities.supportsConditionalBreakpoints) {
|
|
155
|
+
return this.getUnsupportedBreakpointDecoration('Conditional breakpoints not supported by this debug type');
|
|
156
|
+
}
|
|
157
|
+
messages.push('Expression: ' + this.condition);
|
|
158
|
+
}
|
|
159
|
+
if (this.hitCondition) {
|
|
160
|
+
if (session && !session.capabilities.supportsHitConditionalBreakpoints) {
|
|
161
|
+
return this.getUnsupportedBreakpointDecoration('Hit conditional breakpoints not supported by this debug type');
|
|
162
|
+
}
|
|
163
|
+
messages.push('Hit Count: ' + this.hitCondition);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return super.doGetDecoration(messages);
|
|
167
|
+
}
|
|
168
|
+
getUnsupportedBreakpointDecoration(message) {
|
|
169
|
+
return {
|
|
170
|
+
className: 'codicon-debug-breakpoint-unsupported',
|
|
171
|
+
message: [message]
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
getBreakpointDecoration(message) {
|
|
175
|
+
if (this.logMessage) {
|
|
176
|
+
return {
|
|
177
|
+
className: 'codicon-debug-breakpoint-log',
|
|
178
|
+
message: message || ['Logpoint']
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
if (this.condition || this.hitCondition) {
|
|
182
|
+
return {
|
|
183
|
+
className: 'codicon-debug-breakpoint-conditional',
|
|
184
|
+
message: message || ['Conditional Breakpoint']
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
return {
|
|
188
|
+
className: 'codicon-debug-breakpoint',
|
|
189
|
+
message: message || ['Breakpoint']
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
remove() {
|
|
193
|
+
const breakpoints = this.doRemove(this.origins);
|
|
194
|
+
if (breakpoints) {
|
|
195
|
+
this.breakpoints.setBreakpoints(this.uri, breakpoints);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
doRemove(origins) {
|
|
199
|
+
if (!origins.length) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
const { uri } = this;
|
|
203
|
+
const toRemove = new Set();
|
|
204
|
+
origins.forEach(origin => toRemove.add(origin.raw.line + ':' + origin.raw.column));
|
|
205
|
+
let shouldUpdate = false;
|
|
206
|
+
const breakpoints = this.breakpoints.findMarkers({
|
|
207
|
+
uri,
|
|
208
|
+
dataFilter: data => {
|
|
209
|
+
const result = !toRemove.has(data.raw.line + ':' + data.raw.column);
|
|
210
|
+
shouldUpdate = shouldUpdate || !result;
|
|
211
|
+
return result;
|
|
212
|
+
}
|
|
213
|
+
}).map(({ data }) => data);
|
|
214
|
+
return shouldUpdate && breakpoints || undefined;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.DebugSourceBreakpoint = DebugSourceBreakpoint;
|
|
218
218
|
//# sourceMappingURL=debug-source-breakpoint.js.map
|