@opensumi/ide-debug 2.23.0 → 2.23.1-next-1679538359.0
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/model/debug-stack-frame.d.ts +12 -0
- package/lib/browser/model/debug-stack-frame.d.ts.map +1 -1
- package/lib/browser/model/debug-stack-frame.js +24 -1
- package/lib/browser/model/debug-stack-frame.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts +1 -0
- package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-frame.view.js +119 -26
- package/lib/browser/view/frames/debug-call-stack-frame.view.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-session.view.js +3 -3
- package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts +1 -0
- package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-thread.view.js +4 -7
- package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack.module.less +1 -2
- package/package.json +23 -23
- package/src/browser/model/debug-stack-frame.ts +27 -2
- package/src/browser/view/frames/debug-call-stack-frame.view.tsx +160 -51
- package/src/browser/view/frames/debug-call-stack-session.view.tsx +6 -3
- package/src/browser/view/frames/debug-call-stack-thread.view.tsx +15 -8
- package/src/browser/view/frames/debug-call-stack.module.less +1 -2
|
@@ -11,6 +11,7 @@ export declare class DebugStackFrameData {
|
|
|
11
11
|
export declare class DebugStackFrame extends DebugStackFrameData {
|
|
12
12
|
readonly thread: DebugThread;
|
|
13
13
|
readonly session: DebugSession;
|
|
14
|
+
static is(frame: any): frame is DebugStackFrame;
|
|
14
15
|
constructor(thread: DebugThread, session: DebugSession);
|
|
15
16
|
get id(): string;
|
|
16
17
|
protected _source: DebugSource | undefined;
|
|
@@ -27,4 +28,15 @@ export declare class DebugStackFrame extends DebugStackFrameData {
|
|
|
27
28
|
range(): IRange;
|
|
28
29
|
getMostSpecificScopes(range: IRange): Promise<DebugScope[]>;
|
|
29
30
|
}
|
|
31
|
+
export declare class ShowMoreDebugStackFrame {
|
|
32
|
+
readonly startIndex: number;
|
|
33
|
+
readonly frames: DebugStackFrame[];
|
|
34
|
+
readonly session: DebugSession;
|
|
35
|
+
readonly origin: string;
|
|
36
|
+
readonly _open: (showMoreFrame: ShowMoreDebugStackFrame) => void;
|
|
37
|
+
constructor(startIndex: number, frames: DebugStackFrame[], session: DebugSession, origin: string, _open: (showMoreFrame: ShowMoreDebugStackFrame) => void);
|
|
38
|
+
get name(): string;
|
|
39
|
+
get id(): string;
|
|
40
|
+
open: () => void;
|
|
41
|
+
}
|
|
30
42
|
//# sourceMappingURL=debug-stack-frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-stack-frame.d.ts","sourceRoot":"","sources":["../../../src/browser/model/debug-stack-frame.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"debug-stack-frame.d.ts","sourceRoot":"","sources":["../../../src/browser/model/debug-stack-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC;CACxC;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IAK1C,QAAQ,CAAC,MAAM,EAAE,WAAW;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY;WAJ1D,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,eAAe;gBAIjC,MAAM,EAAE,WAAW,EAAW,OAAO,EAAE,YAAY;IAIxE,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,IAAI,MAAM,IAAI,WAAW,GAAG,SAAS,CAEpC;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAK1C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAOxE,IAAI,UAAU,IAAI,OAAO,CAExB;IAEK,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB;IAwBzC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC;IAMpE,SAAS,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;cAG9C,WAAW,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IASzE,KAAK,IAAI,MAAM;IAKT,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAkBzE;AAED,qBAAa,uBAAuB;aAEhB,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,eAAe,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,uBAAuB,KAAK,IAAI;gBAJhD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EAAE,EAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,aAAa,EAAE,uBAAuB,KAAK,IAAI;IAGlE,IAAI,IAAI,WAEP;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,aAEF;CACH"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DebugStackFrame = exports.DebugStackFrameData = void 0;
|
|
3
|
+
exports.ShowMoreDebugStackFrame = exports.DebugStackFrame = exports.DebugStackFrameData = void 0;
|
|
4
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
4
5
|
const range_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/core/range");
|
|
5
6
|
const debug_tree_node_define_1 = require("../tree/debug-tree-node.define");
|
|
6
7
|
class DebugStackFrameData {
|
|
7
8
|
}
|
|
8
9
|
exports.DebugStackFrameData = DebugStackFrameData;
|
|
9
10
|
class DebugStackFrame extends DebugStackFrameData {
|
|
11
|
+
static is(frame) {
|
|
12
|
+
return !!frame && 'raw' in frame;
|
|
13
|
+
}
|
|
10
14
|
constructor(thread, session) {
|
|
11
15
|
super();
|
|
12
16
|
this.thread = thread;
|
|
@@ -84,4 +88,23 @@ class DebugStackFrame extends DebugStackFrameData {
|
|
|
84
88
|
}
|
|
85
89
|
}
|
|
86
90
|
exports.DebugStackFrame = DebugStackFrame;
|
|
91
|
+
class ShowMoreDebugStackFrame {
|
|
92
|
+
constructor(startIndex, frames, session, origin, _open) {
|
|
93
|
+
this.startIndex = startIndex;
|
|
94
|
+
this.frames = frames;
|
|
95
|
+
this.session = session;
|
|
96
|
+
this.origin = origin;
|
|
97
|
+
this._open = _open;
|
|
98
|
+
this.open = () => {
|
|
99
|
+
this._open(this);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
get name() {
|
|
103
|
+
return (0, ide_core_browser_1.formatLocalize)('debug.stack.showMoreAndOrigin', this.frames.length, this.origin);
|
|
104
|
+
}
|
|
105
|
+
get id() {
|
|
106
|
+
return `${this.session.id}:showMore:${this.startIndex}`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.ShowMoreDebugStackFrame = ShowMoreDebugStackFrame;
|
|
87
110
|
//# sourceMappingURL=debug-stack-frame.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-stack-frame.js","sourceRoot":"","sources":["../../../src/browser/model/debug-stack-frame.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"debug-stack-frame.js","sourceRoot":"","sources":["../../../src/browser/model/debug-stack-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export interface DebugStackSessionViewProps {
|
|
|
9
9
|
thread: DebugThread;
|
|
10
10
|
viewState: ViewState;
|
|
11
11
|
indent?: number;
|
|
12
|
+
isBottom?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export declare const DebugStackFramesView: React.FunctionComponent<DebugStackSessionViewProps>;
|
|
14
15
|
//# sourceMappingURL=debug-call-stack-frame.view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-frame.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-frame.view.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"debug-call-stack-frame.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-frame.view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EACL,SAAS,EAMV,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAA2B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,qDAkT/B,CAAC"}
|
|
@@ -8,16 +8,18 @@ const react_1 = tslib_1.__importStar(require("react"));
|
|
|
8
8
|
const ide_components_1 = require("@opensumi/ide-components");
|
|
9
9
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
10
10
|
const common_1 = require("../../../common");
|
|
11
|
+
const model_1 = require("../../model");
|
|
11
12
|
const debug_call_stack_module_less_1 = tslib_1.__importDefault(require("./debug-call-stack.module.less"));
|
|
12
13
|
const debug_call_stack_service_1 = require("./debug-call-stack.service");
|
|
13
14
|
exports.DebugStackFramesView = (0, mobx_react_lite_1.observer)((props) => {
|
|
14
|
-
const { viewState, frames: rawFrames, thread, indent = 0, session } = props;
|
|
15
|
+
const { viewState, frames: rawFrames, thread, indent = 0, session, isBottom } = props;
|
|
15
16
|
const [selected, setSelected] = (0, react_1.useState)();
|
|
16
17
|
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
17
18
|
const [frames, setFrames] = (0, react_1.useState)([]);
|
|
18
19
|
const [framesErrorMessage, setFramesErrorMessage] = (0, react_1.useState)('');
|
|
19
20
|
const [canLoadMore, setCanLoadMore] = (0, react_1.useState)(false);
|
|
20
21
|
const manager = (0, ide_core_browser_1.useInjectable)(common_1.IDebugSessionManager);
|
|
22
|
+
const currentFrames = (0, react_1.useRef)([]);
|
|
21
23
|
const debugCallStackService = (0, ide_core_browser_1.useInjectable)(debug_call_stack_service_1.DebugCallStackService);
|
|
22
24
|
const loadMore = (0, react_1.useCallback)(async () => {
|
|
23
25
|
var _a, _b;
|
|
@@ -35,9 +37,76 @@ exports.DebugStackFramesView = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
35
37
|
frame.source.open({}, frame);
|
|
36
38
|
}
|
|
37
39
|
};
|
|
40
|
+
const expandFrame = (0, react_1.useCallback)((frame) => {
|
|
41
|
+
const expanedFrames = currentFrames.current.slice(0);
|
|
42
|
+
expanedFrames.splice(frame.startIndex, frame.frames.length, ...frame.frames);
|
|
43
|
+
currentFrames.current = expanedFrames;
|
|
44
|
+
setFrames(expanedFrames);
|
|
45
|
+
}, [currentFrames.current]);
|
|
46
|
+
const mergeFrames = (0, react_1.useCallback)((frames) => {
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
|
+
const len = frames.length;
|
|
49
|
+
const results = [];
|
|
50
|
+
let showMoreFrames = [];
|
|
51
|
+
let showMoreOrigin;
|
|
52
|
+
let showMoreIndex = -1;
|
|
53
|
+
let hasOrigin = false;
|
|
54
|
+
for (let i = 0; i < len; i++) {
|
|
55
|
+
if ((_a = frames[i].source) === null || _a === void 0 ? void 0 : _a.raw.origin) {
|
|
56
|
+
if (hasOrigin) {
|
|
57
|
+
if (showMoreOrigin === ((_b = frames[i].source) === null || _b === void 0 ? void 0 : _b.raw.origin)) {
|
|
58
|
+
showMoreFrames.push(frames[i]);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
if (showMoreFrames.length > 1) {
|
|
63
|
+
results.push(new model_1.ShowMoreDebugStackFrame(i, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
results.push(showMoreFrames[0]);
|
|
67
|
+
}
|
|
68
|
+
showMoreFrames = [];
|
|
69
|
+
showMoreIndex = i;
|
|
70
|
+
showMoreOrigin = (_c = frames[i].source) === null || _c === void 0 ? void 0 : _c.raw.origin;
|
|
71
|
+
showMoreFrames.push(frames[i]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
hasOrigin = true;
|
|
76
|
+
showMoreFrames.push(frames[i]);
|
|
77
|
+
showMoreIndex = i;
|
|
78
|
+
showMoreOrigin = (_d = frames[i].source) === null || _d === void 0 ? void 0 : _d.raw.origin;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
if (hasOrigin && showMoreFrames.length > 0) {
|
|
83
|
+
if (showMoreFrames.length > 1) {
|
|
84
|
+
results.push(new model_1.ShowMoreDebugStackFrame(i, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
results.push(showMoreFrames[0]);
|
|
88
|
+
}
|
|
89
|
+
showMoreFrames = [];
|
|
90
|
+
showMoreIndex = -1;
|
|
91
|
+
hasOrigin = false;
|
|
92
|
+
}
|
|
93
|
+
results.push(frames[i]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (hasOrigin && showMoreFrames.length > 0) {
|
|
97
|
+
if (showMoreFrames.length > 1) {
|
|
98
|
+
results.push(new model_1.ShowMoreDebugStackFrame(showMoreIndex, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
results.push(showMoreFrames[0]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return results;
|
|
105
|
+
}, []);
|
|
38
106
|
const updateFrames = (0, react_1.useCallback)((frames) => {
|
|
39
|
-
|
|
40
|
-
|
|
107
|
+
currentFrames.current = mergeFrames(frames);
|
|
108
|
+
setFrames(currentFrames.current);
|
|
109
|
+
}, [frames, mergeFrames]);
|
|
41
110
|
const updateSelected = (0, react_1.useCallback)((value) => {
|
|
42
111
|
setSelected(value);
|
|
43
112
|
}, [selected]);
|
|
@@ -83,13 +152,18 @@ exports.DebugStackFramesView = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
83
152
|
}
|
|
84
153
|
}, [frames]);
|
|
85
154
|
const template = ({ data }) => {
|
|
155
|
+
var _a, _b;
|
|
86
156
|
const frame = data;
|
|
87
|
-
const isLabel = frame.raw.presentationHint === 'label';
|
|
88
|
-
const isSubtle = frame.raw.presentationHint === 'subtle';
|
|
89
|
-
const
|
|
157
|
+
const isLabel = model_1.DebugStackFrame.is(frame) && frame.raw.presentationHint === 'label';
|
|
158
|
+
const isSubtle = model_1.DebugStackFrame.is(frame) && frame.raw.presentationHint === 'subtle';
|
|
159
|
+
const onClickHandler = (0, react_1.useCallback)(() => {
|
|
90
160
|
if (isLabel || isSubtle) {
|
|
91
161
|
return;
|
|
92
162
|
}
|
|
163
|
+
if (!model_1.DebugStackFrame.is(frame)) {
|
|
164
|
+
frame.open();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
93
167
|
manager.updateCurrentSession(frame.session);
|
|
94
168
|
frame.session.currentThread = frame.thread;
|
|
95
169
|
updateSelected(frame.raw.id);
|
|
@@ -98,37 +172,56 @@ exports.DebugStackFramesView = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
98
172
|
const restartFrame = (event) => {
|
|
99
173
|
event.preventDefault();
|
|
100
174
|
event.stopPropagation();
|
|
175
|
+
if (!model_1.DebugStackFrame.is(frame)) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
101
178
|
if (frame.canRestart) {
|
|
102
179
|
frame.restart();
|
|
103
180
|
}
|
|
104
181
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
182
|
+
const frameItemStyle = {
|
|
183
|
+
paddingLeft: `${indent}px`,
|
|
184
|
+
};
|
|
185
|
+
if (model_1.DebugStackFrame.is(frame) && ((_b = (_a = frame.raw) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.presentationHint) === 'deemphasize') {
|
|
186
|
+
frameItemStyle['color'] = 'var(--list-deemphasizedForeground)';
|
|
187
|
+
}
|
|
188
|
+
const renderFrame = (0, react_1.useCallback)((frame) => {
|
|
189
|
+
if (model_1.DebugStackFrame.is(frame)) {
|
|
190
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
191
|
+
react_1.default.createElement("span", { className: (0, classnames_1.default)(debug_call_stack_module_less_1.default.debug_stack_frames_item_label, isLabel && debug_call_stack_module_less_1.default.label, isSubtle && debug_call_stack_module_less_1.default.subtle) }, frame.raw && frame.raw.name),
|
|
192
|
+
!isLabel && (react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item_description }, (frame.raw && frame.raw.source && frame.raw.source.name) || (0, ide_core_browser_1.localize)('debug.stack.frame.noSource'))),
|
|
193
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
194
|
+
frame.canRestart && (react_1.default.createElement("a", { title: '', onClick: (event) => restartFrame(event), className: (0, classnames_1.default)(debug_call_stack_module_less_1.default.debug_restart_frame_icon, (0, ide_core_browser_1.getIcon)('debug-restart-frame')) })),
|
|
195
|
+
!isLabel && (react_1.default.createElement("div", { className: (0, classnames_1.default)(!(0, ide_core_browser_1.isUndefined)(frame.raw.line) && debug_call_stack_module_less_1.default.debug_stack_frames_item_badge) },
|
|
196
|
+
frame.raw && frame.raw.line,
|
|
197
|
+
!(0, ide_core_browser_1.isUndefined)(frame.raw.line) && ':',
|
|
198
|
+
frame.raw && frame.raw.column)))));
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
return react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_load_more }, frame.name);
|
|
202
|
+
}
|
|
203
|
+
}, []);
|
|
204
|
+
return (react_1.default.createElement("div", { style: frameItemStyle, className: (0, classnames_1.default)(debug_call_stack_module_less_1.default.debug_stack_frames_item, isLabel && debug_call_stack_module_less_1.default.is_label, model_1.DebugStackFrame.is(frame) && selected === frame.raw.id && debug_call_stack_module_less_1.default.selected, model_1.DebugStackFrame.is(frame) &&
|
|
205
|
+
!(frame.raw && frame.raw.source && frame.raw.source.name) &&
|
|
206
|
+
debug_call_stack_module_less_1.default.debug_stack_frames_item_hidden), onClick: onClickHandler, onContextMenu: (event) => debugCallStackService.handleContextMenu(event, data) }, renderFrame(frame)));
|
|
114
207
|
};
|
|
115
|
-
const renderLoadMoreStackFrames = () => {
|
|
116
|
-
const
|
|
208
|
+
const renderLoadMoreStackFrames = (0, react_1.useCallback)(() => {
|
|
209
|
+
const onClickHandler = async () => {
|
|
117
210
|
setIsLoading(true);
|
|
118
211
|
await loadMore();
|
|
119
212
|
setIsLoading(false);
|
|
120
213
|
};
|
|
121
|
-
return (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item, onClick:
|
|
214
|
+
return (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item, onClick: onClickHandler },
|
|
122
215
|
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_load_more }, (0, ide_core_browser_1.localize)('debug.stack.loadMore'))));
|
|
123
|
-
};
|
|
124
|
-
const renderLoading = () => (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item },
|
|
125
|
-
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_load_more }, (0, ide_core_browser_1.localize)('debug.stack.loading'))));
|
|
126
|
-
const renderFramesErrorMessage = (message) => (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item },
|
|
127
|
-
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_error_message, title: message }, message)));
|
|
216
|
+
}, [isLoading, loadMore]);
|
|
217
|
+
const renderLoading = (0, react_1.useCallback)(() => (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item },
|
|
218
|
+
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_load_more }, (0, ide_core_browser_1.localize)('debug.stack.loading')))), []);
|
|
219
|
+
const renderFramesErrorMessage = (0, react_1.useCallback)((message) => (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames_item },
|
|
220
|
+
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_stack_frames_error_message, title: message }, message))), []);
|
|
128
221
|
if (framesErrorMessage) {
|
|
129
222
|
return react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_frames }, renderFramesErrorMessage(framesErrorMessage));
|
|
130
223
|
}
|
|
131
|
-
const footer = () => {
|
|
224
|
+
const footer = (0, react_1.useCallback)(() => {
|
|
132
225
|
if (isLoading) {
|
|
133
226
|
return renderLoading();
|
|
134
227
|
}
|
|
@@ -136,7 +229,7 @@ exports.DebugStackFramesView = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
136
229
|
return renderLoadMoreStackFrames();
|
|
137
230
|
}
|
|
138
231
|
return null;
|
|
139
|
-
};
|
|
140
|
-
return (react_1.default.createElement(ide_components_1.RecycleList, { data: frames, template: template, itemHeight: 22, width: viewState.width,
|
|
232
|
+
}, [isLoading, canLoadMore]);
|
|
233
|
+
return (react_1.default.createElement(ide_components_1.RecycleList, { data: frames, template: template, itemHeight: 22, width: viewState.width, height: (isLoading || canLoadMore ? (frames.length + 1) * 22 : frames.length * 22) + (isBottom ? 10 : 0), footer: isLoading || canLoadMore ? footer : undefined }));
|
|
141
234
|
});
|
|
142
235
|
//# sourceMappingURL=debug-call-stack-frame.view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-frame.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-frame.view.tsx"],"names":[],"mappings":";;;;AAAA,oEAA6B;AAC7B,qDAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"debug-call-stack-frame.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-frame.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-session.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-session.view.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAA0D,MAAM,4BAA4B,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,UAAW,0BAA0B,
|
|
1
|
+
{"version":3,"file":"debug-call-stack-session.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-session.view.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAA0D,MAAM,4BAA4B,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,UAAW,0BAA0B,gBA6OtE,CAAC"}
|
|
@@ -105,7 +105,7 @@ const DebugStackSessionView = (props) => {
|
|
|
105
105
|
}
|
|
106
106
|
if (supportsThreadIdCorrespond && unfold) {
|
|
107
107
|
return loading ? (react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_item_loading },
|
|
108
|
-
react_1.default.createElement("span", null, (0, ide_core_browser_1.localize)('debug.stack.loading')))) : (otherThreads.map((thread) => !session.hasInMultipleThreadPaused(thread.raw.id) && (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: thread.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: thread, session: session }))));
|
|
108
|
+
react_1.default.createElement("span", null, (0, ide_core_browser_1.localize)('debug.stack.loading')))) : (otherThreads.map((thread, index) => !session.hasInMultipleThreadPaused(thread.raw.id) && (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: thread.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: thread, session: session, isBottom: index === otherThreads.length - 1 }))));
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
const isIncompressible = (stat) => {
|
|
@@ -133,11 +133,11 @@ const DebugStackSessionView = (props) => {
|
|
|
133
133
|
react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_stack_item_label_title }, session.label),
|
|
134
134
|
hover && react_1.default.createElement(debug_call_stack_operation_1.DebugStackOperationView, { session: session }))),
|
|
135
135
|
supportsThreadIdCorrespond && unfold
|
|
136
|
-
? multipleThreadPaused.map((t) => (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: t.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: t, session: session })))
|
|
136
|
+
? multipleThreadPaused.map((t, index) => (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: t.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: t, session: session, isBottom: index === multipleThreadPaused.length - 1 })))
|
|
137
137
|
: null,
|
|
138
138
|
!supportsThreadIdCorrespond &&
|
|
139
139
|
(!mutipleSession || unfold) &&
|
|
140
|
-
threads.map((thread) => (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: thread.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: thread, session: session }))),
|
|
140
|
+
threads.map((thread, index) => (react_1.default.createElement(debug_call_stack_thread_view_1.DebugStackThreadView, { key: thread.id, indent: mutipleSession ? 16 : 0, viewState: viewState, thread: thread, session: session, isBottom: index === threads.length - 1 }))),
|
|
141
141
|
subSession.length > 0 &&
|
|
142
142
|
subSession.map((s) => unfold && react_1.default.createElement(exports.DebugStackSessionView, { key: s.id, viewState: viewState, session: s, indent: 1 })),
|
|
143
143
|
renderLoadMoreThread()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-session.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-session.view.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"debug-call-stack-session.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-session.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface DebugStackThreadViewProps {
|
|
|
7
7
|
viewState: ViewState;
|
|
8
8
|
thread: DebugThread;
|
|
9
9
|
indent?: number;
|
|
10
|
+
isBottom?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare const DebugStackThreadView: (props: DebugStackThreadViewProps) => JSX.Element;
|
|
12
13
|
//# sourceMappingURL=debug-call-stack-thread.view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-thread.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-thread.view.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"debug-call-stack-thread.view.d.ts","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-thread.view.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAA0D,MAAM,4BAA4B,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBAwFpE,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DebugStackThreadView = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const ide_components_1 = require("@opensumi/ide-components");
|
|
6
7
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
8
|
const common_1 = require("../../../common");
|
|
8
9
|
const debug_call_stack_frame_view_1 = require("./debug-call-stack-frame.view");
|
|
@@ -11,7 +12,7 @@ const debug_call_stack_operation_1 = require("./debug-call-stack.operation");
|
|
|
11
12
|
const debug_call_stack_service_1 = require("./debug-call-stack.service");
|
|
12
13
|
const DebugStackThreadView = (props) => {
|
|
13
14
|
var _a;
|
|
14
|
-
const { thread, viewState, indent, session } = props;
|
|
15
|
+
const { thread, viewState, indent, session, isBottom } = props;
|
|
15
16
|
const manager = (0, ide_core_browser_1.useInjectable)(common_1.IDebugSessionManager);
|
|
16
17
|
const debugCallStackService = (0, ide_core_browser_1.useInjectable)(debug_call_stack_service_1.DebugCallStackService);
|
|
17
18
|
const [expanded, setExpanded] = (0, react_1.useState)(true);
|
|
@@ -45,12 +46,8 @@ const DebugStackThreadView = (props) => {
|
|
|
45
46
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
46
47
|
react_1.default.createElement("div", { className: debug_call_stack_module_less_1.default.debug_threads_operation },
|
|
47
48
|
react_1.default.createElement(debug_call_stack_operation_1.DebugStackOperationView, { thread: thread })),
|
|
48
|
-
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_threads_description }, thread.stopped && thread.stoppedDetails
|
|
49
|
-
|
|
50
|
-
? `${(0, ide_core_browser_1.localize)('debug.stack.frame.because')} ${thread.stoppedDetails.reason} ${(0, ide_core_browser_1.localize)('debug.stack.frame.stopped')}`
|
|
51
|
-
: (0, ide_core_browser_1.localize)('debug.stack.frame.stopped')
|
|
52
|
-
: (0, ide_core_browser_1.localize)('debug.stack.frame.running'))))),
|
|
53
|
-
(!mutiple || expanded) && thread.frames.length > 0 && (react_1.default.createElement(debug_call_stack_frame_view_1.DebugStackFramesView, { indent: mutiple ? (mutipleS ? 24 + 14 : 16 + 14) : 8, viewState: viewState, thread: thread, frames: frames, session: session }))));
|
|
49
|
+
react_1.default.createElement("span", { className: debug_call_stack_module_less_1.default.debug_threads_description }, thread.stopped && thread.stoppedDetails ? (thread.raw.id === thread.stoppedDetails.threadId ? (`${(0, ide_core_browser_1.localize)('debug.stack.frame.because')} ${thread.stoppedDetails.reason} ${(0, ide_core_browser_1.localize)('debug.stack.frame.stopped')}`) : ((0, ide_core_browser_1.localize)('debug.stack.frame.stopped'))) : (react_1.default.createElement(ide_components_1.Loading, null)))))),
|
|
50
|
+
(!mutiple || expanded) && thread.frames.length > 0 && (react_1.default.createElement(debug_call_stack_frame_view_1.DebugStackFramesView, { indent: mutiple ? (mutipleS ? 24 + 14 : 16 + 14) : 8, isBottom: isBottom, viewState: viewState, thread: thread, frames: frames, session: session }))));
|
|
54
51
|
};
|
|
55
52
|
exports.DebugStackThreadView = DebugStackThreadView;
|
|
56
53
|
//# sourceMappingURL=debug-call-stack-thread.view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-call-stack-thread.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-thread.view.tsx"],"names":[],"mappings":";;;;AAAA,uDAAgE;AAEhE,iEAA+G;AAE/G,4CAAuD;AAMvD,+EAAqE;AACrE,0GAAoD;AACpD,6EAAuE;AACvE,yEAAmE;
|
|
1
|
+
{"version":3,"file":"debug-call-stack-thread.view.js","sourceRoot":"","sources":["../../../../src/browser/view/frames/debug-call-stack-thread.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
flex: 1;
|
|
127
127
|
margin-right: 12px;
|
|
128
128
|
&.label {
|
|
129
|
-
text-align:
|
|
129
|
+
text-align: left;
|
|
130
130
|
min-width: fit-content;
|
|
131
131
|
opacity: 0.7;
|
|
132
132
|
}
|
|
@@ -148,7 +148,6 @@
|
|
|
148
148
|
color: var(--badge-foreground);
|
|
149
149
|
font-size: 12px;
|
|
150
150
|
margin-left: 5px;
|
|
151
|
-
display: inline-block;
|
|
152
151
|
}
|
|
153
152
|
.debug_stack_frames_item_hidden {
|
|
154
153
|
opacity: 0.4;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-debug",
|
|
3
|
-
"version": "2.23.0",
|
|
3
|
+
"version": "2.23.1-next-1679538359.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,33 +17,33 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "2.23.0",
|
|
21
|
-
"@opensumi/ide-core-common": "2.23.0",
|
|
22
|
-
"@opensumi/ide-core-node": "2.23.0",
|
|
23
|
-
"@opensumi/ide-file-service": "2.23.0",
|
|
24
|
-
"@opensumi/ide-task": "2.23.0",
|
|
25
|
-
"@opensumi/ide-terminal-next": "2.23.0",
|
|
20
|
+
"@opensumi/ide-connection": "2.23.1-next-1679538359.0",
|
|
21
|
+
"@opensumi/ide-core-common": "2.23.1-next-1679538359.0",
|
|
22
|
+
"@opensumi/ide-core-node": "2.23.1-next-1679538359.0",
|
|
23
|
+
"@opensumi/ide-file-service": "2.23.1-next-1679538359.0",
|
|
24
|
+
"@opensumi/ide-task": "2.23.1-next-1679538359.0",
|
|
25
|
+
"@opensumi/ide-terminal-next": "2.23.1-next-1679538359.0",
|
|
26
26
|
"anser": "^1.4.9",
|
|
27
27
|
"btoa": "^1.2.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@opensumi/ide-components": "2.23.0",
|
|
31
|
-
"@opensumi/ide-core-browser": "2.23.0",
|
|
30
|
+
"@opensumi/ide-components": "2.23.1-next-1679538359.0",
|
|
31
|
+
"@opensumi/ide-core-browser": "2.23.1-next-1679538359.0",
|
|
32
32
|
"@opensumi/ide-dev-tool": "1.3.1",
|
|
33
|
-
"@opensumi/ide-editor": "2.23.0",
|
|
34
|
-
"@opensumi/ide-main-layout": "2.23.0",
|
|
35
|
-
"@opensumi/ide-monaco": "2.23.0",
|
|
36
|
-
"@opensumi/ide-monaco-enhance": "2.23.0",
|
|
37
|
-
"@opensumi/ide-output": "2.23.0",
|
|
38
|
-
"@opensumi/ide-overlay": "2.23.0",
|
|
39
|
-
"@opensumi/ide-preferences": "2.23.0",
|
|
40
|
-
"@opensumi/ide-quick-open": "2.23.0",
|
|
41
|
-
"@opensumi/ide-storage": "2.23.0",
|
|
42
|
-
"@opensumi/ide-theme": "2.23.0",
|
|
43
|
-
"@opensumi/ide-variable": "2.23.0",
|
|
44
|
-
"@opensumi/ide-workspace": "2.23.0",
|
|
45
|
-
"@opensumi/ide-workspace-edit": "2.23.0",
|
|
33
|
+
"@opensumi/ide-editor": "2.23.1-next-1679538359.0",
|
|
34
|
+
"@opensumi/ide-main-layout": "2.23.1-next-1679538359.0",
|
|
35
|
+
"@opensumi/ide-monaco": "2.23.1-next-1679538359.0",
|
|
36
|
+
"@opensumi/ide-monaco-enhance": "2.23.1-next-1679538359.0",
|
|
37
|
+
"@opensumi/ide-output": "2.23.1-next-1679538359.0",
|
|
38
|
+
"@opensumi/ide-overlay": "2.23.1-next-1679538359.0",
|
|
39
|
+
"@opensumi/ide-preferences": "2.23.1-next-1679538359.0",
|
|
40
|
+
"@opensumi/ide-quick-open": "2.23.1-next-1679538359.0",
|
|
41
|
+
"@opensumi/ide-storage": "2.23.1-next-1679538359.0",
|
|
42
|
+
"@opensumi/ide-theme": "2.23.1-next-1679538359.0",
|
|
43
|
+
"@opensumi/ide-variable": "2.23.1-next-1679538359.0",
|
|
44
|
+
"@opensumi/ide-workspace": "2.23.1-next-1679538359.0",
|
|
45
|
+
"@opensumi/ide-workspace-edit": "2.23.1-next-1679538359.0",
|
|
46
46
|
"@types/btoa": "^1.2.3"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "c69cb5c519b6e18f8f09a5e926197009c53814c7"
|
|
49
49
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRange } from '@opensumi/ide-core-browser';
|
|
1
|
+
import { formatLocalize, IRange } from '@opensumi/ide-core-browser';
|
|
2
2
|
import { IResourceOpenOptions } from '@opensumi/ide-editor';
|
|
3
3
|
import { Range } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/range';
|
|
4
4
|
import { DebugProtocol } from '@opensumi/vscode-debugprotocol/lib/debugProtocol';
|
|
@@ -9,12 +9,15 @@ import { DebugScope, ExpressionContainer } from '../tree/debug-tree-node.define'
|
|
|
9
9
|
import { DebugSource } from './debug-source';
|
|
10
10
|
import { DebugThread } from './debug-thread';
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
export class DebugStackFrameData {
|
|
14
13
|
readonly raw: DebugProtocol.StackFrame;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
export class DebugStackFrame extends DebugStackFrameData {
|
|
17
|
+
public static is(frame: any): frame is DebugStackFrame {
|
|
18
|
+
return !!frame && 'raw' in frame;
|
|
19
|
+
}
|
|
20
|
+
|
|
18
21
|
constructor(readonly thread: DebugThread, readonly session: DebugSession) {
|
|
19
22
|
super();
|
|
20
23
|
}
|
|
@@ -109,3 +112,25 @@ export class DebugStackFrame extends DebugStackFrameData {
|
|
|
109
112
|
return scopesContainingRange.length ? scopesContainingRange : nonExpensiveScopes;
|
|
110
113
|
}
|
|
111
114
|
}
|
|
115
|
+
|
|
116
|
+
export class ShowMoreDebugStackFrame {
|
|
117
|
+
constructor(
|
|
118
|
+
public readonly startIndex: number,
|
|
119
|
+
public readonly frames: DebugStackFrame[],
|
|
120
|
+
readonly session: DebugSession,
|
|
121
|
+
readonly origin: string,
|
|
122
|
+
readonly _open: (showMoreFrame: ShowMoreDebugStackFrame) => void,
|
|
123
|
+
) {}
|
|
124
|
+
|
|
125
|
+
get name() {
|
|
126
|
+
return formatLocalize('debug.stack.showMoreAndOrigin', this.frames.length, this.origin);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
get id(): string {
|
|
130
|
+
return `${this.session.id}:showMore:${this.startIndex}`;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
open = () => {
|
|
134
|
+
this._open(this);
|
|
135
|
+
};
|
|
136
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import cls from 'classnames';
|
|
2
2
|
import { observer } from 'mobx-react-lite';
|
|
3
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useState, useRef } from 'react';
|
|
4
4
|
|
|
5
5
|
import { RecycleList } from '@opensumi/ide-components';
|
|
6
6
|
import {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import { IDebugSessionManager } from '../../../common';
|
|
16
16
|
import { DebugSession } from '../../debug-session';
|
|
17
17
|
import { DebugSessionManager } from '../../debug-session-manager';
|
|
18
|
-
import { DebugStackFrame } from '../../model';
|
|
18
|
+
import { DebugStackFrame, ShowMoreDebugStackFrame } from '../../model';
|
|
19
19
|
import { DebugThread } from '../../model/debug-thread';
|
|
20
20
|
|
|
21
21
|
import styles from './debug-call-stack.module.less';
|
|
@@ -27,16 +27,18 @@ export interface DebugStackSessionViewProps {
|
|
|
27
27
|
thread: DebugThread;
|
|
28
28
|
viewState: ViewState;
|
|
29
29
|
indent?: number;
|
|
30
|
+
isBottom?: boolean;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
export const DebugStackFramesView = observer((props: DebugStackSessionViewProps) => {
|
|
33
|
-
const { viewState, frames: rawFrames, thread, indent = 0, session } = props;
|
|
34
|
+
const { viewState, frames: rawFrames, thread, indent = 0, session, isBottom } = props;
|
|
34
35
|
const [selected, setSelected] = useState<number | undefined>();
|
|
35
36
|
const [isLoading, setIsLoading] = useState<boolean>(false);
|
|
36
|
-
const [frames, setFrames] = useState<DebugStackFrame[]>([]);
|
|
37
|
+
const [frames, setFrames] = useState<(DebugStackFrame | ShowMoreDebugStackFrame)[]>([]);
|
|
37
38
|
const [framesErrorMessage, setFramesErrorMessage] = useState<string>('');
|
|
38
39
|
const [canLoadMore, setCanLoadMore] = useState<boolean>(false);
|
|
39
40
|
const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
|
|
41
|
+
const currentFrames = useRef<(DebugStackFrame | ShowMoreDebugStackFrame)[]>([]);
|
|
40
42
|
const debugCallStackService = useInjectable<DebugCallStackService>(DebugCallStackService);
|
|
41
43
|
|
|
42
44
|
const loadMore = useCallback(async () => {
|
|
@@ -57,11 +59,76 @@ export const DebugStackFramesView = observer((props: DebugStackSessionViewProps)
|
|
|
57
59
|
}
|
|
58
60
|
};
|
|
59
61
|
|
|
62
|
+
const expandFrame = useCallback(
|
|
63
|
+
(frame: ShowMoreDebugStackFrame) => {
|
|
64
|
+
const expanedFrames = currentFrames.current.slice(0);
|
|
65
|
+
expanedFrames.splice(frame.startIndex, frame.frames.length, ...frame.frames);
|
|
66
|
+
currentFrames.current = expanedFrames;
|
|
67
|
+
setFrames(expanedFrames);
|
|
68
|
+
},
|
|
69
|
+
[currentFrames.current],
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const mergeFrames = useCallback((frames: DebugStackFrame[]) => {
|
|
73
|
+
const len = frames.length;
|
|
74
|
+
const results: (DebugStackFrame | ShowMoreDebugStackFrame)[] = [];
|
|
75
|
+
let showMoreFrames: DebugStackFrame[] = [];
|
|
76
|
+
let showMoreOrigin;
|
|
77
|
+
let showMoreIndex = -1;
|
|
78
|
+
let hasOrigin = false;
|
|
79
|
+
for (let i = 0; i < len; i++) {
|
|
80
|
+
if (frames[i].source?.raw.origin) {
|
|
81
|
+
if (hasOrigin) {
|
|
82
|
+
if (showMoreOrigin === frames[i].source?.raw.origin) {
|
|
83
|
+
showMoreFrames.push(frames[i]);
|
|
84
|
+
continue;
|
|
85
|
+
} else {
|
|
86
|
+
if (showMoreFrames.length > 1) {
|
|
87
|
+
results.push(new ShowMoreDebugStackFrame(i, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
88
|
+
} else {
|
|
89
|
+
results.push(showMoreFrames[0]);
|
|
90
|
+
}
|
|
91
|
+
showMoreFrames = [];
|
|
92
|
+
showMoreIndex = i;
|
|
93
|
+
showMoreOrigin = frames[i].source?.raw.origin;
|
|
94
|
+
showMoreFrames.push(frames[i]);
|
|
95
|
+
}
|
|
96
|
+
} else {
|
|
97
|
+
hasOrigin = true;
|
|
98
|
+
showMoreFrames.push(frames[i]);
|
|
99
|
+
showMoreIndex = i;
|
|
100
|
+
showMoreOrigin = frames[i].source?.raw.origin;
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
if (hasOrigin && showMoreFrames.length > 0) {
|
|
104
|
+
if (showMoreFrames.length > 1) {
|
|
105
|
+
results.push(new ShowMoreDebugStackFrame(i, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
106
|
+
} else {
|
|
107
|
+
results.push(showMoreFrames[0]);
|
|
108
|
+
}
|
|
109
|
+
showMoreFrames = [];
|
|
110
|
+
showMoreIndex = -1;
|
|
111
|
+
hasOrigin = false;
|
|
112
|
+
}
|
|
113
|
+
results.push(frames[i]);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (hasOrigin && showMoreFrames.length > 0) {
|
|
117
|
+
if (showMoreFrames.length > 1) {
|
|
118
|
+
results.push(new ShowMoreDebugStackFrame(showMoreIndex, showMoreFrames, session, showMoreOrigin, expandFrame));
|
|
119
|
+
} else {
|
|
120
|
+
results.push(showMoreFrames[0]);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return results;
|
|
124
|
+
}, []);
|
|
125
|
+
|
|
60
126
|
const updateFrames = useCallback(
|
|
61
127
|
(frames: DebugStackFrame[]) => {
|
|
62
|
-
|
|
128
|
+
currentFrames.current = mergeFrames(frames);
|
|
129
|
+
setFrames(currentFrames.current);
|
|
63
130
|
},
|
|
64
|
-
[frames],
|
|
131
|
+
[frames, mergeFrames],
|
|
65
132
|
);
|
|
66
133
|
|
|
67
134
|
const updateSelected = useCallback(
|
|
@@ -118,13 +185,17 @@ export const DebugStackFramesView = observer((props: DebugStackSessionViewProps)
|
|
|
118
185
|
}, [frames]);
|
|
119
186
|
|
|
120
187
|
const template = ({ data }) => {
|
|
121
|
-
const frame: DebugStackFrame = data;
|
|
122
|
-
const isLabel = frame.raw.presentationHint === 'label';
|
|
123
|
-
const isSubtle = frame.raw.presentationHint === 'subtle';
|
|
124
|
-
const
|
|
188
|
+
const frame: DebugStackFrame | ShowMoreDebugStackFrame = data;
|
|
189
|
+
const isLabel = DebugStackFrame.is(frame) && frame.raw.presentationHint === 'label';
|
|
190
|
+
const isSubtle = DebugStackFrame.is(frame) && frame.raw.presentationHint === 'subtle';
|
|
191
|
+
const onClickHandler = useCallback(() => {
|
|
125
192
|
if (isLabel || isSubtle) {
|
|
126
193
|
return;
|
|
127
194
|
}
|
|
195
|
+
if (!DebugStackFrame.is(frame)) {
|
|
196
|
+
frame.open();
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
128
199
|
manager.updateCurrentSession(frame.session);
|
|
129
200
|
|
|
130
201
|
frame.session.currentThread = frame.thread;
|
|
@@ -135,86 +206,125 @@ export const DebugStackFramesView = observer((props: DebugStackSessionViewProps)
|
|
|
135
206
|
const restartFrame = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
|
|
136
207
|
event.preventDefault();
|
|
137
208
|
event.stopPropagation();
|
|
138
|
-
|
|
209
|
+
if (!DebugStackFrame.is(frame)) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
139
212
|
if (frame.canRestart) {
|
|
140
213
|
frame.restart();
|
|
141
214
|
}
|
|
142
215
|
};
|
|
143
216
|
|
|
217
|
+
const frameItemStyle = {
|
|
218
|
+
paddingLeft: `${indent}px`,
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
if (DebugStackFrame.is(frame) && frame.raw?.source?.presentationHint === 'deemphasize') {
|
|
222
|
+
frameItemStyle['color'] = 'var(--list-deemphasizedForeground)';
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const renderFrame = useCallback((frame) => {
|
|
226
|
+
if (DebugStackFrame.is(frame)) {
|
|
227
|
+
return (
|
|
228
|
+
<>
|
|
229
|
+
<span
|
|
230
|
+
className={cls(styles.debug_stack_frames_item_label, isLabel && styles.label, isSubtle && styles.subtle)}
|
|
231
|
+
>
|
|
232
|
+
{frame.raw && frame.raw.name}
|
|
233
|
+
</span>
|
|
234
|
+
{!isLabel && (
|
|
235
|
+
<span className={styles.debug_stack_frames_item_description}>
|
|
236
|
+
{(frame.raw && frame.raw.source && frame.raw.source.name) || localize('debug.stack.frame.noSource')}
|
|
237
|
+
</span>
|
|
238
|
+
)}
|
|
239
|
+
<>
|
|
240
|
+
{frame.canRestart && (
|
|
241
|
+
<a
|
|
242
|
+
title=''
|
|
243
|
+
onClick={(event) => restartFrame(event)}
|
|
244
|
+
className={cls(styles.debug_restart_frame_icon, getIcon('debug-restart-frame'))}
|
|
245
|
+
></a>
|
|
246
|
+
)}
|
|
247
|
+
{!isLabel && (
|
|
248
|
+
<div className={cls(!isUndefined(frame.raw.line) && styles.debug_stack_frames_item_badge)}>
|
|
249
|
+
{frame.raw && frame.raw.line}
|
|
250
|
+
{!isUndefined(frame.raw.line) && ':'}
|
|
251
|
+
{frame.raw && frame.raw.column}
|
|
252
|
+
</div>
|
|
253
|
+
)}
|
|
254
|
+
</>
|
|
255
|
+
</>
|
|
256
|
+
);
|
|
257
|
+
} else {
|
|
258
|
+
return <span className={styles.debug_stack_frames_load_more}>{frame.name}</span>;
|
|
259
|
+
}
|
|
260
|
+
}, []);
|
|
261
|
+
|
|
144
262
|
return (
|
|
145
263
|
<div
|
|
146
|
-
style={
|
|
264
|
+
style={frameItemStyle}
|
|
147
265
|
className={cls(
|
|
148
266
|
styles.debug_stack_frames_item,
|
|
149
|
-
|
|
150
|
-
|
|
267
|
+
isLabel && styles.is_label,
|
|
268
|
+
DebugStackFrame.is(frame) && selected === frame.raw.id && styles.selected,
|
|
269
|
+
DebugStackFrame.is(frame) &&
|
|
270
|
+
!(frame.raw && frame.raw.source && frame.raw.source.name) &&
|
|
271
|
+
styles.debug_stack_frames_item_hidden,
|
|
151
272
|
)}
|
|
152
|
-
onClick={
|
|
273
|
+
onClick={onClickHandler}
|
|
153
274
|
onContextMenu={(event: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
|
|
154
275
|
debugCallStackService.handleContextMenu(event, data)
|
|
155
276
|
}
|
|
156
277
|
>
|
|
157
|
-
|
|
158
|
-
{frame.raw && frame.raw.name}
|
|
159
|
-
</span>
|
|
160
|
-
<span className={styles.debug_stack_frames_item_description}>
|
|
161
|
-
{(frame.raw && frame.raw.source && frame.raw.source.name) || localize('debug.stack.frame.noSource')}
|
|
162
|
-
</span>
|
|
163
|
-
<>
|
|
164
|
-
<a
|
|
165
|
-
title=''
|
|
166
|
-
onClick={(event) => restartFrame(event)}
|
|
167
|
-
className={cls(styles.debug_restart_frame_icon, getIcon('debug-restart-frame'))}
|
|
168
|
-
></a>
|
|
169
|
-
<div className={cls(!isUndefined(frame.raw.line) && styles.debug_stack_frames_item_badge)}>
|
|
170
|
-
{frame.raw && frame.raw.line}
|
|
171
|
-
{!isUndefined(frame.raw.line) && ':'}
|
|
172
|
-
{frame.raw && frame.raw.column}
|
|
173
|
-
</div>
|
|
174
|
-
</>
|
|
278
|
+
{renderFrame(frame)}
|
|
175
279
|
</div>
|
|
176
280
|
);
|
|
177
281
|
};
|
|
178
282
|
|
|
179
|
-
const renderLoadMoreStackFrames = () => {
|
|
180
|
-
const
|
|
283
|
+
const renderLoadMoreStackFrames = useCallback(() => {
|
|
284
|
+
const onClickHandler = async () => {
|
|
181
285
|
setIsLoading(true);
|
|
182
286
|
await loadMore();
|
|
183
287
|
setIsLoading(false);
|
|
184
288
|
};
|
|
185
289
|
return (
|
|
186
|
-
<div className={styles.debug_stack_frames_item} onClick={
|
|
290
|
+
<div className={styles.debug_stack_frames_item} onClick={onClickHandler}>
|
|
187
291
|
<span className={styles.debug_stack_frames_load_more}>{localize('debug.stack.loadMore')}</span>
|
|
188
292
|
</div>
|
|
189
293
|
);
|
|
190
|
-
};
|
|
294
|
+
}, [isLoading, loadMore]);
|
|
191
295
|
|
|
192
|
-
const renderLoading = (
|
|
193
|
-
|
|
194
|
-
<
|
|
195
|
-
|
|
296
|
+
const renderLoading = useCallback(
|
|
297
|
+
() => (
|
|
298
|
+
<div className={styles.debug_stack_frames_item}>
|
|
299
|
+
<span className={styles.debug_stack_frames_load_more}>{localize('debug.stack.loading')}</span>
|
|
300
|
+
</div>
|
|
301
|
+
),
|
|
302
|
+
[],
|
|
196
303
|
);
|
|
197
304
|
|
|
198
|
-
const renderFramesErrorMessage = (
|
|
199
|
-
|
|
200
|
-
<
|
|
201
|
-
{message}
|
|
202
|
-
|
|
203
|
-
|
|
305
|
+
const renderFramesErrorMessage = useCallback(
|
|
306
|
+
(message: string) => (
|
|
307
|
+
<div className={styles.debug_stack_frames_item}>
|
|
308
|
+
<span className={styles.debug_stack_frames_error_message} title={message}>
|
|
309
|
+
{message}
|
|
310
|
+
</span>
|
|
311
|
+
</div>
|
|
312
|
+
),
|
|
313
|
+
[],
|
|
204
314
|
);
|
|
205
315
|
|
|
206
316
|
if (framesErrorMessage) {
|
|
207
317
|
return <div className={styles.debug_stack_frames}>{renderFramesErrorMessage(framesErrorMessage)}</div>;
|
|
208
318
|
}
|
|
209
319
|
|
|
210
|
-
const footer = () => {
|
|
320
|
+
const footer = useCallback(() => {
|
|
211
321
|
if (isLoading) {
|
|
212
322
|
return renderLoading();
|
|
213
323
|
} else if (canLoadMore) {
|
|
214
324
|
return renderLoadMoreStackFrames();
|
|
215
325
|
}
|
|
216
326
|
return null;
|
|
217
|
-
};
|
|
327
|
+
}, [isLoading, canLoadMore]);
|
|
218
328
|
|
|
219
329
|
return (
|
|
220
330
|
<RecycleList
|
|
@@ -222,8 +332,7 @@ export const DebugStackFramesView = observer((props: DebugStackSessionViewProps)
|
|
|
222
332
|
template={template}
|
|
223
333
|
itemHeight={22}
|
|
224
334
|
width={viewState.width}
|
|
225
|
-
|
|
226
|
-
height={isLoading || canLoadMore ? (frames.length + 1) * 22 : frames.length * 22}
|
|
335
|
+
height={(isLoading || canLoadMore ? (frames.length + 1) * 22 : frames.length * 22) + (isBottom ? 10 : 0)}
|
|
227
336
|
footer={isLoading || canLoadMore ? footer : undefined}
|
|
228
337
|
/>
|
|
229
338
|
);
|
|
@@ -153,7 +153,7 @@ export const DebugStackSessionView = (props: DebugStackSessionViewProps) => {
|
|
|
153
153
|
</div>
|
|
154
154
|
) : (
|
|
155
155
|
otherThreads.map(
|
|
156
|
-
(thread) =>
|
|
156
|
+
(thread: DebugThread, index: number) =>
|
|
157
157
|
!session.hasInMultipleThreadPaused(thread.raw.id) && (
|
|
158
158
|
<DebugStackThreadView
|
|
159
159
|
key={thread.id}
|
|
@@ -161,6 +161,7 @@ export const DebugStackSessionView = (props: DebugStackSessionViewProps) => {
|
|
|
161
161
|
viewState={viewState}
|
|
162
162
|
thread={thread}
|
|
163
163
|
session={session}
|
|
164
|
+
isBottom={index === otherThreads.length - 1}
|
|
164
165
|
/>
|
|
165
166
|
),
|
|
166
167
|
)
|
|
@@ -225,25 +226,27 @@ export const DebugStackSessionView = (props: DebugStackSessionViewProps) => {
|
|
|
225
226
|
</div>
|
|
226
227
|
)}
|
|
227
228
|
{supportsThreadIdCorrespond && unfold
|
|
228
|
-
? multipleThreadPaused.map((t) => (
|
|
229
|
+
? multipleThreadPaused.map((t: DebugThread, index: number) => (
|
|
229
230
|
<DebugStackThreadView
|
|
230
231
|
key={t.id}
|
|
231
232
|
indent={mutipleSession ? 16 : 0}
|
|
232
233
|
viewState={viewState}
|
|
233
234
|
thread={t}
|
|
234
235
|
session={session}
|
|
236
|
+
isBottom={index === multipleThreadPaused.length - 1}
|
|
235
237
|
/>
|
|
236
238
|
))
|
|
237
239
|
: null}
|
|
238
240
|
{!supportsThreadIdCorrespond &&
|
|
239
241
|
(!mutipleSession || unfold) &&
|
|
240
|
-
threads.map((thread) => (
|
|
242
|
+
threads.map((thread: DebugThread, index: number) => (
|
|
241
243
|
<DebugStackThreadView
|
|
242
244
|
key={thread.id}
|
|
243
245
|
indent={mutipleSession ? 16 : 0}
|
|
244
246
|
viewState={viewState}
|
|
245
247
|
thread={thread}
|
|
246
248
|
session={session}
|
|
249
|
+
isBottom={index === threads.length - 1}
|
|
247
250
|
/>
|
|
248
251
|
))}
|
|
249
252
|
{subSession.length > 0 &&
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
2
|
|
|
3
|
+
import { Loading } from '@opensumi/ide-components';
|
|
3
4
|
import { ViewState, getIcon, useInjectable, localize, DisposableCollection } from '@opensumi/ide-core-browser';
|
|
4
5
|
|
|
5
6
|
import { IDebugSessionManager } from '../../../common';
|
|
@@ -18,10 +19,11 @@ export interface DebugStackThreadViewProps {
|
|
|
18
19
|
viewState: ViewState;
|
|
19
20
|
thread: DebugThread;
|
|
20
21
|
indent?: number;
|
|
22
|
+
isBottom?: boolean;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export const DebugStackThreadView = (props: DebugStackThreadViewProps) => {
|
|
24
|
-
const { thread, viewState, indent, session } = props;
|
|
26
|
+
const { thread, viewState, indent, session, isBottom } = props;
|
|
25
27
|
const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
|
|
26
28
|
const debugCallStackService = useInjectable<DebugCallStackService>(DebugCallStackService);
|
|
27
29
|
const [expanded, setExpanded] = useState<boolean>(true);
|
|
@@ -81,13 +83,17 @@ export const DebugStackThreadView = (props: DebugStackThreadViewProps) => {
|
|
|
81
83
|
<DebugStackOperationView thread={thread} />
|
|
82
84
|
</div>
|
|
83
85
|
<span className={styles.debug_threads_description}>
|
|
84
|
-
{thread.stopped && thread.stoppedDetails
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
{thread.stopped && thread.stoppedDetails ? (
|
|
87
|
+
thread.raw.id === thread.stoppedDetails.threadId ? (
|
|
88
|
+
`${localize('debug.stack.frame.because')} ${thread.stoppedDetails.reason} ${localize(
|
|
89
|
+
'debug.stack.frame.stopped',
|
|
90
|
+
)}`
|
|
91
|
+
) : (
|
|
92
|
+
localize('debug.stack.frame.stopped')
|
|
93
|
+
)
|
|
94
|
+
) : (
|
|
95
|
+
<Loading />
|
|
96
|
+
)}
|
|
91
97
|
</span>
|
|
92
98
|
</>
|
|
93
99
|
</div>
|
|
@@ -95,6 +101,7 @@ export const DebugStackThreadView = (props: DebugStackThreadViewProps) => {
|
|
|
95
101
|
{(!mutiple || expanded) && thread.frames.length > 0 && (
|
|
96
102
|
<DebugStackFramesView
|
|
97
103
|
indent={mutiple ? (mutipleS ? 24 + 14 : 16 + 14) : 8}
|
|
104
|
+
isBottom={isBottom}
|
|
98
105
|
viewState={viewState}
|
|
99
106
|
thread={thread}
|
|
100
107
|
frames={frames}
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
flex: 1;
|
|
127
127
|
margin-right: 12px;
|
|
128
128
|
&.label {
|
|
129
|
-
text-align:
|
|
129
|
+
text-align: left;
|
|
130
130
|
min-width: fit-content;
|
|
131
131
|
opacity: 0.7;
|
|
132
132
|
}
|
|
@@ -148,7 +148,6 @@
|
|
|
148
148
|
color: var(--badge-foreground);
|
|
149
149
|
font-size: 12px;
|
|
150
150
|
margin-left: 5px;
|
|
151
|
-
display: inline-block;
|
|
152
151
|
}
|
|
153
152
|
.debug_stack_frames_item_hidden {
|
|
154
153
|
opacity: 0.4;
|