@theia/memory-inspector 1.67.0-next.3 → 1.67.0-next.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +1 -1
  2. package/package.json +4 -4
  3. package/lib/browser/diff-widget/memory-diff-options-widget.d.ts +0 -37
  4. package/lib/browser/diff-widget/memory-diff-options-widget.d.ts.map +0 -1
  5. package/lib/browser/diff-widget/memory-diff-options-widget.js +0 -125
  6. package/lib/browser/diff-widget/memory-diff-options-widget.js.map +0 -1
  7. package/lib/browser/diff-widget/memory-diff-select-widget.d.ts +0 -51
  8. package/lib/browser/diff-widget/memory-diff-select-widget.d.ts.map +0 -1
  9. package/lib/browser/diff-widget/memory-diff-select-widget.js +0 -130
  10. package/lib/browser/diff-widget/memory-diff-select-widget.js.map +0 -1
  11. package/lib/browser/diff-widget/memory-diff-table-widget.d.ts +0 -78
  12. package/lib/browser/diff-widget/memory-diff-table-widget.d.ts.map +0 -1
  13. package/lib/browser/diff-widget/memory-diff-table-widget.js +0 -307
  14. package/lib/browser/diff-widget/memory-diff-table-widget.js.map +0 -1
  15. package/lib/browser/diff-widget/memory-diff-widget-types.d.ts +0 -42
  16. package/lib/browser/diff-widget/memory-diff-widget-types.d.ts.map +0 -1
  17. package/lib/browser/diff-widget/memory-diff-widget-types.js +0 -24
  18. package/lib/browser/diff-widget/memory-diff-widget-types.js.map +0 -1
  19. package/lib/browser/editable-widget/memory-editable-table-widget.d.ts +0 -65
  20. package/lib/browser/editable-widget/memory-editable-table-widget.d.ts.map +0 -1
  21. package/lib/browser/editable-widget/memory-editable-table-widget.js +0 -320
  22. package/lib/browser/editable-widget/memory-editable-table-widget.js.map +0 -1
  23. package/lib/browser/memory-inspector-frontend-contribution.d.ts +0 -47
  24. package/lib/browser/memory-inspector-frontend-contribution.d.ts.map +0 -1
  25. package/lib/browser/memory-inspector-frontend-contribution.js +0 -284
  26. package/lib/browser/memory-inspector-frontend-contribution.js.map +0 -1
  27. package/lib/browser/memory-inspector-frontend-module.d.ts +0 -22
  28. package/lib/browser/memory-inspector-frontend-module.d.ts.map +0 -1
  29. package/lib/browser/memory-inspector-frontend-module.js +0 -88
  30. package/lib/browser/memory-inspector-frontend-module.js.map +0 -1
  31. package/lib/browser/memory-provider/cdt-gdb-memory-provider.d.ts +0 -36
  32. package/lib/browser/memory-provider/cdt-gdb-memory-provider.d.ts.map +0 -1
  33. package/lib/browser/memory-provider/cdt-gdb-memory-provider.js +0 -132
  34. package/lib/browser/memory-provider/cdt-gdb-memory-provider.js.map +0 -1
  35. package/lib/browser/memory-provider/memory-provider-service.d.ts +0 -37
  36. package/lib/browser/memory-provider/memory-provider-service.d.ts.map +0 -1
  37. package/lib/browser/memory-provider/memory-provider-service.js +0 -94
  38. package/lib/browser/memory-provider/memory-provider-service.js.map +0 -1
  39. package/lib/browser/memory-provider/memory-provider.d.ts +0 -66
  40. package/lib/browser/memory-provider/memory-provider.d.ts.map +0 -1
  41. package/lib/browser/memory-provider/memory-provider.js +0 -89
  42. package/lib/browser/memory-provider/memory-provider.js.map +0 -1
  43. package/lib/browser/memory-provider/memory-provider.spec.d.ts +0 -17
  44. package/lib/browser/memory-provider/memory-provider.spec.d.ts.map +0 -1
  45. package/lib/browser/memory-provider/memory-provider.spec.js +0 -24
  46. package/lib/browser/memory-provider/memory-provider.spec.js.map +0 -1
  47. package/lib/browser/memory-widget/memory-options-widget.d.ts +0 -137
  48. package/lib/browser/memory-widget/memory-options-widget.d.ts.map +0 -1
  49. package/lib/browser/memory-widget/memory-options-widget.js +0 -557
  50. package/lib/browser/memory-widget/memory-options-widget.js.map +0 -1
  51. package/lib/browser/memory-widget/memory-table-widget.d.ts +0 -147
  52. package/lib/browser/memory-widget/memory-table-widget.d.ts.map +0 -1
  53. package/lib/browser/memory-widget/memory-table-widget.js +0 -481
  54. package/lib/browser/memory-widget/memory-table-widget.js.map +0 -1
  55. package/lib/browser/memory-widget/memory-widget.d.ts +0 -34
  56. package/lib/browser/memory-widget/memory-widget.d.ts.map +0 -1
  57. package/lib/browser/memory-widget/memory-widget.js +0 -105
  58. package/lib/browser/memory-widget/memory-widget.js.map +0 -1
  59. package/lib/browser/register-widget/register-filter-service.d.ts +0 -43
  60. package/lib/browser/register-widget/register-filter-service.d.ts.map +0 -1
  61. package/lib/browser/register-widget/register-filter-service.js +0 -74
  62. package/lib/browser/register-widget/register-filter-service.js.map +0 -1
  63. package/lib/browser/register-widget/register-options-widget.d.ts +0 -82
  64. package/lib/browser/register-widget/register-options-widget.d.ts.map +0 -1
  65. package/lib/browser/register-widget/register-options-widget.js +0 -331
  66. package/lib/browser/register-widget/register-options-widget.js.map +0 -1
  67. package/lib/browser/register-widget/register-table-widget.d.ts +0 -78
  68. package/lib/browser/register-widget/register-table-widget.d.ts.map +0 -1
  69. package/lib/browser/register-widget/register-table-widget.js +0 -224
  70. package/lib/browser/register-widget/register-table-widget.js.map +0 -1
  71. package/lib/browser/register-widget/register-widget-types.d.ts +0 -30
  72. package/lib/browser/register-widget/register-widget-types.d.ts.map +0 -1
  73. package/lib/browser/register-widget/register-widget-types.js +0 -36
  74. package/lib/browser/register-widget/register-widget-types.js.map +0 -1
  75. package/lib/browser/utils/memory-commands.d.ts +0 -28
  76. package/lib/browser/utils/memory-commands.d.ts.map +0 -1
  77. package/lib/browser/utils/memory-commands.js +0 -68
  78. package/lib/browser/utils/memory-commands.js.map +0 -1
  79. package/lib/browser/utils/memory-hover-renderer.d.ts +0 -34
  80. package/lib/browser/utils/memory-hover-renderer.d.ts.map +0 -1
  81. package/lib/browser/utils/memory-hover-renderer.js +0 -104
  82. package/lib/browser/utils/memory-hover-renderer.js.map +0 -1
  83. package/lib/browser/utils/memory-recents.d.ts +0 -28
  84. package/lib/browser/utils/memory-recents.d.ts.map +0 -1
  85. package/lib/browser/utils/memory-recents.js +0 -53
  86. package/lib/browser/utils/memory-recents.js.map +0 -1
  87. package/lib/browser/utils/memory-widget-components.d.ts +0 -59
  88. package/lib/browser/utils/memory-widget-components.d.ts.map +0 -1
  89. package/lib/browser/utils/memory-widget-components.js +0 -71
  90. package/lib/browser/utils/memory-widget-components.js.map +0 -1
  91. package/lib/browser/utils/memory-widget-manager.d.ts +0 -51
  92. package/lib/browser/utils/memory-widget-manager.d.ts.map +0 -1
  93. package/lib/browser/utils/memory-widget-manager.js +0 -175
  94. package/lib/browser/utils/memory-widget-manager.js.map +0 -1
  95. package/lib/browser/utils/memory-widget-utils.d.ts +0 -114
  96. package/lib/browser/utils/memory-widget-utils.d.ts.map +0 -1
  97. package/lib/browser/utils/memory-widget-utils.js +0 -43
  98. package/lib/browser/utils/memory-widget-utils.js.map +0 -1
  99. package/lib/browser/utils/memory-widget-variable-utils.d.ts +0 -58
  100. package/lib/browser/utils/memory-widget-variable-utils.d.ts.map +0 -1
  101. package/lib/browser/utils/memory-widget-variable-utils.js +0 -145
  102. package/lib/browser/utils/memory-widget-variable-utils.js.map +0 -1
  103. package/lib/browser/utils/multi-select-bar.d.ts +0 -32
  104. package/lib/browser/utils/multi-select-bar.d.ts.map +0 -1
  105. package/lib/browser/utils/multi-select-bar.js +0 -36
  106. package/lib/browser/utils/multi-select-bar.js.map +0 -1
  107. package/lib/browser/wrapper-widgets/memory-dock-panel.d.ts +0 -25
  108. package/lib/browser/wrapper-widgets/memory-dock-panel.d.ts.map +0 -1
  109. package/lib/browser/wrapper-widgets/memory-dock-panel.js +0 -49
  110. package/lib/browser/wrapper-widgets/memory-dock-panel.js.map +0 -1
  111. package/lib/browser/wrapper-widgets/memory-dockpanel-placeholder-widget.d.ts +0 -24
  112. package/lib/browser/wrapper-widgets/memory-dockpanel-placeholder-widget.d.ts.map +0 -1
  113. package/lib/browser/wrapper-widgets/memory-dockpanel-placeholder-widget.js +0 -50
  114. package/lib/browser/wrapper-widgets/memory-dockpanel-placeholder-widget.js.map +0 -1
  115. package/lib/browser/wrapper-widgets/memory-layout-widget.d.ts +0 -52
  116. package/lib/browser/wrapper-widgets/memory-layout-widget.d.ts.map +0 -1
  117. package/lib/browser/wrapper-widgets/memory-layout-widget.js +0 -178
  118. package/lib/browser/wrapper-widgets/memory-layout-widget.js.map +0 -1
  119. package/lib/common/util.d.ts +0 -22
  120. package/lib/common/util.d.ts.map +0 -1
  121. package/lib/common/util.js +0 -32
  122. package/lib/common/util.js.map +0 -1
  123. package/lib/common/utils.spec.d.ts +0 -17
  124. package/lib/common/utils.spec.d.ts.map +0 -1
  125. package/lib/common/utils.spec.js +0 -47
  126. package/lib/common/utils.spec.js.map +0 -1
@@ -1,557 +0,0 @@
1
- "use strict";
2
- /********************************************************************************
3
- * Copyright (C) 2021 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
- var MemoryOptionsWidget_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.MemoryOptionsWidget = exports.AUTO_UPDATE_TOGGLE_ID = exports.ASCII_TOGGLE_ID = exports.ENDIAN_SELECT_ID = exports.BYTES_PER_GROUP_FIELD_ID = exports.BYTES_PER_ROW_FIELD_ID = exports.LOCATION_OFFSET_FIELD_ID = exports.LENGTH_FIELD_ID = exports.LOCATION_FIELD_ID = exports.EMPTY_MEMORY = void 0;
20
- const tslib_1 = require("tslib");
21
- const core_1 = require("@theia/core");
22
- const browser_1 = require("@theia/core/lib/browser");
23
- const promise_util_1 = require("@theia/core/lib/common/promise-util");
24
- const inversify_1 = require("@theia/core/shared/inversify");
25
- const React = tslib_1.__importStar(require("@theia/core/shared/react"));
26
- const debug_session_1 = require("@theia/debug/lib/browser/debug-session");
27
- const debug_session_manager_1 = require("@theia/debug/lib/browser/debug-session-manager");
28
- const long_1 = tslib_1.__importDefault(require("long"));
29
- const memory_provider_service_1 = require("../memory-provider/memory-provider-service");
30
- const memory_recents_1 = require("../utils/memory-recents");
31
- const memory_widget_components_1 = require("../utils/memory-widget-components");
32
- const memory_widget_utils_1 = require("../utils/memory-widget-utils");
33
- const multi_select_bar_1 = require("../utils/multi-select-bar");
34
- const debounce = require("@theia/core/shared/lodash.debounce");
35
- exports.EMPTY_MEMORY = (0, core_1.deepFreeze)({
36
- bytes: new Uint8Array(),
37
- address: new long_1.default(0, 0, true),
38
- });
39
- exports.LOCATION_FIELD_ID = 't-mv-location';
40
- exports.LENGTH_FIELD_ID = 't-mv-length';
41
- exports.LOCATION_OFFSET_FIELD_ID = 't-mv-location-offset';
42
- exports.BYTES_PER_ROW_FIELD_ID = 't-mv-bytesrow';
43
- exports.BYTES_PER_GROUP_FIELD_ID = 't-mv-bytesgroup';
44
- exports.ENDIAN_SELECT_ID = 't-mv-endiannesss';
45
- exports.ASCII_TOGGLE_ID = 't-mv-ascii-toggle';
46
- exports.AUTO_UPDATE_TOGGLE_ID = 't-mv-auto-update-toggle';
47
- let MemoryOptionsWidget = MemoryOptionsWidget_1 = class MemoryOptionsWidget extends browser_1.ReactWidget {
48
- constructor() {
49
- super(...arguments);
50
- this.iconClass = 'memory-view-icon';
51
- this.lockIconClass = 'memory-lock-icon';
52
- this.additionalColumnSelectLabel = core_1.nls.localize('theia/memory-inspector/extraColumn', 'Extra Column');
53
- this.sessionListeners = new core_1.DisposableCollection();
54
- this.onOptionsChangedEmitter = new core_1.Emitter();
55
- this.onOptionsChanged = this.onOptionsChangedEmitter.event;
56
- this.onMemoryChangedEmitter = new core_1.Emitter();
57
- this.onMemoryChanged = this.onMemoryChangedEmitter.event;
58
- this.memoryReadResult = exports.EMPTY_MEMORY;
59
- this.columnsDisplayed = {
60
- address: {
61
- label: core_1.nls.localizeByDefault('Address'),
62
- doRender: true
63
- },
64
- data: {
65
- label: core_1.nls.localize('theia/memory-inspector/data', 'Data'),
66
- doRender: true
67
- },
68
- variables: {
69
- label: core_1.nls.localizeByDefault('Variables'),
70
- doRender: true
71
- },
72
- ascii: {
73
- label: core_1.nls.localize('theia/memory-inspector/ascii', 'ASCII'),
74
- doRender: false
75
- },
76
- };
77
- this.byteSize = 8;
78
- this.bytesPerGroup = 1;
79
- this.groupsPerRow = 4;
80
- this.variables = [];
81
- this.endianness = memory_widget_utils_1.Interfaces.Endianness.Little;
82
- this.memoryReadError = core_1.nls.localize('theia/memory-inspector/memory/readError/noContents', 'No memory contents currently available.');
83
- this.address = 0;
84
- this.offset = 0;
85
- this.readLength = 256;
86
- this.doDisplaySettings = false;
87
- this.doUpdateAutomatically = true;
88
- this.showMemoryError = false;
89
- this.errorTimeout = undefined;
90
- this.recentLocations = new memory_recents_1.Recents();
91
- this.showTitleEditIcon = false;
92
- this.isTitleEditable = false;
93
- this.handleColumnSelectionChange = (columnLabel, doShow) => this.doHandleColumnSelectionChange(columnLabel, doShow);
94
- this.toggleAutoUpdate = (e) => {
95
- var _a;
96
- if (e.nativeEvent.type === 'click') {
97
- e.currentTarget.blur();
98
- }
99
- if ('key' in e && ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode) === browser_1.Key.TAB.keyCode) {
100
- return;
101
- }
102
- this.doUpdateAutomatically = !this.doUpdateAutomatically;
103
- if (this.doUpdateAutomatically) {
104
- this.title.iconClass = this.iconClass;
105
- }
106
- else {
107
- this.title.iconClass = this.lockIconClass;
108
- }
109
- this.fireDidChangeOptions();
110
- };
111
- this.onByteSizeChange = (event) => {
112
- this.byteSize = parseInt(event.target.value);
113
- this.fireDidChangeOptions(event.target.id);
114
- };
115
- this.toggleDoShowSettings = (e) => {
116
- var _a;
117
- if (!('key' in e) || ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode) === browser_1.Key.TAB.keyCode) {
118
- this.doDisplaySettings = !this.doDisplaySettings;
119
- this.update();
120
- }
121
- };
122
- this.assignLocationRef = location => {
123
- this.addressField = location !== null && location !== void 0 ? location : undefined;
124
- };
125
- this.assignReadLengthRef = readLength => {
126
- this.readLengthField = readLength !== null && readLength !== void 0 ? readLength : undefined;
127
- };
128
- this.assignOffsetRef = offset => {
129
- this.offsetField = offset !== null && offset !== void 0 ? offset : undefined;
130
- };
131
- this.setAddressFromSelect = (e) => {
132
- if (this.addressField) {
133
- this.addressField.value = e.target.value;
134
- }
135
- };
136
- this.activateHeaderInputField = (e) => {
137
- var _a, _b;
138
- if (!this.isTitleEditable) {
139
- const isMouseDown = !('key' in e);
140
- const isActivationKey = 'key' in e && (((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode) === browser_1.Key.SPACE.keyCode
141
- || ((_b = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _b === void 0 ? void 0 : _b.keyCode) === browser_1.Key.ENTER.keyCode);
142
- if (isMouseDown || isActivationKey) {
143
- if (isMouseDown) {
144
- e.currentTarget.blur();
145
- }
146
- this.isTitleEditable = true;
147
- this.update();
148
- }
149
- }
150
- };
151
- this.saveHeaderInputValue = (e) => {
152
- const isMouseDown = !('key' in e);
153
- const isSaveKey = 'key' in e && e.key === 'Enter';
154
- const isCancelKey = 'key' in e && e.key === 'Escape';
155
- e.stopPropagation();
156
- if (isMouseDown || isSaveKey || isCancelKey) {
157
- this.updateHeader(isCancelKey);
158
- }
159
- };
160
- this.assignHeaderInputRef = (element) => {
161
- if (element) {
162
- this.headerInputField = element;
163
- element.focus();
164
- }
165
- };
166
- this.doShowMemoryErrors = (doClearError = false) => {
167
- if (this.errorTimeout !== undefined) {
168
- clearTimeout(this.errorTimeout);
169
- }
170
- if (doClearError) {
171
- this.showMemoryError = false;
172
- this.update();
173
- this.errorTimeout = undefined;
174
- return;
175
- }
176
- this.showMemoryError = true;
177
- this.update();
178
- this.errorTimeout = setTimeout(() => {
179
- this.showMemoryError = false;
180
- this.update();
181
- this.errorTimeout = undefined;
182
- }, memory_widget_utils_1.Constants.ERROR_TIMEOUT);
183
- };
184
- this.doRefresh = (event) => {
185
- if ('key' in event && event.key !== 'Enter') {
186
- return;
187
- }
188
- this.updateMemoryView();
189
- };
190
- this.updateMemoryView = debounce(this.doUpdateMemoryView.bind(this), memory_widget_utils_1.Constants.DEBOUNCE_TIME, { trailing: true });
191
- // Callbacks for when the various view parameters change.
192
- /**
193
- * Handle bytes per row changed event.
194
- */
195
- this.onGroupsPerRowChange = (event) => {
196
- const { value, id } = event.target;
197
- this.groupsPerRow = parseInt(value);
198
- this.fireDidChangeOptions(id);
199
- };
200
- /**
201
- * Handle bytes per group changed event.
202
- */
203
- this.onBytesPerGroupChange = (event) => {
204
- const { value, id } = event.target;
205
- this.bytesPerGroup = parseInt(value);
206
- this.fireDidChangeOptions(id);
207
- };
208
- /**
209
- * Handle endianness changed event.
210
- */
211
- this.onEndiannessChange = (event) => {
212
- const { value, id } = event.target;
213
- if (value !== memory_widget_utils_1.Interfaces.Endianness.Big && value !== memory_widget_utils_1.Interfaces.Endianness.Little) {
214
- return;
215
- }
216
- this.endianness = value;
217
- this.fireDidChangeOptions(id);
218
- };
219
- }
220
- get memory() {
221
- return {
222
- ...this.memoryReadResult,
223
- variables: this.variables,
224
- };
225
- }
226
- get options() {
227
- return this.storeState();
228
- }
229
- init() {
230
- this.addClass(MemoryOptionsWidget_1.ID);
231
- this.title.label = core_1.nls.localize('theia/memory-inspector/memory', 'Memory ({0})', this.memoryWidgetOptions.displayId);
232
- this.title.caption = core_1.nls.localize('theia/memory-inspector/memory', 'Memory ({0})', this.memoryWidgetOptions.displayId);
233
- this.title.iconClass = this.iconClass;
234
- this.title.closable = true;
235
- if (this.memoryWidgetOptions.dynamic !== false) {
236
- this.toDispose.push(this.sessionManager.onDidChangeActiveDebugSession(({ current }) => {
237
- this.setUpListeners(current);
238
- }));
239
- this.toDispose.push(this.sessionManager.onDidCreateDebugSession(current => {
240
- this.setUpListeners(current);
241
- }));
242
- this.setUpListeners(this.sessionManager.currentSession);
243
- }
244
- this.toDispose.push(this.onOptionsChanged(() => this.update()));
245
- this.update();
246
- }
247
- async setAddressAndGo(newAddress, newOffset, newLength, direction) {
248
- let doUpdate = false;
249
- const originalValues = {
250
- offset: '',
251
- length: '',
252
- };
253
- if (this.addressField) {
254
- this.addressField.value = newAddress;
255
- doUpdate = true;
256
- }
257
- if (this.offsetField && newOffset !== undefined) {
258
- originalValues.offset = this.offsetField.value;
259
- this.offsetField.value = newOffset.toString();
260
- doUpdate = true;
261
- }
262
- if (this.readLengthField && newLength !== undefined) {
263
- originalValues.length = this.readLengthField.value;
264
- this.readLengthField.value = newLength.toString();
265
- doUpdate = true;
266
- }
267
- if (doUpdate && this.readLengthField && this.offsetField) {
268
- this.pinnedMemoryReadResult = new promise_util_1.Deferred();
269
- this.updateMemoryView();
270
- const result = await this.pinnedMemoryReadResult.promise;
271
- if (result === false) {
272
- // Memory request errored
273
- this.readLengthField.value = originalValues.length;
274
- this.offsetField.value = originalValues.offset;
275
- }
276
- if (result) {
277
- // Memory request returned some memory
278
- const resultLength = result.bytes.length * 8 / this.byteSize;
279
- const lengthFieldValue = parseInt(this.readLengthField.value);
280
- if (lengthFieldValue !== resultLength) {
281
- this.memoryReadError = core_1.nls.localize('theia/memory-inspector/memory/readError/bounds', 'Memory bounds exceeded, result will be truncated.');
282
- this.doShowMemoryErrors();
283
- this.readLengthField.value = resultLength.toString();
284
- if (direction === 'above') {
285
- this.offsetField.value = `${parseInt(originalValues.offset) - (resultLength - parseInt(originalValues.length))}`;
286
- }
287
- this.update();
288
- }
289
- }
290
- }
291
- return undefined;
292
- }
293
- setUpListeners(session) {
294
- this.sessionListeners.dispose();
295
- this.sessionListeners = new core_1.DisposableCollection(core_1.Disposable.create(() => this.handleActiveSessionChange()));
296
- if (session) {
297
- this.sessionListeners.push(session.onDidChange(() => this.handleSessionChange()));
298
- }
299
- }
300
- handleActiveSessionChange() {
301
- const isDynamic = this.memoryWidgetOptions.dynamic !== false;
302
- if (isDynamic && this.doUpdateAutomatically) {
303
- this.memoryReadResult = exports.EMPTY_MEMORY;
304
- this.fireDidChangeMemory();
305
- }
306
- }
307
- handleSessionChange() {
308
- var _a, _b;
309
- const isStopped = ((_a = this.sessionManager.currentSession) === null || _a === void 0 ? void 0 : _a.state) === debug_session_1.DebugState.Stopped;
310
- const isReadyForQuery = !!((_b = this.sessionManager.currentSession) === null || _b === void 0 ? void 0 : _b.currentFrame);
311
- const isDynamic = this.memoryWidgetOptions.dynamic !== false;
312
- if (isStopped && isReadyForQuery && isDynamic && this.doUpdateAutomatically && this.memoryReadResult !== exports.EMPTY_MEMORY) {
313
- this.updateMemoryView();
314
- }
315
- }
316
- onActivateRequest(msg) {
317
- super.onActivateRequest(msg);
318
- this.acceptFocus();
319
- }
320
- acceptFocus() {
321
- if (this.doUpdateAutomatically) {
322
- if (this.addressField) {
323
- this.addressField.focus();
324
- this.addressField.select();
325
- }
326
- }
327
- else {
328
- const settingsCog = this.node.querySelector('.toggle-settings-click-zone');
329
- settingsCog === null || settingsCog === void 0 ? void 0 : settingsCog.focus();
330
- }
331
- }
332
- doHandleColumnSelectionChange(columnLabel, doShow) {
333
- if (columnLabel in this.columnsDisplayed) {
334
- this.columnsDisplayed[columnLabel].doRender = doShow;
335
- this.fireDidChangeOptions(exports.ASCII_TOGGLE_ID);
336
- }
337
- }
338
- onAfterAttach(msg) {
339
- super.onAfterAttach(msg);
340
- if (this.memoryWidgetOptions.dynamic !== false) {
341
- if (this.addressField) {
342
- this.addressField.value = this.address.toString();
343
- }
344
- }
345
- }
346
- render() {
347
- return (React.createElement("div", { className: 't-mv-container' }, this.renderInputContainer()));
348
- }
349
- renderInputContainer() {
350
- return (React.createElement("div", { className: 't-mv-settings-container' },
351
- React.createElement("div", { className: 't-mv-wrapper' },
352
- this.renderToolbar(),
353
- this.renderMemoryLocationGroup(),
354
- this.doDisplaySettings && (React.createElement("div", { className: 't-mv-toggle-settings-wrapper' }, this.renderByteDisplayGroup())))));
355
- }
356
- renderByteDisplayGroup() {
357
- return (React.createElement("div", { className: 't-mv-group settings-group' },
358
- React.createElement(memory_widget_components_1.MWSelect, { id: 'byte-size-select', label: core_1.nls.localize('theia/memory-inspector/byteSize', 'Byte Size'), value: this.byteSize.toString(), onChange: this.onByteSizeChange, options: ['8', '16', '32', '64'] }),
359
- React.createElement(memory_widget_components_1.MWSelect, { id: exports.BYTES_PER_GROUP_FIELD_ID, label: core_1.nls.localize('theia/memory-inspector/bytesPerGroup', 'Bytes Per Group'), value: this.bytesPerGroup.toString(), onChange: this.onBytesPerGroupChange, options: ['1', '2', '4', '8', '16'] }),
360
- React.createElement(memory_widget_components_1.MWSelect, { id: exports.BYTES_PER_ROW_FIELD_ID, label: core_1.nls.localize('theia/memory-inspector/groupsPerRow', 'Groups Per Row'), value: this.groupsPerRow.toString(), onChange: this.onGroupsPerRowChange, options: ['1', '2', '4', '8', '16', '32'] }),
361
- React.createElement(memory_widget_components_1.MWSelect, { id: exports.ENDIAN_SELECT_ID, label: core_1.nls.localize('theia/memory-inspector/endianness', 'Endianness'), value: this.endianness, onChange: this.onEndiannessChange, options: [memory_widget_utils_1.Interfaces.Endianness.Little, memory_widget_utils_1.Interfaces.Endianness.Big] }),
362
- React.createElement(multi_select_bar_1.MWMultiSelect, { id: exports.ASCII_TOGGLE_ID, label: core_1.nls.localize('theia/memory-inspector/columns', 'Columns'), items: this.getOptionalColumns(), onSelectionChanged: this.handleColumnSelectionChange })));
363
- }
364
- getObligatoryColumnIds() {
365
- return ['address', 'data'];
366
- }
367
- getOptionalColumns() {
368
- const obligatoryColumns = new Set(this.getObligatoryColumnIds());
369
- return Object.entries(this.columnsDisplayed)
370
- .reduce((accumulated, [id, { doRender, label }]) => {
371
- if (!obligatoryColumns.has(id)) {
372
- accumulated.push({ id, label, defaultChecked: doRender });
373
- }
374
- return accumulated;
375
- }, []);
376
- }
377
- renderMemoryLocationGroup() {
378
- return (React.createElement(React.Fragment, null,
379
- React.createElement("div", { className: 't-mv-group view-group' },
380
- React.createElement(memory_widget_components_1.MWInputWithSelect, { id: exports.LOCATION_FIELD_ID, label: core_1.nls.localizeByDefault('Address'), title: core_1.nls.localize('theia/memory-inspector/addressTooltip', 'Memory location to display, an address or expression evaluating to an address'), defaultValue: `${this.address}`, onSelectChange: this.setAddressFromSelect, passRef: this.assignLocationRef, onKeyDown: this.doRefresh, options: [...this.recentLocations.values], disabled: !this.doUpdateAutomatically }),
381
- React.createElement(memory_widget_components_1.MWInput, { id: exports.LOCATION_OFFSET_FIELD_ID, label: core_1.nls.localize('theia/memory-inspector/offset', 'Offset'), title: core_1.nls.localize('theia/memory-inspector/offsetTooltip', 'Offset to be added to the current memory location, when navigating'), defaultValue: '0', passRef: this.assignOffsetRef, onKeyDown: this.doRefresh, disabled: !this.doUpdateAutomatically }),
382
- React.createElement(memory_widget_components_1.MWInput, { id: exports.LENGTH_FIELD_ID, label: core_1.nls.localize('theia/memory-inspector/length', 'Length'), title: core_1.nls.localize('theia/memory-inspector/lengthTooltip', 'Number of bytes to fetch, in decimal or hexadecimal'), defaultValue: this.readLength.toString(), passRef: this.assignReadLengthRef, onChange: memory_widget_utils_1.Utils.validateNumericalInputs, onKeyDown: this.doRefresh, disabled: !this.doUpdateAutomatically }),
383
- React.createElement("button", { type: 'button', className: 'theia-button main view-group-go-button', onClick: this.doRefresh, disabled: !this.doUpdateAutomatically, title: core_1.nls.localizeByDefault('Go') }, core_1.nls.localizeByDefault('Go'))),
384
- React.createElement("div", { className: `t-mv-memory-fetch-error${this.showMemoryError ? ' show' : ' hide'}` }, this.memoryReadError)));
385
- }
386
- updateHeader(isCancelKey) {
387
- if (!isCancelKey && this.headerInputField) {
388
- this.title.label = this.headerInputField.value;
389
- this.title.caption = this.headerInputField.value;
390
- }
391
- this.isTitleEditable = false;
392
- this.update();
393
- }
394
- renderToolbar() {
395
- return (React.createElement("div", { className: 'memory-widget-toolbar' },
396
- this.renderLockIcon(),
397
- this.renderEditableTitleField(),
398
- this.renderSettingsContainer()));
399
- }
400
- renderSettingsContainer() {
401
- return React.createElement("div", { className: 'toggle-settings-container' },
402
- React.createElement("div", { className: 'toggle-settings-click-zone no-select', tabIndex: 0, "aria-label": this.doDisplaySettings ?
403
- core_1.nls.localize('theia/memory-inspector/memory/hideSettings', 'Hide Settings Panel') :
404
- core_1.nls.localize('theia/memory-inspector/memory/showSettings', 'Show Settings Panel'), role: 'button', onClick: this.toggleDoShowSettings, onKeyDown: this.toggleDoShowSettings, title: this.doDisplaySettings ?
405
- core_1.nls.localize('theia/memory-inspector/memory/hideSettings', 'Hide Settings Panel') :
406
- core_1.nls.localize('theia/memory-inspector/memory/showSettings', 'Show Settings Panel') },
407
- React.createElement("i", { className: 'codicon codicon-settings-gear' }),
408
- React.createElement("span", null, this.doDisplaySettings ?
409
- core_1.nls.localize('theia/memory-inspector/closeSettings', 'Close Settings') :
410
- core_1.nls.localizeByDefault('Settings'))));
411
- }
412
- renderLockIcon() {
413
- return this.memoryWidgetOptions.dynamic !== false && (React.createElement("div", { className: 'memory-widget-auto-updates-container' },
414
- React.createElement("div", { className: `fa fa-${this.doUpdateAutomatically ? 'unlock' : 'lock'}`, id: exports.AUTO_UPDATE_TOGGLE_ID, title: this.doUpdateAutomatically ?
415
- core_1.nls.localize('theia/memory-inspector/memory/freeze', 'Freeze Memory View') :
416
- core_1.nls.localize('theia/memory-inspector/memory/unfreeze', 'Unfreeze Memory View'), onClick: this.toggleAutoUpdate, onKeyDown: this.toggleAutoUpdate, role: 'button', tabIndex: 0 })));
417
- }
418
- renderEditableTitleField() {
419
- return (React.createElement("div", { className: 'memory-widget-header-click-zone', tabIndex: 0, onClick: this.activateHeaderInputField, onKeyDown: this.activateHeaderInputField, role: 'button' },
420
- !this.isTitleEditable
421
- ? (React.createElement("h2", { className: `${MemoryOptionsWidget_1.WIDGET_H2_CLASS}${!this.doUpdateAutomatically ? ' disabled' : ''} no-select` }, this.title.label))
422
- : React.createElement("input", { className: 'theia-input', type: 'text', defaultValue: this.title.label, onKeyDown: this.saveHeaderInputValue, spellCheck: false, ref: this.assignHeaderInputRef }),
423
- !this.isTitleEditable && (React.createElement("div", { className: `fa fa-pencil${this.showTitleEditIcon ? ' show' : ' hide'}` })),
424
- this.isTitleEditable && (React.createElement("div", { className: 'fa fa-save', onClick: this.saveHeaderInputValue, onKeyDown: this.saveHeaderInputValue, role: 'button', tabIndex: 0, title: core_1.nls.localizeByDefault('Save') }))));
425
- }
426
- storeState() {
427
- var _a, _b, _c, _d, _e, _f;
428
- return {
429
- address: (_b = (_a = this.addressField) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.address,
430
- offset: (_d = parseInt(`${(_c = this.offsetField) === null || _c === void 0 ? void 0 : _c.value}`)) !== null && _d !== void 0 ? _d : this.offset,
431
- length: (_f = parseInt(`${(_e = this.readLengthField) === null || _e === void 0 ? void 0 : _e.value}`)) !== null && _f !== void 0 ? _f : this.readLength,
432
- byteSize: this.byteSize,
433
- bytesPerGroup: this.bytesPerGroup,
434
- groupsPerRow: this.groupsPerRow,
435
- endianness: this.endianness,
436
- doDisplaySettings: this.doDisplaySettings,
437
- columnsDisplayed: this.columnsDisplayed,
438
- recentLocationsArray: this.recentLocations.values,
439
- isFrozen: !this.doUpdateAutomatically,
440
- doUpdateAutomatically: this.doUpdateAutomatically,
441
- };
442
- }
443
- restoreState(oldState) {
444
- var _a, _b, _c, _d, _e, _f, _g, _h;
445
- this.address = (_a = oldState.address) !== null && _a !== void 0 ? _a : this.address;
446
- this.offset = (_b = oldState.offset) !== null && _b !== void 0 ? _b : this.offset;
447
- this.readLength = (_c = oldState.length) !== null && _c !== void 0 ? _c : this.readLength;
448
- this.byteSize = (_d = oldState.byteSize) !== null && _d !== void 0 ? _d : this.byteSize;
449
- this.bytesPerGroup = (_e = oldState.bytesPerGroup) !== null && _e !== void 0 ? _e : this.bytesPerGroup;
450
- this.groupsPerRow = (_f = oldState.groupsPerRow) !== null && _f !== void 0 ? _f : this.groupsPerRow;
451
- this.endianness = (_g = oldState.endianness) !== null && _g !== void 0 ? _g : this.endianness;
452
- this.recentLocations = (_h = new memory_recents_1.Recents(oldState.recentLocationsArray)) !== null && _h !== void 0 ? _h : this.recentLocations;
453
- this.doDisplaySettings = !!oldState.doDisplaySettings;
454
- if (oldState.columnsDisplayed) {
455
- this.columnsDisplayed = oldState.columnsDisplayed;
456
- }
457
- }
458
- fetchNewMemory() {
459
- this.updateMemoryView();
460
- }
461
- async doUpdateMemoryView() {
462
- var _a, _b;
463
- if (!(this.addressField && this.readLengthField)) {
464
- return;
465
- }
466
- if (((_a = this.addressField) === null || _a === void 0 ? void 0 : _a.value.trim().length) === 0) {
467
- this.memoryReadError = core_1.nls.localize('theia/memory-inspector/memory/addressField/memoryReadError', 'Enter an address or expression in the Location field.');
468
- this.doShowMemoryErrors();
469
- return;
470
- }
471
- if (this.readLengthField.value.trim().length === 0) {
472
- this.memoryReadError = core_1.nls.localize('theia/memory-inspector/memory/readLength/memoryReadError', 'Enter a length (decimal or hexadecimal number) in the Length field.');
473
- this.doShowMemoryErrors();
474
- return;
475
- }
476
- const startAddress = this.addressField.value;
477
- const locationOffset = parseInt(`${(_b = this.offsetField) === null || _b === void 0 ? void 0 : _b.value}`) || 0;
478
- const readLength = parseInt(this.readLengthField.value);
479
- try {
480
- this.memoryReadResult = await this.getMemory(startAddress, readLength, locationOffset);
481
- this.fireDidChangeMemory();
482
- if (this.pinnedMemoryReadResult) {
483
- this.pinnedMemoryReadResult.resolve(this.memoryReadResult);
484
- }
485
- this.doShowMemoryErrors(true);
486
- }
487
- catch (err) {
488
- this.memoryReadError = this.getUserError(err);
489
- console.error('Failed to read memory', err);
490
- this.doShowMemoryErrors();
491
- if (this.pinnedMemoryReadResult) {
492
- this.pinnedMemoryReadResult.resolve(this.memoryReadResult);
493
- }
494
- }
495
- finally {
496
- this.pinnedMemoryReadResult = undefined;
497
- this.update();
498
- }
499
- }
500
- getUserError(err) {
501
- return err instanceof Error ? err.message : core_1.nls.localize('theia/memory-inspector/memory/userError', 'There was an error fetching memory.');
502
- }
503
- async getMemory(memoryReference, count, offset) {
504
- const result = await this.retrieveMemory(memoryReference, count, offset);
505
- try {
506
- this.variables = await this.memoryProvider.getLocals();
507
- }
508
- catch {
509
- this.variables = [];
510
- }
511
- this.recentLocations.add(memoryReference);
512
- this.updateDefaults(memoryReference, count, offset);
513
- return result;
514
- }
515
- async retrieveMemory(memoryReference, count, offset) {
516
- return this.memoryProvider.readMemory({ memoryReference, count, offset });
517
- }
518
- // TODO: This may not be necessary if we change how state is stored (currently in the text fields themselves.)
519
- updateDefaults(address, readLength, offset) {
520
- this.address = address;
521
- this.readLength = readLength;
522
- this.offset = offset;
523
- }
524
- fireDidChangeOptions(targetId) {
525
- this.onOptionsChangedEmitter.fire(targetId);
526
- }
527
- fireDidChangeMemory() {
528
- this.onMemoryChangedEmitter.fire(this.memoryReadResult);
529
- }
530
- };
531
- exports.MemoryOptionsWidget = MemoryOptionsWidget;
532
- MemoryOptionsWidget.ID = 'memory-view-options-widget';
533
- MemoryOptionsWidget.LABEL = core_1.nls.localize('theia/memory-inspector/memoryTitle', 'Memory');
534
- MemoryOptionsWidget.WIDGET_H2_CLASS = 'memory-widget-header';
535
- MemoryOptionsWidget.WIDGET_HEADER_INPUT_CLASS = 'memory-widget-header-input';
536
- tslib_1.__decorate([
537
- (0, inversify_1.inject)(memory_provider_service_1.MemoryProviderService),
538
- tslib_1.__metadata("design:type", memory_provider_service_1.MemoryProviderService)
539
- ], MemoryOptionsWidget.prototype, "memoryProvider", void 0);
540
- tslib_1.__decorate([
541
- (0, inversify_1.inject)(debug_session_manager_1.DebugSessionManager),
542
- tslib_1.__metadata("design:type", debug_session_manager_1.DebugSessionManager)
543
- ], MemoryOptionsWidget.prototype, "sessionManager", void 0);
544
- tslib_1.__decorate([
545
- (0, inversify_1.inject)(memory_widget_utils_1.MemoryWidgetOptions),
546
- tslib_1.__metadata("design:type", Object)
547
- ], MemoryOptionsWidget.prototype, "memoryWidgetOptions", void 0);
548
- tslib_1.__decorate([
549
- (0, inversify_1.postConstruct)(),
550
- tslib_1.__metadata("design:type", Function),
551
- tslib_1.__metadata("design:paramtypes", []),
552
- tslib_1.__metadata("design:returntype", void 0)
553
- ], MemoryOptionsWidget.prototype, "init", null);
554
- exports.MemoryOptionsWidget = MemoryOptionsWidget = MemoryOptionsWidget_1 = tslib_1.__decorate([
555
- (0, inversify_1.injectable)()
556
- ], MemoryOptionsWidget);
557
- //# sourceMappingURL=memory-options-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-options-widget.js","sourceRoot":"","sources":["../../../src/browser/memory-widget/memory-options-widget.tsx"],"names":[],"mappings":"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"}