puppet-editor-services 2.0.4

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 (109) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +510 -0
  3. data/CODEOWNERS +2 -0
  4. data/CODE_OF_CONDUCT.md +46 -0
  5. data/CONTRIBUTING.md +54 -0
  6. data/Gemfile +53 -0
  7. data/LICENSE +201 -0
  8. data/README.md +308 -0
  9. data/Rakefile +185 -0
  10. data/bin/puppet-debugserver +8 -0
  11. data/bin/puppet-languageserver +7 -0
  12. data/bin/puppet-languageserver-sidecar +7 -0
  13. data/lib/dsp/dsp.rb +7 -0
  14. data/lib/dsp/dsp_base.rb +62 -0
  15. data/lib/dsp/dsp_protocol.rb +4619 -0
  16. data/lib/lsp/lsp.rb +10 -0
  17. data/lib/lsp/lsp_base.rb +63 -0
  18. data/lib/lsp/lsp_custom.rb +170 -0
  19. data/lib/lsp/lsp_enums.rb +143 -0
  20. data/lib/lsp/lsp_protocol.rb +2785 -0
  21. data/lib/lsp/lsp_protocol_callhierarchy.proposed.rb +239 -0
  22. data/lib/lsp/lsp_protocol_colorprovider.rb +100 -0
  23. data/lib/lsp/lsp_protocol_configuration.rb +82 -0
  24. data/lib/lsp/lsp_protocol_declaration.rb +73 -0
  25. data/lib/lsp/lsp_protocol_foldingrange.rb +129 -0
  26. data/lib/lsp/lsp_protocol_implementation.rb +75 -0
  27. data/lib/lsp/lsp_protocol_progress.rb +200 -0
  28. data/lib/lsp/lsp_protocol_selectionrange.rb +79 -0
  29. data/lib/lsp/lsp_protocol_sematictokens.proposed.rb +340 -0
  30. data/lib/lsp/lsp_protocol_typedefinition.rb +75 -0
  31. data/lib/lsp/lsp_protocol_workspacefolders.rb +174 -0
  32. data/lib/lsp/lsp_types.rb +1534 -0
  33. data/lib/puppet-debugserver/debug_session/break_points.rb +137 -0
  34. data/lib/puppet-debugserver/debug_session/flow_control.rb +161 -0
  35. data/lib/puppet-debugserver/debug_session/hook_handlers.rb +295 -0
  36. data/lib/puppet-debugserver/debug_session/puppet_session_run_mode.rb +66 -0
  37. data/lib/puppet-debugserver/debug_session/puppet_session_state.rb +122 -0
  38. data/lib/puppet-debugserver/hooks.rb +132 -0
  39. data/lib/puppet-debugserver/message_handler.rb +277 -0
  40. data/lib/puppet-debugserver/puppet_debug_session.rb +541 -0
  41. data/lib/puppet-debugserver/puppet_monkey_patches.rb +118 -0
  42. data/lib/puppet-languageserver/client_session_state.rb +119 -0
  43. data/lib/puppet-languageserver/crash_dump.rb +50 -0
  44. data/lib/puppet-languageserver/epp/validation_provider.rb +34 -0
  45. data/lib/puppet-languageserver/facter_helper.rb +25 -0
  46. data/lib/puppet-languageserver/global_queues/sidecar_queue.rb +205 -0
  47. data/lib/puppet-languageserver/global_queues/single_instance_queue.rb +126 -0
  48. data/lib/puppet-languageserver/global_queues/validation_queue.rb +102 -0
  49. data/lib/puppet-languageserver/global_queues.rb +16 -0
  50. data/lib/puppet-languageserver/manifest/completion_provider.rb +331 -0
  51. data/lib/puppet-languageserver/manifest/definition_provider.rb +99 -0
  52. data/lib/puppet-languageserver/manifest/document_symbol_provider.rb +228 -0
  53. data/lib/puppet-languageserver/manifest/folding_provider.rb +226 -0
  54. data/lib/puppet-languageserver/manifest/format_on_type_provider.rb +143 -0
  55. data/lib/puppet-languageserver/manifest/hover_provider.rb +221 -0
  56. data/lib/puppet-languageserver/manifest/signature_provider.rb +169 -0
  57. data/lib/puppet-languageserver/manifest/validation_provider.rb +127 -0
  58. data/lib/puppet-languageserver/message_handler.rb +462 -0
  59. data/lib/puppet-languageserver/providers.rb +18 -0
  60. data/lib/puppet-languageserver/puppet_helper.rb +108 -0
  61. data/lib/puppet-languageserver/puppet_lexer_helper.rb +55 -0
  62. data/lib/puppet-languageserver/puppet_monkey_patches.rb +39 -0
  63. data/lib/puppet-languageserver/puppet_parser_helper.rb +212 -0
  64. data/lib/puppet-languageserver/puppetfile/validation_provider.rb +185 -0
  65. data/lib/puppet-languageserver/server_capabilities.rb +48 -0
  66. data/lib/puppet-languageserver/session_state/document_store.rb +272 -0
  67. data/lib/puppet-languageserver/session_state/language_client.rb +239 -0
  68. data/lib/puppet-languageserver/session_state/object_cache.rb +162 -0
  69. data/lib/puppet-languageserver/sidecar_protocol.rb +532 -0
  70. data/lib/puppet-languageserver/uri_helper.rb +46 -0
  71. data/lib/puppet-languageserver-sidecar/cache/base.rb +36 -0
  72. data/lib/puppet-languageserver-sidecar/cache/filesystem.rb +111 -0
  73. data/lib/puppet-languageserver-sidecar/cache/null.rb +27 -0
  74. data/lib/puppet-languageserver-sidecar/facter_helper.rb +41 -0
  75. data/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb +52 -0
  76. data/lib/puppet-languageserver-sidecar/puppet_helper.rb +281 -0
  77. data/lib/puppet-languageserver-sidecar/puppet_modulepath_monkey_patches.rb +146 -0
  78. data/lib/puppet-languageserver-sidecar/puppet_monkey_patches.rb +9 -0
  79. data/lib/puppet-languageserver-sidecar/puppet_parser_helper.rb +77 -0
  80. data/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb +399 -0
  81. data/lib/puppet-languageserver-sidecar/puppet_strings_monkey_patches.rb +16 -0
  82. data/lib/puppet-languageserver-sidecar/sidecar_protocol_extensions.rb +16 -0
  83. data/lib/puppet-languageserver-sidecar/workspace.rb +89 -0
  84. data/lib/puppet_debugserver.rb +164 -0
  85. data/lib/puppet_editor_services/connection/base.rb +62 -0
  86. data/lib/puppet_editor_services/connection/stdio.rb +25 -0
  87. data/lib/puppet_editor_services/connection/tcp.rb +34 -0
  88. data/lib/puppet_editor_services/handler/base.rb +16 -0
  89. data/lib/puppet_editor_services/handler/debug_adapter.rb +63 -0
  90. data/lib/puppet_editor_services/handler/json_rpc.rb +133 -0
  91. data/lib/puppet_editor_services/logging.rb +45 -0
  92. data/lib/puppet_editor_services/protocol/base.rb +27 -0
  93. data/lib/puppet_editor_services/protocol/debug_adapter.rb +135 -0
  94. data/lib/puppet_editor_services/protocol/debug_adapter_messages.rb +171 -0
  95. data/lib/puppet_editor_services/protocol/json_rpc.rb +241 -0
  96. data/lib/puppet_editor_services/protocol/json_rpc_messages.rb +200 -0
  97. data/lib/puppet_editor_services/server/base.rb +42 -0
  98. data/lib/puppet_editor_services/server/stdio.rb +85 -0
  99. data/lib/puppet_editor_services/server/tcp.rb +349 -0
  100. data/lib/puppet_editor_services/server.rb +15 -0
  101. data/lib/puppet_editor_services/version.rb +36 -0
  102. data/lib/puppet_editor_services.rb +8 -0
  103. data/lib/puppet_languageserver.rb +263 -0
  104. data/lib/puppet_languageserver_sidecar.rb +361 -0
  105. data/puppet-debugserver +11 -0
  106. data/puppet-editor-services.gemspec +29 -0
  107. data/puppet-languageserver +15 -0
  108. data/puppet-languageserver-sidecar +14 -0
  109. metadata +240 -0
@@ -0,0 +1,4619 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY.This file is built automatically
4
+ # DSP Protocol: vscode-debugprotocol/lib/debugProtocol.d.ts
5
+
6
+ # rubocop:disable Layout/EmptyLinesAroundClassBody
7
+ # rubocop:disable Lint/UselessAssignment
8
+ # rubocop:disable Layout/TrailingWhitespace
9
+ # rubocop:disable Naming/MethodName
10
+
11
+ module DSP
12
+ # interface ProtocolMessage {
13
+ # /** Sequence number (also known as message ID). For protocol messages of type 'request' this ID can be used to cancel the request. */
14
+ # seq: number;
15
+ # /** Message type.
16
+ # Values: 'request', 'response', 'event', etc.
17
+ # */
18
+ # type: string;
19
+ # }
20
+ class ProtocolMessage < DSPBase
21
+ attr_accessor :seq, :type # type: number # type: string
22
+
23
+ def from_h!(value)
24
+ value = {} if value.nil?
25
+ self.seq = value['seq']
26
+ self.type = value['type']
27
+ self
28
+ end
29
+ end
30
+
31
+ # interface Request extends ProtocolMessage {
32
+ # /** The command to execute. */
33
+ # command: string;
34
+ # /** Object containing arguments for the command. */
35
+ # arguments?: any;
36
+ # }
37
+ class Request < DSPBase
38
+ attr_accessor :command, :arguments, :seq, :type # type: string # type: any # type: number # type: string
39
+
40
+ def initialize(initial_hash = nil)
41
+ super
42
+ @optional_method_names = %i[arguments]
43
+ end
44
+
45
+ def from_h!(value)
46
+ value = {} if value.nil?
47
+ self.command = value['command']
48
+ self.arguments = value['arguments']
49
+ self.seq = value['seq']
50
+ self.type = value['type']
51
+ self
52
+ end
53
+ end
54
+
55
+ # interface Event extends ProtocolMessage {
56
+ # /** Type of event. */
57
+ # event: string;
58
+ # /** Event-specific information. */
59
+ # body?: any;
60
+ # }
61
+ class Event < DSPBase
62
+ attr_accessor :event, :body, :seq, :type # type: string # type: any # type: number # type: string
63
+
64
+ def initialize(initial_hash = nil)
65
+ super
66
+ @optional_method_names = %i[body]
67
+ end
68
+
69
+ def from_h!(value)
70
+ value = {} if value.nil?
71
+ self.event = value['event']
72
+ self.body = value['body']
73
+ self.seq = value['seq']
74
+ self.type = value['type']
75
+ self
76
+ end
77
+ end
78
+
79
+ # interface Response extends ProtocolMessage {
80
+ # /** Sequence number of the corresponding request. */
81
+ # request_seq: number;
82
+ # /** Outcome of the request.
83
+ # If true, the request was successful and the 'body' attribute may contain the result of the request.
84
+ # If the value is false, the attribute 'message' contains the error in short form and the 'body' may contain additional information (see 'ErrorResponse.body.error').
85
+ # */
86
+ # success: boolean;
87
+ # /** The command requested. */
88
+ # command: string;
89
+ # /** Contains the raw error in short form if 'success' is false.
90
+ # This raw error might be interpreted by the frontend and is not shown in the UI.
91
+ # Some predefined values exist.
92
+ # Values:
93
+ # 'cancelled': request was cancelled.
94
+ # etc.
95
+ # */
96
+ # message?: string;
97
+ # /** Contains request result if success is true and optional error details if success is false. */
98
+ # body?: any;
99
+ # }
100
+ class Response < DSPBase
101
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
102
+
103
+ def initialize(initial_hash = nil)
104
+ super
105
+ @optional_method_names = %i[message body]
106
+ end
107
+
108
+ def from_h!(value)
109
+ value = {} if value.nil?
110
+ self.request_seq = value['request_seq']
111
+ self.success = value['success'] # Unknown type
112
+ self.command = value['command']
113
+ self.message = value['message']
114
+ self.body = value['body']
115
+ self.seq = value['seq']
116
+ self.type = value['type']
117
+ self
118
+ end
119
+ end
120
+
121
+ # interface ErrorResponse extends Response {
122
+ # body: {
123
+ # /** An optional, structured error message. */
124
+ # error?: Message;
125
+ # };
126
+ # }
127
+ class ErrorResponse < DSPBase
128
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
129
+ # /** An optional, structured error message. */
130
+ # error?: Message;
131
+ # }
132
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
133
+
134
+ def initialize(initial_hash = nil)
135
+ super
136
+ @optional_method_names = %i[message]
137
+ end
138
+
139
+ def from_h!(value)
140
+ value = {} if value.nil?
141
+ self.body = value['body'] # Unknown type
142
+ self.request_seq = value['request_seq']
143
+ self.success = value['success'] # Unknown type
144
+ self.command = value['command']
145
+ self.message = value['message']
146
+ self.seq = value['seq']
147
+ self.type = value['type']
148
+ self
149
+ end
150
+ end
151
+
152
+ # interface CancelRequest extends Request {
153
+ # arguments?: CancelArguments;
154
+ # }
155
+ class CancelRequest < DSPBase
156
+ attr_accessor :arguments, :command, :seq, :type # type: CancelArguments # type: string # type: number # type: string
157
+
158
+ def initialize(initial_hash = nil)
159
+ super
160
+ @optional_method_names = %i[arguments]
161
+ end
162
+
163
+ def from_h!(value)
164
+ value = {} if value.nil?
165
+ self.arguments = CancelArguments.new(value['arguments']) unless value['arguments'].nil?
166
+ self.command = value['command']
167
+ self.seq = value['seq']
168
+ self.type = value['type']
169
+ self
170
+ end
171
+ end
172
+
173
+ # interface CancelArguments {
174
+ # /** The ID (attribute 'seq') of the request to cancel. If missing no request is cancelled.
175
+ # Both a 'requestId' and a 'progressId' can be specified in one request.
176
+ # */
177
+ # requestId?: number;
178
+ # /** The ID (attribute 'progressId') of the progress to cancel. If missing no progress is cancelled.
179
+ # Both a 'requestId' and a 'progressId' can be specified in one request.
180
+ # */
181
+ # progressId?: string;
182
+ # }
183
+ class CancelArguments < DSPBase
184
+ attr_accessor :requestId, :progressId # type: number # type: string
185
+
186
+ def initialize(initial_hash = nil)
187
+ super
188
+ @optional_method_names = %i[requestId progressId]
189
+ end
190
+
191
+ def from_h!(value)
192
+ value = {} if value.nil?
193
+ self.requestId = value['requestId']
194
+ self.progressId = value['progressId']
195
+ self
196
+ end
197
+ end
198
+
199
+ # interface CancelResponse extends Response {
200
+ # }
201
+ class CancelResponse < DSPBase
202
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
203
+
204
+ def initialize(initial_hash = nil)
205
+ super
206
+ @optional_method_names = %i[message body]
207
+ end
208
+
209
+ def from_h!(value)
210
+ value = {} if value.nil?
211
+ self.request_seq = value['request_seq']
212
+ self.success = value['success'] # Unknown type
213
+ self.command = value['command']
214
+ self.message = value['message']
215
+ self.body = value['body']
216
+ self.seq = value['seq']
217
+ self.type = value['type']
218
+ self
219
+ end
220
+ end
221
+
222
+ # interface InitializedEvent extends Event {
223
+ # }
224
+ class InitializedEvent < DSPBase
225
+ attr_accessor :event, :body, :seq, :type # type: string # type: any # type: number # type: string
226
+
227
+ def initialize(initial_hash = nil)
228
+ super
229
+ @optional_method_names = %i[body]
230
+ end
231
+
232
+ def from_h!(value)
233
+ value = {} if value.nil?
234
+ self.event = value['event']
235
+ self.body = value['body']
236
+ self.seq = value['seq']
237
+ self.type = value['type']
238
+ self
239
+ end
240
+ end
241
+
242
+ # interface StoppedEvent extends Event {
243
+ # body: {
244
+ # /** The reason for the event.
245
+ # For backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).
246
+ # Values: 'step', 'breakpoint', 'exception', 'pause', 'entry', 'goto', 'function breakpoint', 'data breakpoint', etc.
247
+ # */
248
+ # reason: string;
249
+ # /** The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is and must be translated. */
250
+ # description?: string;
251
+ # /** The thread which was stopped. */
252
+ # threadId?: number;
253
+ # /** A value of true hints to the frontend that this event should not change the focus. */
254
+ # preserveFocusHint?: boolean;
255
+ # /** Additional information. E.g. if reason is 'exception', text contains the exception name. This string is shown in the UI. */
256
+ # text?: string;
257
+ # /** If 'allThreadsStopped' is true, a debug adapter can announce that all threads have stopped.
258
+ # - The client should use this information to enable that all threads can be expanded to access their stacktraces.
259
+ # - If the attribute is missing or false, only the thread with the given threadId can be expanded.
260
+ # */
261
+ # allThreadsStopped?: boolean;
262
+ # };
263
+ # }
264
+ class StoppedEvent < DSPBase
265
+ attr_accessor :body, :seq, :type # type: {
266
+ # /** The reason for the event.
267
+ # For backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).
268
+ # Values: 'step', 'breakpoint', 'exception', 'pause', 'entry', 'goto', 'function breakpoint', 'data breakpoint', etc.
269
+ # */
270
+ # reason: string;
271
+ # /** The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is and must be translated. */
272
+ # description?: string;
273
+ # /** The thread which was stopped. */
274
+ # threadId?: number;
275
+ # /** A value of true hints to the frontend that this event should not change the focus. */
276
+ # preserveFocusHint?: boolean;
277
+ # /** Additional information. E.g. if reason is 'exception', text contains the exception name. This string is shown in the UI. */
278
+ # text?: string;
279
+ # /** If 'allThreadsStopped' is true, a debug adapter can announce that all threads have stopped.
280
+ # - The client should use this information to enable that all threads can be expanded to access their stacktraces.
281
+ # - If the attribute is missing or false, only the thread with the given threadId can be expanded.
282
+ # */
283
+ # allThreadsStopped?: boolean;
284
+ # }
285
+ attr_accessor :event # type: string # type: number # type: string
286
+
287
+ def from_h!(value)
288
+ value = {} if value.nil?
289
+ self.body = value['body'] # Unknown type
290
+ self.event = value['event']
291
+ self.seq = value['seq']
292
+ self.type = value['type']
293
+ self
294
+ end
295
+ end
296
+
297
+ # interface ContinuedEvent extends Event {
298
+ # body: {
299
+ # /** The thread which was continued. */
300
+ # threadId: number;
301
+ # /** If 'allThreadsContinued' is true, a debug adapter can announce that all threads have continued. */
302
+ # allThreadsContinued?: boolean;
303
+ # };
304
+ # }
305
+ class ContinuedEvent < DSPBase
306
+ attr_accessor :body, :seq, :type # type: {
307
+ # /** The thread which was continued. */
308
+ # threadId: number;
309
+ # /** If 'allThreadsContinued' is true, a debug adapter can announce that all threads have continued. */
310
+ # allThreadsContinued?: boolean;
311
+ # }
312
+ attr_accessor :event # type: string # type: number # type: string
313
+
314
+ def from_h!(value)
315
+ value = {} if value.nil?
316
+ self.body = value['body'] # Unknown type
317
+ self.event = value['event']
318
+ self.seq = value['seq']
319
+ self.type = value['type']
320
+ self
321
+ end
322
+ end
323
+
324
+ # interface ExitedEvent extends Event {
325
+ # body: {
326
+ # /** The exit code returned from the debuggee. */
327
+ # exitCode: number;
328
+ # };
329
+ # }
330
+ class ExitedEvent < DSPBase
331
+ attr_accessor :body, :seq, :type # type: {
332
+ # /** The exit code returned from the debuggee. */
333
+ # exitCode: number;
334
+ # }
335
+ attr_accessor :event # type: string # type: number # type: string
336
+
337
+ def from_h!(value)
338
+ value = {} if value.nil?
339
+ self.body = value['body'] # Unknown type
340
+ self.event = value['event']
341
+ self.seq = value['seq']
342
+ self.type = value['type']
343
+ self
344
+ end
345
+ end
346
+
347
+ # interface TerminatedEvent extends Event {
348
+ # body?: {
349
+ # /** A debug adapter may set 'restart' to true (or to an arbitrary object) to request that the front end restarts the session.
350
+ # The value is not interpreted by the client and passed unmodified as an attribute '__restart' to the 'launch' and 'attach' requests.
351
+ # */
352
+ # restart?: any;
353
+ # };
354
+ # }
355
+ class TerminatedEvent < DSPBase
356
+ attr_accessor :body, :seq, :type # type: {
357
+ # /** A debug adapter may set 'restart' to true (or to an arbitrary object) to request that the front end restarts the session.
358
+ # The value is not interpreted by the client and passed unmodified as an attribute '__restart' to the 'launch' and 'attach' requests.
359
+ # */
360
+ # restart?: any;
361
+ # }
362
+ attr_accessor :event # type: string # type: number # type: string
363
+
364
+ def initialize(initial_hash = nil)
365
+ super
366
+ @optional_method_names = %i[body]
367
+ end
368
+
369
+ def from_h!(value)
370
+ value = {} if value.nil?
371
+ self.body = value['body'] # Unknown type
372
+ self.event = value['event']
373
+ self.seq = value['seq']
374
+ self.type = value['type']
375
+ self
376
+ end
377
+ end
378
+
379
+ # interface ThreadEvent extends Event {
380
+ # body: {
381
+ # /** The reason for the event.
382
+ # Values: 'started', 'exited', etc.
383
+ # */
384
+ # reason: string;
385
+ # /** The identifier of the thread. */
386
+ # threadId: number;
387
+ # };
388
+ # }
389
+ class ThreadEvent < DSPBase
390
+ attr_accessor :body, :seq, :type # type: {
391
+ # /** The reason for the event.
392
+ # Values: 'started', 'exited', etc.
393
+ # */
394
+ # reason: string;
395
+ # /** The identifier of the thread. */
396
+ # threadId: number;
397
+ # }
398
+ attr_accessor :event # type: string # type: number # type: string
399
+
400
+ def from_h!(value)
401
+ value = {} if value.nil?
402
+ self.body = value['body'] # Unknown type
403
+ self.event = value['event']
404
+ self.seq = value['seq']
405
+ self.type = value['type']
406
+ self
407
+ end
408
+ end
409
+
410
+ # interface OutputEvent extends Event {
411
+ # body: {
412
+ # /** The output category. If not specified, 'console' is assumed.
413
+ # Values: 'console', 'stdout', 'stderr', 'telemetry', etc.
414
+ # */
415
+ # category?: string;
416
+ # /** The output to report. */
417
+ # output: string;
418
+ # /** Support for keeping an output log organized by grouping related messages.
419
+ # 'start': Start a new group in expanded mode. Subsequent output events are members of the group and should be shown indented.
420
+ # The 'output' attribute becomes the name of the group and is not indented.
421
+ # 'startCollapsed': Start a new group in collapsed mode. Subsequent output events are members of the group and should be shown indented (as soon as the group is expanded).
422
+ # The 'output' attribute becomes the name of the group and is not indented.
423
+ # 'end': End the current group and decreases the indentation of subsequent output events.
424
+ # A non empty 'output' attribute is shown as the unindented end of the group.
425
+ # */
426
+ # group?: 'start' | 'startCollapsed' | 'end';
427
+ # /** If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing 'variablesReference' to the 'variables' request. The value should be less than or equal to 2147483647 (2^31 - 1). */
428
+ # variablesReference?: number;
429
+ # /** An optional source location where the output was produced. */
430
+ # source?: Source;
431
+ # /** An optional source location line where the output was produced. */
432
+ # line?: number;
433
+ # /** An optional source location column where the output was produced. */
434
+ # column?: number;
435
+ # /** Optional data to report. For the 'telemetry' category the data will be sent to telemetry, for the other categories the data is shown in JSON format. */
436
+ # data?: any;
437
+ # };
438
+ # }
439
+ class OutputEvent < DSPBase
440
+ attr_accessor :body, :seq, :type # type: {
441
+ # /** The output category. If not specified, 'console' is assumed.
442
+ # Values: 'console', 'stdout', 'stderr', 'telemetry', etc.
443
+ # */
444
+ # category?: string;
445
+ # /** The output to report. */
446
+ # output: string;
447
+ # /** Support for keeping an output log organized by grouping related messages.
448
+ # 'start': Start a new group in expanded mode. Subsequent output events are members of the group and should be shown indented.
449
+ # The 'output' attribute becomes the name of the group and is not indented.
450
+ # 'startCollapsed': Start a new group in collapsed mode. Subsequent output events are members of the group and should be shown indented (as soon as the group is expanded).
451
+ # The 'output' attribute becomes the name of the group and is not indented.
452
+ # 'end': End the current group and decreases the indentation of subsequent output events.
453
+ # A non empty 'output' attribute is shown as the unindented end of the group.
454
+ # */
455
+ # group?: 'start' | 'startCollapsed' | 'end';
456
+ # /** If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing 'variablesReference' to the 'variables' request. The value should be less than or equal to 2147483647 (2^31 - 1). */
457
+ # variablesReference?: number;
458
+ # /** An optional source location where the output was produced. */
459
+ # source?: Source;
460
+ # /** An optional source location line where the output was produced. */
461
+ # line?: number;
462
+ # /** An optional source location column where the output was produced. */
463
+ # column?: number;
464
+ # /** Optional data to report. For the 'telemetry' category the data will be sent to telemetry, for the other categories the data is shown in JSON format. */
465
+ # data?: any;
466
+ # }
467
+ attr_accessor :event # type: string # type: number # type: string
468
+
469
+ def from_h!(value)
470
+ value = {} if value.nil?
471
+ self.body = value['body'] # Unknown type
472
+ self.event = value['event']
473
+ self.seq = value['seq']
474
+ self.type = value['type']
475
+ self
476
+ end
477
+ end
478
+
479
+ # interface BreakpointEvent extends Event {
480
+ # body: {
481
+ # /** The reason for the event.
482
+ # Values: 'changed', 'new', 'removed', etc.
483
+ # */
484
+ # reason: string;
485
+ # /** The 'id' attribute is used to find the target breakpoint and the other attributes are used as the new values. */
486
+ # breakpoint: Breakpoint;
487
+ # };
488
+ # }
489
+ class BreakpointEvent < DSPBase
490
+ attr_accessor :body, :seq, :type # type: {
491
+ # /** The reason for the event.
492
+ # Values: 'changed', 'new', 'removed', etc.
493
+ # */
494
+ # reason: string;
495
+ # /** The 'id' attribute is used to find the target breakpoint and the other attributes are used as the new values. */
496
+ # breakpoint: Breakpoint;
497
+ # }
498
+ attr_accessor :event # type: string # type: number # type: string
499
+
500
+ def from_h!(value)
501
+ value = {} if value.nil?
502
+ self.body = value['body'] # Unknown type
503
+ self.event = value['event']
504
+ self.seq = value['seq']
505
+ self.type = value['type']
506
+ self
507
+ end
508
+ end
509
+
510
+ # interface ModuleEvent extends Event {
511
+ # body: {
512
+ # /** The reason for the event. */
513
+ # reason: 'new' | 'changed' | 'removed';
514
+ # /** The new, changed, or removed module. In case of 'removed' only the module id is used. */
515
+ # module: Module;
516
+ # };
517
+ # }
518
+ class ModuleEvent < DSPBase
519
+ attr_accessor :body, :seq, :type # type: {
520
+ # /** The reason for the event. */
521
+ # reason: 'new' | 'changed' | 'removed';
522
+ # /** The new, changed, or removed module. In case of 'removed' only the module id is used. */
523
+ # module: Module;
524
+ # }
525
+ attr_accessor :event # type: string # type: number # type: string
526
+
527
+ def from_h!(value)
528
+ value = {} if value.nil?
529
+ self.body = value['body'] # Unknown type
530
+ self.event = value['event']
531
+ self.seq = value['seq']
532
+ self.type = value['type']
533
+ self
534
+ end
535
+ end
536
+
537
+ # interface LoadedSourceEvent extends Event {
538
+ # body: {
539
+ # /** The reason for the event. */
540
+ # reason: 'new' | 'changed' | 'removed';
541
+ # /** The new, changed, or removed source. */
542
+ # source: Source;
543
+ # };
544
+ # }
545
+ class LoadedSourceEvent < DSPBase
546
+ attr_accessor :body, :seq, :type # type: {
547
+ # /** The reason for the event. */
548
+ # reason: 'new' | 'changed' | 'removed';
549
+ # /** The new, changed, or removed source. */
550
+ # source: Source;
551
+ # }
552
+ attr_accessor :event # type: string # type: number # type: string
553
+
554
+ def from_h!(value)
555
+ value = {} if value.nil?
556
+ self.body = value['body'] # Unknown type
557
+ self.event = value['event']
558
+ self.seq = value['seq']
559
+ self.type = value['type']
560
+ self
561
+ end
562
+ end
563
+
564
+ # interface ProcessEvent extends Event {
565
+ # body: {
566
+ # /** The logical name of the process. This is usually the full path to process's executable file. Example: /home/example/myproj/program.js. */
567
+ # name: string;
568
+ # /** The system process id of the debugged process. This property will be missing for non-system processes. */
569
+ # systemProcessId?: number;
570
+ # /** If true, the process is running on the same computer as the debug adapter. */
571
+ # isLocalProcess?: boolean;
572
+ # /** Describes how the debug engine started debugging this process.
573
+ # 'launch': Process was launched under the debugger.
574
+ # 'attach': Debugger attached to an existing process.
575
+ # 'attachForSuspendedLaunch': A project launcher component has launched a new process in a suspended state and then asked the debugger to attach.
576
+ # */
577
+ # startMethod?: 'launch' | 'attach' | 'attachForSuspendedLaunch';
578
+ # /** The size of a pointer or address for this process, in bits. This value may be used by clients when formatting addresses for display. */
579
+ # pointerSize?: number;
580
+ # };
581
+ # }
582
+ class ProcessEvent < DSPBase
583
+ attr_accessor :body, :seq, :type # type: {
584
+ # /** The logical name of the process. This is usually the full path to process's executable file. Example: /home/example/myproj/program.js. */
585
+ # name: string;
586
+ # /** The system process id of the debugged process. This property will be missing for non-system processes. */
587
+ # systemProcessId?: number;
588
+ # /** If true, the process is running on the same computer as the debug adapter. */
589
+ # isLocalProcess?: boolean;
590
+ # /** Describes how the debug engine started debugging this process.
591
+ # 'launch': Process was launched under the debugger.
592
+ # 'attach': Debugger attached to an existing process.
593
+ # 'attachForSuspendedLaunch': A project launcher component has launched a new process in a suspended state and then asked the debugger to attach.
594
+ # */
595
+ # startMethod?: 'launch' | 'attach' | 'attachForSuspendedLaunch';
596
+ # /** The size of a pointer or address for this process, in bits. This value may be used by clients when formatting addresses for display. */
597
+ # pointerSize?: number;
598
+ # }
599
+ attr_accessor :event # type: string # type: number # type: string
600
+
601
+ def from_h!(value)
602
+ value = {} if value.nil?
603
+ self.body = value['body'] # Unknown type
604
+ self.event = value['event']
605
+ self.seq = value['seq']
606
+ self.type = value['type']
607
+ self
608
+ end
609
+ end
610
+
611
+ # interface CapabilitiesEvent extends Event {
612
+ # body: {
613
+ # /** The set of updated capabilities. */
614
+ # capabilities: Capabilities;
615
+ # };
616
+ # }
617
+ class CapabilitiesEvent < DSPBase
618
+ attr_accessor :body, :seq, :type # type: {
619
+ # /** The set of updated capabilities. */
620
+ # capabilities: Capabilities;
621
+ # }
622
+ attr_accessor :event # type: string # type: number # type: string
623
+
624
+ def from_h!(value)
625
+ value = {} if value.nil?
626
+ self.body = value['body'] # Unknown type
627
+ self.event = value['event']
628
+ self.seq = value['seq']
629
+ self.type = value['type']
630
+ self
631
+ end
632
+ end
633
+
634
+ # interface ProgressStartEvent extends Event {
635
+ # body: {
636
+ # /** An ID that must be used in subsequent 'progressUpdate' and 'progressEnd' events to make them refer to the same progress reporting.
637
+ # IDs must be unique within a debug session.
638
+ # */
639
+ # progressId: string;
640
+ # /** Mandatory (short) title of the progress reporting. Shown in the UI to describe the long running operation. */
641
+ # title: string;
642
+ # /** The request ID that this progress report is related to. If specified a debug adapter is expected to emit
643
+ # progress events for the long running request until the request has been either completed or cancelled.
644
+ # If the request ID is omitted, the progress report is assumed to be related to some general activity of the debug adapter.
645
+ # */
646
+ # requestId?: number;
647
+ # /** If true, the request that reports progress may be canceled with a 'cancel' request.
648
+ # So this property basically controls whether the client should use UX that supports cancellation.
649
+ # Clients that don't support cancellation are allowed to ignore the setting.
650
+ # */
651
+ # cancellable?: boolean;
652
+ # /** Optional, more detailed progress message. */
653
+ # message?: string;
654
+ # /** Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown. */
655
+ # percentage?: number;
656
+ # };
657
+ # }
658
+ class ProgressStartEvent < DSPBase
659
+ attr_accessor :body, :seq, :type # type: {
660
+ # /** An ID that must be used in subsequent 'progressUpdate' and 'progressEnd' events to make them refer to the same progress reporting.
661
+ # IDs must be unique within a debug session.
662
+ # */
663
+ # progressId: string;
664
+ # /** Mandatory (short) title of the progress reporting. Shown in the UI to describe the long running operation. */
665
+ # title: string;
666
+ # /** The request ID that this progress report is related to. If specified a debug adapter is expected to emit
667
+ # progress events for the long running request until the request has been either completed or cancelled.
668
+ # If the request ID is omitted, the progress report is assumed to be related to some general activity of the debug adapter.
669
+ # */
670
+ # requestId?: number;
671
+ # /** If true, the request that reports progress may be canceled with a 'cancel' request.
672
+ # So this property basically controls whether the client should use UX that supports cancellation.
673
+ # Clients that don't support cancellation are allowed to ignore the setting.
674
+ # */
675
+ # cancellable?: boolean;
676
+ # /** Optional, more detailed progress message. */
677
+ # message?: string;
678
+ # /** Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown. */
679
+ # percentage?: number;
680
+ # }
681
+ attr_accessor :event # type: string # type: number # type: string
682
+
683
+ def from_h!(value)
684
+ value = {} if value.nil?
685
+ self.body = value['body'] # Unknown type
686
+ self.event = value['event']
687
+ self.seq = value['seq']
688
+ self.type = value['type']
689
+ self
690
+ end
691
+ end
692
+
693
+ # interface ProgressUpdateEvent extends Event {
694
+ # body: {
695
+ # /** The ID that was introduced in the initial 'progressStart' event. */
696
+ # progressId: string;
697
+ # /** Optional, more detailed progress message. If omitted, the previous message (if any) is used. */
698
+ # message?: string;
699
+ # /** Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown. */
700
+ # percentage?: number;
701
+ # };
702
+ # }
703
+ class ProgressUpdateEvent < DSPBase
704
+ attr_accessor :body, :seq, :type # type: {
705
+ # /** The ID that was introduced in the initial 'progressStart' event. */
706
+ # progressId: string;
707
+ # /** Optional, more detailed progress message. If omitted, the previous message (if any) is used. */
708
+ # message?: string;
709
+ # /** Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown. */
710
+ # percentage?: number;
711
+ # }
712
+ attr_accessor :event # type: string # type: number # type: string
713
+
714
+ def from_h!(value)
715
+ value = {} if value.nil?
716
+ self.body = value['body'] # Unknown type
717
+ self.event = value['event']
718
+ self.seq = value['seq']
719
+ self.type = value['type']
720
+ self
721
+ end
722
+ end
723
+
724
+ # interface ProgressEndEvent extends Event {
725
+ # body: {
726
+ # /** The ID that was introduced in the initial 'ProgressStartEvent'. */
727
+ # progressId: string;
728
+ # /** Optional, more detailed progress message. If omitted, the previous message (if any) is used. */
729
+ # message?: string;
730
+ # };
731
+ # }
732
+ class ProgressEndEvent < DSPBase
733
+ attr_accessor :body, :seq, :type # type: {
734
+ # /** The ID that was introduced in the initial 'ProgressStartEvent'. */
735
+ # progressId: string;
736
+ # /** Optional, more detailed progress message. If omitted, the previous message (if any) is used. */
737
+ # message?: string;
738
+ # }
739
+ attr_accessor :event # type: string # type: number # type: string
740
+
741
+ def from_h!(value)
742
+ value = {} if value.nil?
743
+ self.body = value['body'] # Unknown type
744
+ self.event = value['event']
745
+ self.seq = value['seq']
746
+ self.type = value['type']
747
+ self
748
+ end
749
+ end
750
+
751
+ # interface RunInTerminalRequest extends Request {
752
+ # arguments: RunInTerminalRequestArguments;
753
+ # }
754
+ class RunInTerminalRequest < DSPBase
755
+ attr_accessor :arguments, :command, :seq, :type # type: RunInTerminalRequestArguments # type: string # type: number # type: string
756
+
757
+ def from_h!(value)
758
+ value = {} if value.nil?
759
+ self.arguments = RunInTerminalRequestArguments.new(value['arguments']) unless value['arguments'].nil?
760
+ self.command = value['command']
761
+ self.seq = value['seq']
762
+ self.type = value['type']
763
+ self
764
+ end
765
+ end
766
+
767
+ # interface RunInTerminalRequestArguments {
768
+ # /** What kind of terminal to launch. */
769
+ # kind?: 'integrated' | 'external';
770
+ # /** Optional title of the terminal. */
771
+ # title?: string;
772
+ # /** Working directory of the command. */
773
+ # cwd: string;
774
+ # /** List of arguments. The first argument is the command to run. */
775
+ # args: string[];
776
+ # /** Environment key-value pairs that are added to or removed from the default environment. */
777
+ # env?: {
778
+ # [key: string]: string | null;
779
+ # };
780
+ # }
781
+ class RunInTerminalRequestArguments < DSPBase
782
+ attr_accessor :kind, :title, :cwd, :args, :env # type: string with value 'integrated' | 'external' # type: string # type: string # type: string[] # type: {
783
+
784
+ # [key: string]: string | null;
785
+ # }
786
+
787
+ def initialize(initial_hash = nil)
788
+ super
789
+ @optional_method_names = %i[kind title env]
790
+ end
791
+
792
+ def from_h!(value)
793
+ value = {} if value.nil?
794
+ self.kind = value['kind'] # Unknown type
795
+ self.title = value['title']
796
+ self.cwd = value['cwd']
797
+ self.args = value['args'].map { |val| val } unless value['args'].nil?
798
+ self.env = value['env'] # Unknown type
799
+ self
800
+ end
801
+ end
802
+
803
+ # interface RunInTerminalResponse extends Response {
804
+ # body: {
805
+ # /** The process ID. The value should be less than or equal to 2147483647 (2^31 - 1). */
806
+ # processId?: number;
807
+ # /** The process ID of the terminal shell. The value should be less than or equal to 2147483647 (2^31 - 1). */
808
+ # shellProcessId?: number;
809
+ # };
810
+ # }
811
+ class RunInTerminalResponse < DSPBase
812
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
813
+ # /** The process ID. The value should be less than or equal to 2147483647 (2^31 - 1). */
814
+ # processId?: number;
815
+ # /** The process ID of the terminal shell. The value should be less than or equal to 2147483647 (2^31 - 1). */
816
+ # shellProcessId?: number;
817
+ # }
818
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
819
+
820
+ def initialize(initial_hash = nil)
821
+ super
822
+ @optional_method_names = %i[message]
823
+ end
824
+
825
+ def from_h!(value)
826
+ value = {} if value.nil?
827
+ self.body = value['body'] # Unknown type
828
+ self.request_seq = value['request_seq']
829
+ self.success = value['success'] # Unknown type
830
+ self.command = value['command']
831
+ self.message = value['message']
832
+ self.seq = value['seq']
833
+ self.type = value['type']
834
+ self
835
+ end
836
+ end
837
+
838
+ # interface InitializeRequest extends Request {
839
+ # arguments: InitializeRequestArguments;
840
+ # }
841
+ class InitializeRequest < DSPBase
842
+ attr_accessor :arguments, :command, :seq, :type # type: InitializeRequestArguments # type: string # type: number # type: string
843
+
844
+ def from_h!(value)
845
+ value = {} if value.nil?
846
+ self.arguments = InitializeRequestArguments.new(value['arguments']) unless value['arguments'].nil?
847
+ self.command = value['command']
848
+ self.seq = value['seq']
849
+ self.type = value['type']
850
+ self
851
+ end
852
+ end
853
+
854
+ # interface InitializeRequestArguments {
855
+ # /** The ID of the (frontend) client using this adapter. */
856
+ # clientID?: string;
857
+ # /** The human readable name of the (frontend) client using this adapter. */
858
+ # clientName?: string;
859
+ # /** The ID of the debug adapter. */
860
+ # adapterID: string;
861
+ # /** The ISO-639 locale of the (frontend) client using this adapter, e.g. en-US or de-CH. */
862
+ # locale?: string;
863
+ # /** If true all line numbers are 1-based (default). */
864
+ # linesStartAt1?: boolean;
865
+ # /** If true all column numbers are 1-based (default). */
866
+ # columnsStartAt1?: boolean;
867
+ # /** Determines in what format paths are specified. The default is 'path', which is the native format.
868
+ # Values: 'path', 'uri', etc.
869
+ # */
870
+ # pathFormat?: string;
871
+ # /** Client supports the optional type attribute for variables. */
872
+ # supportsVariableType?: boolean;
873
+ # /** Client supports the paging of variables. */
874
+ # supportsVariablePaging?: boolean;
875
+ # /** Client supports the runInTerminal request. */
876
+ # supportsRunInTerminalRequest?: boolean;
877
+ # /** Client supports memory references. */
878
+ # supportsMemoryReferences?: boolean;
879
+ # /** Client supports progress reporting. */
880
+ # supportsProgressReporting?: boolean;
881
+ # }
882
+ class InitializeRequestArguments < DSPBase
883
+ attr_accessor :clientID, :clientName, :adapterID, :locale, :linesStartAt1, :columnsStartAt1, :pathFormat, :supportsVariableType, :supportsVariablePaging, :supportsRunInTerminalRequest, :supportsMemoryReferences, :supportsProgressReporting # type: string # type: string # type: string # type: string # type: boolean # type: boolean # type: string # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean
884
+
885
+ def initialize(initial_hash = nil)
886
+ super
887
+ @optional_method_names = %i[clientID clientName locale linesStartAt1 columnsStartAt1 pathFormat supportsVariableType supportsVariablePaging supportsRunInTerminalRequest supportsMemoryReferences supportsProgressReporting]
888
+ end
889
+
890
+ def from_h!(value)
891
+ value = {} if value.nil?
892
+ self.clientID = value['clientID']
893
+ self.clientName = value['clientName']
894
+ self.adapterID = value['adapterID']
895
+ self.locale = value['locale']
896
+ self.linesStartAt1 = value['linesStartAt1'] # Unknown type
897
+ self.columnsStartAt1 = value['columnsStartAt1'] # Unknown type
898
+ self.pathFormat = value['pathFormat']
899
+ self.supportsVariableType = value['supportsVariableType'] # Unknown type
900
+ self.supportsVariablePaging = value['supportsVariablePaging'] # Unknown type
901
+ self.supportsRunInTerminalRequest = value['supportsRunInTerminalRequest'] # Unknown type
902
+ self.supportsMemoryReferences = value['supportsMemoryReferences'] # Unknown type
903
+ self.supportsProgressReporting = value['supportsProgressReporting'] # Unknown type
904
+ self
905
+ end
906
+ end
907
+
908
+ # interface InitializeResponse extends Response {
909
+ # /** The capabilities of this debug adapter. */
910
+ # body?: Capabilities;
911
+ # }
912
+ class InitializeResponse < DSPBase
913
+ attr_accessor :body, :request_seq, :success, :command, :message, :seq, :type # type: Capabilities # type: number # type: boolean # type: string # type: string # type: number # type: string
914
+
915
+ def initialize(initial_hash = nil)
916
+ super
917
+ @optional_method_names = %i[body message]
918
+ end
919
+
920
+ def from_h!(value)
921
+ value = {} if value.nil?
922
+ self.body = Capabilities.new(value['body']) unless value['body'].nil?
923
+ self.request_seq = value['request_seq']
924
+ self.success = value['success'] # Unknown type
925
+ self.command = value['command']
926
+ self.message = value['message']
927
+ self.seq = value['seq']
928
+ self.type = value['type']
929
+ self
930
+ end
931
+ end
932
+
933
+ # interface ConfigurationDoneRequest extends Request {
934
+ # arguments?: ConfigurationDoneArguments;
935
+ # }
936
+ class ConfigurationDoneRequest < DSPBase
937
+ attr_accessor :arguments, :command, :seq, :type # type: ConfigurationDoneArguments # type: string # type: number # type: string
938
+
939
+ def initialize(initial_hash = nil)
940
+ super
941
+ @optional_method_names = %i[arguments]
942
+ end
943
+
944
+ def from_h!(value)
945
+ value = {} if value.nil?
946
+ self.arguments = ConfigurationDoneArguments.new(value['arguments']) unless value['arguments'].nil?
947
+ self.command = value['command']
948
+ self.seq = value['seq']
949
+ self.type = value['type']
950
+ self
951
+ end
952
+ end
953
+
954
+ # interface ConfigurationDoneArguments {
955
+ # }
956
+ class ConfigurationDoneArguments < DSPBase
957
+
958
+ def from_h!(value)
959
+ value = {} if value.nil?
960
+ self
961
+ end
962
+ end
963
+
964
+ # interface ConfigurationDoneResponse extends Response {
965
+ # }
966
+ class ConfigurationDoneResponse < DSPBase
967
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
968
+
969
+ def initialize(initial_hash = nil)
970
+ super
971
+ @optional_method_names = %i[message body]
972
+ end
973
+
974
+ def from_h!(value)
975
+ value = {} if value.nil?
976
+ self.request_seq = value['request_seq']
977
+ self.success = value['success'] # Unknown type
978
+ self.command = value['command']
979
+ self.message = value['message']
980
+ self.body = value['body']
981
+ self.seq = value['seq']
982
+ self.type = value['type']
983
+ self
984
+ end
985
+ end
986
+
987
+ # interface LaunchRequest extends Request {
988
+ # arguments: LaunchRequestArguments;
989
+ # }
990
+ class LaunchRequest < DSPBase
991
+ attr_accessor :arguments, :command, :seq, :type # type: LaunchRequestArguments # type: string # type: number # type: string
992
+
993
+ def from_h!(value)
994
+ value = {} if value.nil?
995
+ self.arguments = LaunchRequestArguments.new(value['arguments']) unless value['arguments'].nil?
996
+ self.command = value['command']
997
+ self.seq = value['seq']
998
+ self.type = value['type']
999
+ self
1000
+ end
1001
+ end
1002
+
1003
+ # interface LaunchRequestArguments {
1004
+ # /** If noDebug is true the launch request should launch the program without enabling debugging. */
1005
+ # noDebug?: boolean;
1006
+ # /** Optional data from the previous, restarted session.
1007
+ # The data is sent as the 'restart' attribute of the 'terminated' event.
1008
+ # The client should leave the data intact.
1009
+ # */
1010
+ # __restart?: any;
1011
+ # }
1012
+ class LaunchRequestArguments < DSPBase
1013
+ attr_accessor :noDebug, :__restart # type: boolean # type: any
1014
+
1015
+ def initialize(initial_hash = nil)
1016
+ super
1017
+ @optional_method_names = %i[noDebug __restart]
1018
+ end
1019
+
1020
+ def from_h!(value)
1021
+ value = {} if value.nil?
1022
+ self.noDebug = value['noDebug'] # Unknown type
1023
+ self.__restart = value['__restart']
1024
+ self
1025
+ end
1026
+ end
1027
+
1028
+ # interface LaunchResponse extends Response {
1029
+ # }
1030
+ class LaunchResponse < DSPBase
1031
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1032
+
1033
+ def initialize(initial_hash = nil)
1034
+ super
1035
+ @optional_method_names = %i[message body]
1036
+ end
1037
+
1038
+ def from_h!(value)
1039
+ value = {} if value.nil?
1040
+ self.request_seq = value['request_seq']
1041
+ self.success = value['success'] # Unknown type
1042
+ self.command = value['command']
1043
+ self.message = value['message']
1044
+ self.body = value['body']
1045
+ self.seq = value['seq']
1046
+ self.type = value['type']
1047
+ self
1048
+ end
1049
+ end
1050
+
1051
+ # interface AttachRequest extends Request {
1052
+ # arguments: AttachRequestArguments;
1053
+ # }
1054
+ class AttachRequest < DSPBase
1055
+ attr_accessor :arguments, :command, :seq, :type # type: AttachRequestArguments # type: string # type: number # type: string
1056
+
1057
+ def from_h!(value)
1058
+ value = {} if value.nil?
1059
+ self.arguments = AttachRequestArguments.new(value['arguments']) unless value['arguments'].nil?
1060
+ self.command = value['command']
1061
+ self.seq = value['seq']
1062
+ self.type = value['type']
1063
+ self
1064
+ end
1065
+ end
1066
+
1067
+ # interface AttachRequestArguments {
1068
+ # /** Optional data from the previous, restarted session.
1069
+ # The data is sent as the 'restart' attribute of the 'terminated' event.
1070
+ # The client should leave the data intact.
1071
+ # */
1072
+ # __restart?: any;
1073
+ # }
1074
+ class AttachRequestArguments < DSPBase
1075
+ attr_accessor :__restart # type: any
1076
+
1077
+ def initialize(initial_hash = nil)
1078
+ super
1079
+ @optional_method_names = %i[__restart]
1080
+ end
1081
+
1082
+ def from_h!(value)
1083
+ value = {} if value.nil?
1084
+ self.__restart = value['__restart']
1085
+ self
1086
+ end
1087
+ end
1088
+
1089
+ # interface AttachResponse extends Response {
1090
+ # }
1091
+ class AttachResponse < DSPBase
1092
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1093
+
1094
+ def initialize(initial_hash = nil)
1095
+ super
1096
+ @optional_method_names = %i[message body]
1097
+ end
1098
+
1099
+ def from_h!(value)
1100
+ value = {} if value.nil?
1101
+ self.request_seq = value['request_seq']
1102
+ self.success = value['success'] # Unknown type
1103
+ self.command = value['command']
1104
+ self.message = value['message']
1105
+ self.body = value['body']
1106
+ self.seq = value['seq']
1107
+ self.type = value['type']
1108
+ self
1109
+ end
1110
+ end
1111
+
1112
+ # interface RestartRequest extends Request {
1113
+ # arguments?: RestartArguments;
1114
+ # }
1115
+ class RestartRequest < DSPBase
1116
+ attr_accessor :arguments, :command, :seq, :type # type: RestartArguments # type: string # type: number # type: string
1117
+
1118
+ def initialize(initial_hash = nil)
1119
+ super
1120
+ @optional_method_names = %i[arguments]
1121
+ end
1122
+
1123
+ def from_h!(value)
1124
+ value = {} if value.nil?
1125
+ self.arguments = RestartArguments.new(value['arguments']) unless value['arguments'].nil?
1126
+ self.command = value['command']
1127
+ self.seq = value['seq']
1128
+ self.type = value['type']
1129
+ self
1130
+ end
1131
+ end
1132
+
1133
+ # interface RestartArguments {
1134
+ # }
1135
+ class RestartArguments < DSPBase
1136
+
1137
+ def from_h!(value)
1138
+ value = {} if value.nil?
1139
+ self
1140
+ end
1141
+ end
1142
+
1143
+ # interface RestartResponse extends Response {
1144
+ # }
1145
+ class RestartResponse < DSPBase
1146
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1147
+
1148
+ def initialize(initial_hash = nil)
1149
+ super
1150
+ @optional_method_names = %i[message body]
1151
+ end
1152
+
1153
+ def from_h!(value)
1154
+ value = {} if value.nil?
1155
+ self.request_seq = value['request_seq']
1156
+ self.success = value['success'] # Unknown type
1157
+ self.command = value['command']
1158
+ self.message = value['message']
1159
+ self.body = value['body']
1160
+ self.seq = value['seq']
1161
+ self.type = value['type']
1162
+ self
1163
+ end
1164
+ end
1165
+
1166
+ # interface DisconnectRequest extends Request {
1167
+ # arguments?: DisconnectArguments;
1168
+ # }
1169
+ class DisconnectRequest < DSPBase
1170
+ attr_accessor :arguments, :command, :seq, :type # type: DisconnectArguments # type: string # type: number # type: string
1171
+
1172
+ def initialize(initial_hash = nil)
1173
+ super
1174
+ @optional_method_names = %i[arguments]
1175
+ end
1176
+
1177
+ def from_h!(value)
1178
+ value = {} if value.nil?
1179
+ self.arguments = DisconnectArguments.new(value['arguments']) unless value['arguments'].nil?
1180
+ self.command = value['command']
1181
+ self.seq = value['seq']
1182
+ self.type = value['type']
1183
+ self
1184
+ end
1185
+ end
1186
+
1187
+ # interface DisconnectArguments {
1188
+ # /** A value of true indicates that this 'disconnect' request is part of a restart sequence. */
1189
+ # restart?: boolean;
1190
+ # /** Indicates whether the debuggee should be terminated when the debugger is disconnected.
1191
+ # If unspecified, the debug adapter is free to do whatever it thinks is best.
1192
+ # The attribute is only honored by a debug adapter if the capability 'supportTerminateDebuggee' is true.
1193
+ # */
1194
+ # terminateDebuggee?: boolean;
1195
+ # }
1196
+ class DisconnectArguments < DSPBase
1197
+ attr_accessor :restart, :terminateDebuggee # type: boolean # type: boolean
1198
+
1199
+ def initialize(initial_hash = nil)
1200
+ super
1201
+ @optional_method_names = %i[restart terminateDebuggee]
1202
+ end
1203
+
1204
+ def from_h!(value)
1205
+ value = {} if value.nil?
1206
+ self.restart = value['restart'] # Unknown type
1207
+ self.terminateDebuggee = value['terminateDebuggee'] # Unknown type
1208
+ self
1209
+ end
1210
+ end
1211
+
1212
+ # interface DisconnectResponse extends Response {
1213
+ # }
1214
+ class DisconnectResponse < DSPBase
1215
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1216
+
1217
+ def initialize(initial_hash = nil)
1218
+ super
1219
+ @optional_method_names = %i[message body]
1220
+ end
1221
+
1222
+ def from_h!(value)
1223
+ value = {} if value.nil?
1224
+ self.request_seq = value['request_seq']
1225
+ self.success = value['success'] # Unknown type
1226
+ self.command = value['command']
1227
+ self.message = value['message']
1228
+ self.body = value['body']
1229
+ self.seq = value['seq']
1230
+ self.type = value['type']
1231
+ self
1232
+ end
1233
+ end
1234
+
1235
+ # interface TerminateRequest extends Request {
1236
+ # arguments?: TerminateArguments;
1237
+ # }
1238
+ class TerminateRequest < DSPBase
1239
+ attr_accessor :arguments, :command, :seq, :type # type: TerminateArguments # type: string # type: number # type: string
1240
+
1241
+ def initialize(initial_hash = nil)
1242
+ super
1243
+ @optional_method_names = %i[arguments]
1244
+ end
1245
+
1246
+ def from_h!(value)
1247
+ value = {} if value.nil?
1248
+ self.arguments = TerminateArguments.new(value['arguments']) unless value['arguments'].nil?
1249
+ self.command = value['command']
1250
+ self.seq = value['seq']
1251
+ self.type = value['type']
1252
+ self
1253
+ end
1254
+ end
1255
+
1256
+ # interface TerminateArguments {
1257
+ # /** A value of true indicates that this 'terminate' request is part of a restart sequence. */
1258
+ # restart?: boolean;
1259
+ # }
1260
+ class TerminateArguments < DSPBase
1261
+ attr_accessor :restart # type: boolean
1262
+
1263
+ def initialize(initial_hash = nil)
1264
+ super
1265
+ @optional_method_names = %i[restart]
1266
+ end
1267
+
1268
+ def from_h!(value)
1269
+ value = {} if value.nil?
1270
+ self.restart = value['restart'] # Unknown type
1271
+ self
1272
+ end
1273
+ end
1274
+
1275
+ # interface TerminateResponse extends Response {
1276
+ # }
1277
+ class TerminateResponse < DSPBase
1278
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1279
+
1280
+ def initialize(initial_hash = nil)
1281
+ super
1282
+ @optional_method_names = %i[message body]
1283
+ end
1284
+
1285
+ def from_h!(value)
1286
+ value = {} if value.nil?
1287
+ self.request_seq = value['request_seq']
1288
+ self.success = value['success'] # Unknown type
1289
+ self.command = value['command']
1290
+ self.message = value['message']
1291
+ self.body = value['body']
1292
+ self.seq = value['seq']
1293
+ self.type = value['type']
1294
+ self
1295
+ end
1296
+ end
1297
+
1298
+ # interface BreakpointLocationsRequest extends Request {
1299
+ # arguments?: BreakpointLocationsArguments;
1300
+ # }
1301
+ class BreakpointLocationsRequest < DSPBase
1302
+ attr_accessor :arguments, :command, :seq, :type # type: BreakpointLocationsArguments # type: string # type: number # type: string
1303
+
1304
+ def initialize(initial_hash = nil)
1305
+ super
1306
+ @optional_method_names = %i[arguments]
1307
+ end
1308
+
1309
+ def from_h!(value)
1310
+ value = {} if value.nil?
1311
+ self.arguments = BreakpointLocationsArguments.new(value['arguments']) unless value['arguments'].nil?
1312
+ self.command = value['command']
1313
+ self.seq = value['seq']
1314
+ self.type = value['type']
1315
+ self
1316
+ end
1317
+ end
1318
+
1319
+ # interface BreakpointLocationsArguments {
1320
+ # /** The source location of the breakpoints; either 'source.path' or 'source.reference' must be specified. */
1321
+ # source: Source;
1322
+ # /** Start line of range to search possible breakpoint locations in. If only the line is specified, the request returns all possible locations in that line. */
1323
+ # line: number;
1324
+ # /** Optional start column of range to search possible breakpoint locations in. If no start column is given, the first column in the start line is assumed. */
1325
+ # column?: number;
1326
+ # /** Optional end line of range to search possible breakpoint locations in. If no end line is given, then the end line is assumed to be the start line. */
1327
+ # endLine?: number;
1328
+ # /** Optional end column of range to search possible breakpoint locations in. If no end column is given, then it is assumed to be in the last column of the end line. */
1329
+ # endColumn?: number;
1330
+ # }
1331
+ class BreakpointLocationsArguments < DSPBase
1332
+ attr_accessor :source, :line, :column, :endLine, :endColumn # type: Source # type: number # type: number # type: number # type: number
1333
+
1334
+ def initialize(initial_hash = nil)
1335
+ super
1336
+ @optional_method_names = %i[column endLine endColumn]
1337
+ end
1338
+
1339
+ def from_h!(value)
1340
+ value = {} if value.nil?
1341
+ self.source = Source.new(value['source']) unless value['source'].nil?
1342
+ self.line = value['line']
1343
+ self.column = value['column']
1344
+ self.endLine = value['endLine']
1345
+ self.endColumn = value['endColumn']
1346
+ self
1347
+ end
1348
+ end
1349
+
1350
+ # interface BreakpointLocationsResponse extends Response {
1351
+ # body: {
1352
+ # /** Sorted set of possible breakpoint locations. */
1353
+ # breakpoints: BreakpointLocation[];
1354
+ # };
1355
+ # }
1356
+ class BreakpointLocationsResponse < DSPBase
1357
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1358
+ # /** Sorted set of possible breakpoint locations. */
1359
+ # breakpoints: BreakpointLocation[];
1360
+ # }
1361
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1362
+
1363
+ def initialize(initial_hash = nil)
1364
+ super
1365
+ @optional_method_names = %i[message]
1366
+ end
1367
+
1368
+ def from_h!(value)
1369
+ value = {} if value.nil?
1370
+ self.body = value['body'] # Unknown type
1371
+ self.request_seq = value['request_seq']
1372
+ self.success = value['success'] # Unknown type
1373
+ self.command = value['command']
1374
+ self.message = value['message']
1375
+ self.seq = value['seq']
1376
+ self.type = value['type']
1377
+ self
1378
+ end
1379
+ end
1380
+
1381
+ # interface SetBreakpointsRequest extends Request {
1382
+ # arguments: SetBreakpointsArguments;
1383
+ # }
1384
+ class SetBreakpointsRequest < DSPBase
1385
+ attr_accessor :arguments, :command, :seq, :type # type: SetBreakpointsArguments # type: string # type: number # type: string
1386
+
1387
+ def from_h!(value)
1388
+ value = {} if value.nil?
1389
+ self.arguments = SetBreakpointsArguments.new(value['arguments']) unless value['arguments'].nil?
1390
+ self.command = value['command']
1391
+ self.seq = value['seq']
1392
+ self.type = value['type']
1393
+ self
1394
+ end
1395
+ end
1396
+
1397
+ # interface SetBreakpointsArguments {
1398
+ # /** The source location of the breakpoints; either 'source.path' or 'source.reference' must be specified. */
1399
+ # source: Source;
1400
+ # /** The code locations of the breakpoints. */
1401
+ # breakpoints?: SourceBreakpoint[];
1402
+ # /** Deprecated: The code locations of the breakpoints. */
1403
+ # lines?: number[];
1404
+ # /** A value of true indicates that the underlying source has been modified which results in new breakpoint locations. */
1405
+ # sourceModified?: boolean;
1406
+ # }
1407
+ class SetBreakpointsArguments < DSPBase
1408
+ attr_accessor :source, :breakpoints, :lines, :sourceModified # type: Source # type: SourceBreakpoint[] # type: number[] # type: boolean
1409
+
1410
+ def initialize(initial_hash = nil)
1411
+ super
1412
+ @optional_method_names = %i[breakpoints lines sourceModified]
1413
+ end
1414
+
1415
+ def from_h!(value)
1416
+ value = {} if value.nil?
1417
+ self.source = Source.new(value['source']) unless value['source'].nil?
1418
+ self.breakpoints = to_typed_aray(value['breakpoints'], SourceBreakpoint)
1419
+ self.lines = value['lines'].map { |val| val } unless value['lines'].nil?
1420
+ self.sourceModified = value['sourceModified'] # Unknown type
1421
+ self
1422
+ end
1423
+ end
1424
+
1425
+ # interface SetBreakpointsResponse extends Response {
1426
+ # body: {
1427
+ # /** Information about the breakpoints.
1428
+ # The array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') array in the arguments.
1429
+ # */
1430
+ # breakpoints: Breakpoint[];
1431
+ # };
1432
+ # }
1433
+ class SetBreakpointsResponse < DSPBase
1434
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1435
+ # /** Information about the breakpoints.
1436
+ # The array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') array in the arguments.
1437
+ # */
1438
+ # breakpoints: Breakpoint[];
1439
+ # }
1440
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1441
+
1442
+ def initialize(initial_hash = nil)
1443
+ super
1444
+ @optional_method_names = %i[message]
1445
+ end
1446
+
1447
+ def from_h!(value)
1448
+ value = {} if value.nil?
1449
+ self.body = value['body'] # Unknown type
1450
+ self.request_seq = value['request_seq']
1451
+ self.success = value['success'] # Unknown type
1452
+ self.command = value['command']
1453
+ self.message = value['message']
1454
+ self.seq = value['seq']
1455
+ self.type = value['type']
1456
+ self
1457
+ end
1458
+ end
1459
+
1460
+ # interface SetFunctionBreakpointsRequest extends Request {
1461
+ # arguments: SetFunctionBreakpointsArguments;
1462
+ # }
1463
+ class SetFunctionBreakpointsRequest < DSPBase
1464
+ attr_accessor :arguments, :command, :seq, :type # type: SetFunctionBreakpointsArguments # type: string # type: number # type: string
1465
+
1466
+ def from_h!(value)
1467
+ value = {} if value.nil?
1468
+ self.arguments = SetFunctionBreakpointsArguments.new(value['arguments']) unless value['arguments'].nil?
1469
+ self.command = value['command']
1470
+ self.seq = value['seq']
1471
+ self.type = value['type']
1472
+ self
1473
+ end
1474
+ end
1475
+
1476
+ # interface SetFunctionBreakpointsArguments {
1477
+ # /** The function names of the breakpoints. */
1478
+ # breakpoints: FunctionBreakpoint[];
1479
+ # }
1480
+ class SetFunctionBreakpointsArguments < DSPBase
1481
+ attr_accessor :breakpoints # type: FunctionBreakpoint[]
1482
+
1483
+ def from_h!(value)
1484
+ value = {} if value.nil?
1485
+ self.breakpoints = to_typed_aray(value['breakpoints'], FunctionBreakpoint)
1486
+ self
1487
+ end
1488
+ end
1489
+
1490
+ # interface SetFunctionBreakpointsResponse extends Response {
1491
+ # body: {
1492
+ # /** Information about the breakpoints. The array elements correspond to the elements of the 'breakpoints' array. */
1493
+ # breakpoints: Breakpoint[];
1494
+ # };
1495
+ # }
1496
+ class SetFunctionBreakpointsResponse < DSPBase
1497
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1498
+ # /** Information about the breakpoints. The array elements correspond to the elements of the 'breakpoints' array. */
1499
+ # breakpoints: Breakpoint[];
1500
+ # }
1501
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1502
+
1503
+ def initialize(initial_hash = nil)
1504
+ super
1505
+ @optional_method_names = %i[message]
1506
+ end
1507
+
1508
+ def from_h!(value)
1509
+ value = {} if value.nil?
1510
+ self.body = value['body'] # Unknown type
1511
+ self.request_seq = value['request_seq']
1512
+ self.success = value['success'] # Unknown type
1513
+ self.command = value['command']
1514
+ self.message = value['message']
1515
+ self.seq = value['seq']
1516
+ self.type = value['type']
1517
+ self
1518
+ end
1519
+ end
1520
+
1521
+ # interface SetExceptionBreakpointsRequest extends Request {
1522
+ # arguments: SetExceptionBreakpointsArguments;
1523
+ # }
1524
+ class SetExceptionBreakpointsRequest < DSPBase
1525
+ attr_accessor :arguments, :command, :seq, :type # type: SetExceptionBreakpointsArguments # type: string # type: number # type: string
1526
+
1527
+ def from_h!(value)
1528
+ value = {} if value.nil?
1529
+ self.arguments = SetExceptionBreakpointsArguments.new(value['arguments']) unless value['arguments'].nil?
1530
+ self.command = value['command']
1531
+ self.seq = value['seq']
1532
+ self.type = value['type']
1533
+ self
1534
+ end
1535
+ end
1536
+
1537
+ # interface SetExceptionBreakpointsArguments {
1538
+ # /** IDs of checked exception options. The set of IDs is returned via the 'exceptionBreakpointFilters' capability. */
1539
+ # filters: string[];
1540
+ # /** Configuration options for selected exceptions.
1541
+ # The attribute is only honored by a debug adapter if the capability 'supportsExceptionOptions' is true.
1542
+ # */
1543
+ # exceptionOptions?: ExceptionOptions[];
1544
+ # }
1545
+ class SetExceptionBreakpointsArguments < DSPBase
1546
+ attr_accessor :filters, :exceptionOptions # type: string[] # type: ExceptionOptions[]
1547
+
1548
+ def initialize(initial_hash = nil)
1549
+ super
1550
+ @optional_method_names = %i[exceptionOptions]
1551
+ end
1552
+
1553
+ def from_h!(value)
1554
+ value = {} if value.nil?
1555
+ self.filters = value['filters'].map { |val| val } unless value['filters'].nil?
1556
+ self.exceptionOptions = to_typed_aray(value['exceptionOptions'], ExceptionOptions)
1557
+ self
1558
+ end
1559
+ end
1560
+
1561
+ # interface SetExceptionBreakpointsResponse extends Response {
1562
+ # }
1563
+ class SetExceptionBreakpointsResponse < DSPBase
1564
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1565
+
1566
+ def initialize(initial_hash = nil)
1567
+ super
1568
+ @optional_method_names = %i[message body]
1569
+ end
1570
+
1571
+ def from_h!(value)
1572
+ value = {} if value.nil?
1573
+ self.request_seq = value['request_seq']
1574
+ self.success = value['success'] # Unknown type
1575
+ self.command = value['command']
1576
+ self.message = value['message']
1577
+ self.body = value['body']
1578
+ self.seq = value['seq']
1579
+ self.type = value['type']
1580
+ self
1581
+ end
1582
+ end
1583
+
1584
+ # interface DataBreakpointInfoRequest extends Request {
1585
+ # arguments: DataBreakpointInfoArguments;
1586
+ # }
1587
+ class DataBreakpointInfoRequest < DSPBase
1588
+ attr_accessor :arguments, :command, :seq, :type # type: DataBreakpointInfoArguments # type: string # type: number # type: string
1589
+
1590
+ def from_h!(value)
1591
+ value = {} if value.nil?
1592
+ self.arguments = DataBreakpointInfoArguments.new(value['arguments']) unless value['arguments'].nil?
1593
+ self.command = value['command']
1594
+ self.seq = value['seq']
1595
+ self.type = value['type']
1596
+ self
1597
+ end
1598
+ end
1599
+
1600
+ # interface DataBreakpointInfoArguments {
1601
+ # /** Reference to the Variable container if the data breakpoint is requested for a child of the container. */
1602
+ # variablesReference?: number;
1603
+ # /** The name of the Variable's child to obtain data breakpoint information for.
1604
+ # If variableReference isn’t provided, this can be an expression.
1605
+ # */
1606
+ # name: string;
1607
+ # }
1608
+ class DataBreakpointInfoArguments < DSPBase
1609
+ attr_accessor :variablesReference, :name # type: number # type: string
1610
+
1611
+ def initialize(initial_hash = nil)
1612
+ super
1613
+ @optional_method_names = %i[variablesReference]
1614
+ end
1615
+
1616
+ def from_h!(value)
1617
+ value = {} if value.nil?
1618
+ self.variablesReference = value['variablesReference']
1619
+ self.name = value['name']
1620
+ self
1621
+ end
1622
+ end
1623
+
1624
+ # interface DataBreakpointInfoResponse extends Response {
1625
+ # body: {
1626
+ # /** An identifier for the data on which a data breakpoint can be registered with the setDataBreakpoints request or null if no data breakpoint is available. */
1627
+ # dataId: string | null;
1628
+ # /** UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available. */
1629
+ # description: string;
1630
+ # /** Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information. */
1631
+ # accessTypes?: DataBreakpointAccessType[];
1632
+ # /** Optional attribute indicating that a potential data breakpoint could be persisted across sessions. */
1633
+ # canPersist?: boolean;
1634
+ # };
1635
+ # }
1636
+ class DataBreakpointInfoResponse < DSPBase
1637
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1638
+ # /** An identifier for the data on which a data breakpoint can be registered with the setDataBreakpoints request or null if no data breakpoint is available. */
1639
+ # dataId: string | null;
1640
+ # /** UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available. */
1641
+ # description: string;
1642
+ # /** Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information. */
1643
+ # accessTypes?: DataBreakpointAccessType[];
1644
+ # /** Optional attribute indicating that a potential data breakpoint could be persisted across sessions. */
1645
+ # canPersist?: boolean;
1646
+ # }
1647
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1648
+
1649
+ def initialize(initial_hash = nil)
1650
+ super
1651
+ @optional_method_names = %i[message]
1652
+ end
1653
+
1654
+ def from_h!(value)
1655
+ value = {} if value.nil?
1656
+ self.body = value['body'] # Unknown type
1657
+ self.request_seq = value['request_seq']
1658
+ self.success = value['success'] # Unknown type
1659
+ self.command = value['command']
1660
+ self.message = value['message']
1661
+ self.seq = value['seq']
1662
+ self.type = value['type']
1663
+ self
1664
+ end
1665
+ end
1666
+
1667
+ # interface SetDataBreakpointsRequest extends Request {
1668
+ # arguments: SetDataBreakpointsArguments;
1669
+ # }
1670
+ class SetDataBreakpointsRequest < DSPBase
1671
+ attr_accessor :arguments, :command, :seq, :type # type: SetDataBreakpointsArguments # type: string # type: number # type: string
1672
+
1673
+ def from_h!(value)
1674
+ value = {} if value.nil?
1675
+ self.arguments = SetDataBreakpointsArguments.new(value['arguments']) unless value['arguments'].nil?
1676
+ self.command = value['command']
1677
+ self.seq = value['seq']
1678
+ self.type = value['type']
1679
+ self
1680
+ end
1681
+ end
1682
+
1683
+ # interface SetDataBreakpointsArguments {
1684
+ # /** The contents of this array replaces all existing data breakpoints. An empty array clears all data breakpoints. */
1685
+ # breakpoints: DataBreakpoint[];
1686
+ # }
1687
+ class SetDataBreakpointsArguments < DSPBase
1688
+ attr_accessor :breakpoints # type: DataBreakpoint[]
1689
+
1690
+ def from_h!(value)
1691
+ value = {} if value.nil?
1692
+ self.breakpoints = to_typed_aray(value['breakpoints'], DataBreakpoint)
1693
+ self
1694
+ end
1695
+ end
1696
+
1697
+ # interface SetDataBreakpointsResponse extends Response {
1698
+ # body: {
1699
+ # /** Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array. */
1700
+ # breakpoints: Breakpoint[];
1701
+ # };
1702
+ # }
1703
+ class SetDataBreakpointsResponse < DSPBase
1704
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1705
+ # /** Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array. */
1706
+ # breakpoints: Breakpoint[];
1707
+ # }
1708
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1709
+
1710
+ def initialize(initial_hash = nil)
1711
+ super
1712
+ @optional_method_names = %i[message]
1713
+ end
1714
+
1715
+ def from_h!(value)
1716
+ value = {} if value.nil?
1717
+ self.body = value['body'] # Unknown type
1718
+ self.request_seq = value['request_seq']
1719
+ self.success = value['success'] # Unknown type
1720
+ self.command = value['command']
1721
+ self.message = value['message']
1722
+ self.seq = value['seq']
1723
+ self.type = value['type']
1724
+ self
1725
+ end
1726
+ end
1727
+
1728
+ # interface ContinueRequest extends Request {
1729
+ # arguments: ContinueArguments;
1730
+ # }
1731
+ class ContinueRequest < DSPBase
1732
+ attr_accessor :arguments, :command, :seq, :type # type: ContinueArguments # type: string # type: number # type: string
1733
+
1734
+ def from_h!(value)
1735
+ value = {} if value.nil?
1736
+ self.arguments = ContinueArguments.new(value['arguments']) unless value['arguments'].nil?
1737
+ self.command = value['command']
1738
+ self.seq = value['seq']
1739
+ self.type = value['type']
1740
+ self
1741
+ end
1742
+ end
1743
+
1744
+ # interface ContinueArguments {
1745
+ # /** Continue execution for the specified thread (if possible).
1746
+ # If the backend cannot continue on a single thread but will continue on all threads, it should set the 'allThreadsContinued' attribute in the response to true.
1747
+ # */
1748
+ # threadId: number;
1749
+ # }
1750
+ class ContinueArguments < DSPBase
1751
+ attr_accessor :threadId # type: number
1752
+
1753
+ def from_h!(value)
1754
+ value = {} if value.nil?
1755
+ self.threadId = value['threadId']
1756
+ self
1757
+ end
1758
+ end
1759
+
1760
+ # interface ContinueResponse extends Response {
1761
+ # body: {
1762
+ # /** If true, the 'continue' request has ignored the specified thread and continued all threads instead.
1763
+ # If this attribute is missing a value of 'true' is assumed for backward compatibility.
1764
+ # */
1765
+ # allThreadsContinued?: boolean;
1766
+ # };
1767
+ # }
1768
+ class ContinueResponse < DSPBase
1769
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
1770
+ # /** If true, the 'continue' request has ignored the specified thread and continued all threads instead.
1771
+ # If this attribute is missing a value of 'true' is assumed for backward compatibility.
1772
+ # */
1773
+ # allThreadsContinued?: boolean;
1774
+ # }
1775
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
1776
+
1777
+ def initialize(initial_hash = nil)
1778
+ super
1779
+ @optional_method_names = %i[message]
1780
+ end
1781
+
1782
+ def from_h!(value)
1783
+ value = {} if value.nil?
1784
+ self.body = value['body'] # Unknown type
1785
+ self.request_seq = value['request_seq']
1786
+ self.success = value['success'] # Unknown type
1787
+ self.command = value['command']
1788
+ self.message = value['message']
1789
+ self.seq = value['seq']
1790
+ self.type = value['type']
1791
+ self
1792
+ end
1793
+ end
1794
+
1795
+ # interface NextRequest extends Request {
1796
+ # arguments: NextArguments;
1797
+ # }
1798
+ class NextRequest < DSPBase
1799
+ attr_accessor :arguments, :command, :seq, :type # type: NextArguments # type: string # type: number # type: string
1800
+
1801
+ def from_h!(value)
1802
+ value = {} if value.nil?
1803
+ self.arguments = NextArguments.new(value['arguments']) unless value['arguments'].nil?
1804
+ self.command = value['command']
1805
+ self.seq = value['seq']
1806
+ self.type = value['type']
1807
+ self
1808
+ end
1809
+ end
1810
+
1811
+ # interface NextArguments {
1812
+ # /** Execute 'next' for this thread. */
1813
+ # threadId: number;
1814
+ # }
1815
+ class NextArguments < DSPBase
1816
+ attr_accessor :threadId # type: number
1817
+
1818
+ def from_h!(value)
1819
+ value = {} if value.nil?
1820
+ self.threadId = value['threadId']
1821
+ self
1822
+ end
1823
+ end
1824
+
1825
+ # interface NextResponse extends Response {
1826
+ # }
1827
+ class NextResponse < DSPBase
1828
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1829
+
1830
+ def initialize(initial_hash = nil)
1831
+ super
1832
+ @optional_method_names = %i[message body]
1833
+ end
1834
+
1835
+ def from_h!(value)
1836
+ value = {} if value.nil?
1837
+ self.request_seq = value['request_seq']
1838
+ self.success = value['success'] # Unknown type
1839
+ self.command = value['command']
1840
+ self.message = value['message']
1841
+ self.body = value['body']
1842
+ self.seq = value['seq']
1843
+ self.type = value['type']
1844
+ self
1845
+ end
1846
+ end
1847
+
1848
+ # interface StepInRequest extends Request {
1849
+ # arguments: StepInArguments;
1850
+ # }
1851
+ class StepInRequest < DSPBase
1852
+ attr_accessor :arguments, :command, :seq, :type # type: StepInArguments # type: string # type: number # type: string
1853
+
1854
+ def from_h!(value)
1855
+ value = {} if value.nil?
1856
+ self.arguments = StepInArguments.new(value['arguments']) unless value['arguments'].nil?
1857
+ self.command = value['command']
1858
+ self.seq = value['seq']
1859
+ self.type = value['type']
1860
+ self
1861
+ end
1862
+ end
1863
+
1864
+ # interface StepInArguments {
1865
+ # /** Execute 'stepIn' for this thread. */
1866
+ # threadId: number;
1867
+ # /** Optional id of the target to step into. */
1868
+ # targetId?: number;
1869
+ # }
1870
+ class StepInArguments < DSPBase
1871
+ attr_accessor :threadId, :targetId # type: number # type: number
1872
+
1873
+ def initialize(initial_hash = nil)
1874
+ super
1875
+ @optional_method_names = %i[targetId]
1876
+ end
1877
+
1878
+ def from_h!(value)
1879
+ value = {} if value.nil?
1880
+ self.threadId = value['threadId']
1881
+ self.targetId = value['targetId']
1882
+ self
1883
+ end
1884
+ end
1885
+
1886
+ # interface StepInResponse extends Response {
1887
+ # }
1888
+ class StepInResponse < DSPBase
1889
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1890
+
1891
+ def initialize(initial_hash = nil)
1892
+ super
1893
+ @optional_method_names = %i[message body]
1894
+ end
1895
+
1896
+ def from_h!(value)
1897
+ value = {} if value.nil?
1898
+ self.request_seq = value['request_seq']
1899
+ self.success = value['success'] # Unknown type
1900
+ self.command = value['command']
1901
+ self.message = value['message']
1902
+ self.body = value['body']
1903
+ self.seq = value['seq']
1904
+ self.type = value['type']
1905
+ self
1906
+ end
1907
+ end
1908
+
1909
+ # interface StepOutRequest extends Request {
1910
+ # arguments: StepOutArguments;
1911
+ # }
1912
+ class StepOutRequest < DSPBase
1913
+ attr_accessor :arguments, :command, :seq, :type # type: StepOutArguments # type: string # type: number # type: string
1914
+
1915
+ def from_h!(value)
1916
+ value = {} if value.nil?
1917
+ self.arguments = StepOutArguments.new(value['arguments']) unless value['arguments'].nil?
1918
+ self.command = value['command']
1919
+ self.seq = value['seq']
1920
+ self.type = value['type']
1921
+ self
1922
+ end
1923
+ end
1924
+
1925
+ # interface StepOutArguments {
1926
+ # /** Execute 'stepOut' for this thread. */
1927
+ # threadId: number;
1928
+ # }
1929
+ class StepOutArguments < DSPBase
1930
+ attr_accessor :threadId # type: number
1931
+
1932
+ def from_h!(value)
1933
+ value = {} if value.nil?
1934
+ self.threadId = value['threadId']
1935
+ self
1936
+ end
1937
+ end
1938
+
1939
+ # interface StepOutResponse extends Response {
1940
+ # }
1941
+ class StepOutResponse < DSPBase
1942
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1943
+
1944
+ def initialize(initial_hash = nil)
1945
+ super
1946
+ @optional_method_names = %i[message body]
1947
+ end
1948
+
1949
+ def from_h!(value)
1950
+ value = {} if value.nil?
1951
+ self.request_seq = value['request_seq']
1952
+ self.success = value['success'] # Unknown type
1953
+ self.command = value['command']
1954
+ self.message = value['message']
1955
+ self.body = value['body']
1956
+ self.seq = value['seq']
1957
+ self.type = value['type']
1958
+ self
1959
+ end
1960
+ end
1961
+
1962
+ # interface StepBackRequest extends Request {
1963
+ # arguments: StepBackArguments;
1964
+ # }
1965
+ class StepBackRequest < DSPBase
1966
+ attr_accessor :arguments, :command, :seq, :type # type: StepBackArguments # type: string # type: number # type: string
1967
+
1968
+ def from_h!(value)
1969
+ value = {} if value.nil?
1970
+ self.arguments = StepBackArguments.new(value['arguments']) unless value['arguments'].nil?
1971
+ self.command = value['command']
1972
+ self.seq = value['seq']
1973
+ self.type = value['type']
1974
+ self
1975
+ end
1976
+ end
1977
+
1978
+ # interface StepBackArguments {
1979
+ # /** Execute 'stepBack' for this thread. */
1980
+ # threadId: number;
1981
+ # }
1982
+ class StepBackArguments < DSPBase
1983
+ attr_accessor :threadId # type: number
1984
+
1985
+ def from_h!(value)
1986
+ value = {} if value.nil?
1987
+ self.threadId = value['threadId']
1988
+ self
1989
+ end
1990
+ end
1991
+
1992
+ # interface StepBackResponse extends Response {
1993
+ # }
1994
+ class StepBackResponse < DSPBase
1995
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
1996
+
1997
+ def initialize(initial_hash = nil)
1998
+ super
1999
+ @optional_method_names = %i[message body]
2000
+ end
2001
+
2002
+ def from_h!(value)
2003
+ value = {} if value.nil?
2004
+ self.request_seq = value['request_seq']
2005
+ self.success = value['success'] # Unknown type
2006
+ self.command = value['command']
2007
+ self.message = value['message']
2008
+ self.body = value['body']
2009
+ self.seq = value['seq']
2010
+ self.type = value['type']
2011
+ self
2012
+ end
2013
+ end
2014
+
2015
+ # interface ReverseContinueRequest extends Request {
2016
+ # arguments: ReverseContinueArguments;
2017
+ # }
2018
+ class ReverseContinueRequest < DSPBase
2019
+ attr_accessor :arguments, :command, :seq, :type # type: ReverseContinueArguments # type: string # type: number # type: string
2020
+
2021
+ def from_h!(value)
2022
+ value = {} if value.nil?
2023
+ self.arguments = ReverseContinueArguments.new(value['arguments']) unless value['arguments'].nil?
2024
+ self.command = value['command']
2025
+ self.seq = value['seq']
2026
+ self.type = value['type']
2027
+ self
2028
+ end
2029
+ end
2030
+
2031
+ # interface ReverseContinueArguments {
2032
+ # /** Execute 'reverseContinue' for this thread. */
2033
+ # threadId: number;
2034
+ # }
2035
+ class ReverseContinueArguments < DSPBase
2036
+ attr_accessor :threadId # type: number
2037
+
2038
+ def from_h!(value)
2039
+ value = {} if value.nil?
2040
+ self.threadId = value['threadId']
2041
+ self
2042
+ end
2043
+ end
2044
+
2045
+ # interface ReverseContinueResponse extends Response {
2046
+ # }
2047
+ class ReverseContinueResponse < DSPBase
2048
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
2049
+
2050
+ def initialize(initial_hash = nil)
2051
+ super
2052
+ @optional_method_names = %i[message body]
2053
+ end
2054
+
2055
+ def from_h!(value)
2056
+ value = {} if value.nil?
2057
+ self.request_seq = value['request_seq']
2058
+ self.success = value['success'] # Unknown type
2059
+ self.command = value['command']
2060
+ self.message = value['message']
2061
+ self.body = value['body']
2062
+ self.seq = value['seq']
2063
+ self.type = value['type']
2064
+ self
2065
+ end
2066
+ end
2067
+
2068
+ # interface RestartFrameRequest extends Request {
2069
+ # arguments: RestartFrameArguments;
2070
+ # }
2071
+ class RestartFrameRequest < DSPBase
2072
+ attr_accessor :arguments, :command, :seq, :type # type: RestartFrameArguments # type: string # type: number # type: string
2073
+
2074
+ def from_h!(value)
2075
+ value = {} if value.nil?
2076
+ self.arguments = RestartFrameArguments.new(value['arguments']) unless value['arguments'].nil?
2077
+ self.command = value['command']
2078
+ self.seq = value['seq']
2079
+ self.type = value['type']
2080
+ self
2081
+ end
2082
+ end
2083
+
2084
+ # interface RestartFrameArguments {
2085
+ # /** Restart this stackframe. */
2086
+ # frameId: number;
2087
+ # }
2088
+ class RestartFrameArguments < DSPBase
2089
+ attr_accessor :frameId # type: number
2090
+
2091
+ def from_h!(value)
2092
+ value = {} if value.nil?
2093
+ self.frameId = value['frameId']
2094
+ self
2095
+ end
2096
+ end
2097
+
2098
+ # interface RestartFrameResponse extends Response {
2099
+ # }
2100
+ class RestartFrameResponse < DSPBase
2101
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
2102
+
2103
+ def initialize(initial_hash = nil)
2104
+ super
2105
+ @optional_method_names = %i[message body]
2106
+ end
2107
+
2108
+ def from_h!(value)
2109
+ value = {} if value.nil?
2110
+ self.request_seq = value['request_seq']
2111
+ self.success = value['success'] # Unknown type
2112
+ self.command = value['command']
2113
+ self.message = value['message']
2114
+ self.body = value['body']
2115
+ self.seq = value['seq']
2116
+ self.type = value['type']
2117
+ self
2118
+ end
2119
+ end
2120
+
2121
+ # interface GotoRequest extends Request {
2122
+ # arguments: GotoArguments;
2123
+ # }
2124
+ class GotoRequest < DSPBase
2125
+ attr_accessor :arguments, :command, :seq, :type # type: GotoArguments # type: string # type: number # type: string
2126
+
2127
+ def from_h!(value)
2128
+ value = {} if value.nil?
2129
+ self.arguments = GotoArguments.new(value['arguments']) unless value['arguments'].nil?
2130
+ self.command = value['command']
2131
+ self.seq = value['seq']
2132
+ self.type = value['type']
2133
+ self
2134
+ end
2135
+ end
2136
+
2137
+ # interface GotoArguments {
2138
+ # /** Set the goto target for this thread. */
2139
+ # threadId: number;
2140
+ # /** The location where the debuggee will continue to run. */
2141
+ # targetId: number;
2142
+ # }
2143
+ class GotoArguments < DSPBase
2144
+ attr_accessor :threadId, :targetId # type: number # type: number
2145
+
2146
+ def from_h!(value)
2147
+ value = {} if value.nil?
2148
+ self.threadId = value['threadId']
2149
+ self.targetId = value['targetId']
2150
+ self
2151
+ end
2152
+ end
2153
+
2154
+ # interface GotoResponse extends Response {
2155
+ # }
2156
+ class GotoResponse < DSPBase
2157
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
2158
+
2159
+ def initialize(initial_hash = nil)
2160
+ super
2161
+ @optional_method_names = %i[message body]
2162
+ end
2163
+
2164
+ def from_h!(value)
2165
+ value = {} if value.nil?
2166
+ self.request_seq = value['request_seq']
2167
+ self.success = value['success'] # Unknown type
2168
+ self.command = value['command']
2169
+ self.message = value['message']
2170
+ self.body = value['body']
2171
+ self.seq = value['seq']
2172
+ self.type = value['type']
2173
+ self
2174
+ end
2175
+ end
2176
+
2177
+ # interface PauseRequest extends Request {
2178
+ # arguments: PauseArguments;
2179
+ # }
2180
+ class PauseRequest < DSPBase
2181
+ attr_accessor :arguments, :command, :seq, :type # type: PauseArguments # type: string # type: number # type: string
2182
+
2183
+ def from_h!(value)
2184
+ value = {} if value.nil?
2185
+ self.arguments = PauseArguments.new(value['arguments']) unless value['arguments'].nil?
2186
+ self.command = value['command']
2187
+ self.seq = value['seq']
2188
+ self.type = value['type']
2189
+ self
2190
+ end
2191
+ end
2192
+
2193
+ # interface PauseArguments {
2194
+ # /** Pause execution for this thread. */
2195
+ # threadId: number;
2196
+ # }
2197
+ class PauseArguments < DSPBase
2198
+ attr_accessor :threadId # type: number
2199
+
2200
+ def from_h!(value)
2201
+ value = {} if value.nil?
2202
+ self.threadId = value['threadId']
2203
+ self
2204
+ end
2205
+ end
2206
+
2207
+ # interface PauseResponse extends Response {
2208
+ # }
2209
+ class PauseResponse < DSPBase
2210
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
2211
+
2212
+ def initialize(initial_hash = nil)
2213
+ super
2214
+ @optional_method_names = %i[message body]
2215
+ end
2216
+
2217
+ def from_h!(value)
2218
+ value = {} if value.nil?
2219
+ self.request_seq = value['request_seq']
2220
+ self.success = value['success'] # Unknown type
2221
+ self.command = value['command']
2222
+ self.message = value['message']
2223
+ self.body = value['body']
2224
+ self.seq = value['seq']
2225
+ self.type = value['type']
2226
+ self
2227
+ end
2228
+ end
2229
+
2230
+ # interface StackTraceRequest extends Request {
2231
+ # arguments: StackTraceArguments;
2232
+ # }
2233
+ class StackTraceRequest < DSPBase
2234
+ attr_accessor :arguments, :command, :seq, :type # type: StackTraceArguments # type: string # type: number # type: string
2235
+
2236
+ def from_h!(value)
2237
+ value = {} if value.nil?
2238
+ self.arguments = StackTraceArguments.new(value['arguments']) unless value['arguments'].nil?
2239
+ self.command = value['command']
2240
+ self.seq = value['seq']
2241
+ self.type = value['type']
2242
+ self
2243
+ end
2244
+ end
2245
+
2246
+ # interface StackTraceArguments {
2247
+ # /** Retrieve the stacktrace for this thread. */
2248
+ # threadId: number;
2249
+ # /** The index of the first frame to return; if omitted frames start at 0. */
2250
+ # startFrame?: number;
2251
+ # /** The maximum number of frames to return. If levels is not specified or 0, all frames are returned. */
2252
+ # levels?: number;
2253
+ # /** Specifies details on how to format the stack frames.
2254
+ # The attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true.
2255
+ # */
2256
+ # format?: StackFrameFormat;
2257
+ # }
2258
+ class StackTraceArguments < DSPBase
2259
+ attr_accessor :threadId, :startFrame, :levels, :format # type: number # type: number # type: number # type: StackFrameFormat
2260
+
2261
+ def initialize(initial_hash = nil)
2262
+ super
2263
+ @optional_method_names = %i[startFrame levels format]
2264
+ end
2265
+
2266
+ def from_h!(value)
2267
+ value = {} if value.nil?
2268
+ self.threadId = value['threadId']
2269
+ self.startFrame = value['startFrame']
2270
+ self.levels = value['levels']
2271
+ self.format = StackFrameFormat.new(value['format']) unless value['format'].nil?
2272
+ self
2273
+ end
2274
+ end
2275
+
2276
+ # interface StackTraceResponse extends Response {
2277
+ # body: {
2278
+ # /** The frames of the stackframe. If the array has length zero, there are no stackframes available.
2279
+ # This means that there is no location information available.
2280
+ # */
2281
+ # stackFrames: StackFrame[];
2282
+ # /** The total number of frames available. */
2283
+ # totalFrames?: number;
2284
+ # };
2285
+ # }
2286
+ class StackTraceResponse < DSPBase
2287
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2288
+ # /** The frames of the stackframe. If the array has length zero, there are no stackframes available.
2289
+ # This means that there is no location information available.
2290
+ # */
2291
+ # stackFrames: StackFrame[];
2292
+ # /** The total number of frames available. */
2293
+ # totalFrames?: number;
2294
+ # }
2295
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2296
+
2297
+ def initialize(initial_hash = nil)
2298
+ super
2299
+ @optional_method_names = %i[message]
2300
+ end
2301
+
2302
+ def from_h!(value)
2303
+ value = {} if value.nil?
2304
+ self.body = value['body'] # Unknown type
2305
+ self.request_seq = value['request_seq']
2306
+ self.success = value['success'] # Unknown type
2307
+ self.command = value['command']
2308
+ self.message = value['message']
2309
+ self.seq = value['seq']
2310
+ self.type = value['type']
2311
+ self
2312
+ end
2313
+ end
2314
+
2315
+ # interface ScopesRequest extends Request {
2316
+ # arguments: ScopesArguments;
2317
+ # }
2318
+ class ScopesRequest < DSPBase
2319
+ attr_accessor :arguments, :command, :seq, :type # type: ScopesArguments # type: string # type: number # type: string
2320
+
2321
+ def from_h!(value)
2322
+ value = {} if value.nil?
2323
+ self.arguments = ScopesArguments.new(value['arguments']) unless value['arguments'].nil?
2324
+ self.command = value['command']
2325
+ self.seq = value['seq']
2326
+ self.type = value['type']
2327
+ self
2328
+ end
2329
+ end
2330
+
2331
+ # interface ScopesArguments {
2332
+ # /** Retrieve the scopes for this stackframe. */
2333
+ # frameId: number;
2334
+ # }
2335
+ class ScopesArguments < DSPBase
2336
+ attr_accessor :frameId # type: number
2337
+
2338
+ def from_h!(value)
2339
+ value = {} if value.nil?
2340
+ self.frameId = value['frameId']
2341
+ self
2342
+ end
2343
+ end
2344
+
2345
+ # interface ScopesResponse extends Response {
2346
+ # body: {
2347
+ # /** The scopes of the stackframe. If the array has length zero, there are no scopes available. */
2348
+ # scopes: Scope[];
2349
+ # };
2350
+ # }
2351
+ class ScopesResponse < DSPBase
2352
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2353
+ # /** The scopes of the stackframe. If the array has length zero, there are no scopes available. */
2354
+ # scopes: Scope[];
2355
+ # }
2356
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2357
+
2358
+ def initialize(initial_hash = nil)
2359
+ super
2360
+ @optional_method_names = %i[message]
2361
+ end
2362
+
2363
+ def from_h!(value)
2364
+ value = {} if value.nil?
2365
+ self.body = value['body'] # Unknown type
2366
+ self.request_seq = value['request_seq']
2367
+ self.success = value['success'] # Unknown type
2368
+ self.command = value['command']
2369
+ self.message = value['message']
2370
+ self.seq = value['seq']
2371
+ self.type = value['type']
2372
+ self
2373
+ end
2374
+ end
2375
+
2376
+ # interface VariablesRequest extends Request {
2377
+ # arguments: VariablesArguments;
2378
+ # }
2379
+ class VariablesRequest < DSPBase
2380
+ attr_accessor :arguments, :command, :seq, :type # type: VariablesArguments # type: string # type: number # type: string
2381
+
2382
+ def from_h!(value)
2383
+ value = {} if value.nil?
2384
+ self.arguments = VariablesArguments.new(value['arguments']) unless value['arguments'].nil?
2385
+ self.command = value['command']
2386
+ self.seq = value['seq']
2387
+ self.type = value['type']
2388
+ self
2389
+ end
2390
+ end
2391
+
2392
+ # interface VariablesArguments {
2393
+ # /** The Variable reference. */
2394
+ # variablesReference: number;
2395
+ # /** Optional filter to limit the child variables to either named or indexed. If omitted, both types are fetched. */
2396
+ # filter?: 'indexed' | 'named';
2397
+ # /** The index of the first variable to return; if omitted children start at 0. */
2398
+ # start?: number;
2399
+ # /** The number of variables to return. If count is missing or 0, all variables are returned. */
2400
+ # count?: number;
2401
+ # /** Specifies details on how to format the Variable values.
2402
+ # The attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true.
2403
+ # */
2404
+ # format?: ValueFormat;
2405
+ # }
2406
+ class VariablesArguments < DSPBase
2407
+ attr_accessor :variablesReference, :filter, :start, :count, :format # type: number # type: string with value 'indexed' | 'named' # type: number # type: number # type: ValueFormat
2408
+
2409
+ def initialize(initial_hash = nil)
2410
+ super
2411
+ @optional_method_names = %i[filter start count format]
2412
+ end
2413
+
2414
+ def from_h!(value)
2415
+ value = {} if value.nil?
2416
+ self.variablesReference = value['variablesReference']
2417
+ self.filter = value['filter'] # Unknown type
2418
+ self.start = value['start']
2419
+ self.count = value['count']
2420
+ self.format = ValueFormat.new(value['format']) unless value['format'].nil?
2421
+ self
2422
+ end
2423
+ end
2424
+
2425
+ # interface VariablesResponse extends Response {
2426
+ # body: {
2427
+ # /** All (or a range) of variables for the given variable reference. */
2428
+ # variables: Variable[];
2429
+ # };
2430
+ # }
2431
+ class VariablesResponse < DSPBase
2432
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2433
+ # /** All (or a range) of variables for the given variable reference. */
2434
+ # variables: Variable[];
2435
+ # }
2436
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2437
+
2438
+ def initialize(initial_hash = nil)
2439
+ super
2440
+ @optional_method_names = %i[message]
2441
+ end
2442
+
2443
+ def from_h!(value)
2444
+ value = {} if value.nil?
2445
+ self.body = value['body'] # Unknown type
2446
+ self.request_seq = value['request_seq']
2447
+ self.success = value['success'] # Unknown type
2448
+ self.command = value['command']
2449
+ self.message = value['message']
2450
+ self.seq = value['seq']
2451
+ self.type = value['type']
2452
+ self
2453
+ end
2454
+ end
2455
+
2456
+ # interface SetVariableRequest extends Request {
2457
+ # arguments: SetVariableArguments;
2458
+ # }
2459
+ class SetVariableRequest < DSPBase
2460
+ attr_accessor :arguments, :command, :seq, :type # type: SetVariableArguments # type: string # type: number # type: string
2461
+
2462
+ def from_h!(value)
2463
+ value = {} if value.nil?
2464
+ self.arguments = SetVariableArguments.new(value['arguments']) unless value['arguments'].nil?
2465
+ self.command = value['command']
2466
+ self.seq = value['seq']
2467
+ self.type = value['type']
2468
+ self
2469
+ end
2470
+ end
2471
+
2472
+ # interface SetVariableArguments {
2473
+ # /** The reference of the variable container. */
2474
+ # variablesReference: number;
2475
+ # /** The name of the variable in the container. */
2476
+ # name: string;
2477
+ # /** The value of the variable. */
2478
+ # value: string;
2479
+ # /** Specifies details on how to format the response value. */
2480
+ # format?: ValueFormat;
2481
+ # }
2482
+ class SetVariableArguments < DSPBase
2483
+ attr_accessor :variablesReference, :name, :value, :format # type: number # type: string # type: string # type: ValueFormat
2484
+
2485
+ def initialize(initial_hash = nil)
2486
+ super
2487
+ @optional_method_names = %i[format]
2488
+ end
2489
+
2490
+ def from_h!(value)
2491
+ value = {} if value.nil?
2492
+ self.variablesReference = value['variablesReference']
2493
+ self.name = value['name']
2494
+ self.value = value['value']
2495
+ self.format = ValueFormat.new(value['format']) unless value['format'].nil?
2496
+ self
2497
+ end
2498
+ end
2499
+
2500
+ # interface SetVariableResponse extends Response {
2501
+ # body: {
2502
+ # /** The new value of the variable. */
2503
+ # value: string;
2504
+ # /** The type of the new value. Typically shown in the UI when hovering over the value. */
2505
+ # type?: string;
2506
+ # /** If variablesReference is > 0, the new value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
2507
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2508
+ # */
2509
+ # variablesReference?: number;
2510
+ # /** The number of named child variables.
2511
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2512
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2513
+ # */
2514
+ # namedVariables?: number;
2515
+ # /** The number of indexed child variables.
2516
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2517
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2518
+ # */
2519
+ # indexedVariables?: number;
2520
+ # };
2521
+ # }
2522
+ class SetVariableResponse < DSPBase
2523
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2524
+ # /** The new value of the variable. */
2525
+ # value: string;
2526
+ # /** The type of the new value. Typically shown in the UI when hovering over the value. */
2527
+ # type?: string;
2528
+ # /** If variablesReference is > 0, the new value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
2529
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2530
+ # */
2531
+ # variablesReference?: number;
2532
+ # /** The number of named child variables.
2533
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2534
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2535
+ # */
2536
+ # namedVariables?: number;
2537
+ # /** The number of indexed child variables.
2538
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2539
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2540
+ # */
2541
+ # indexedVariables?: number;
2542
+ # }
2543
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2544
+
2545
+ def initialize(initial_hash = nil)
2546
+ super
2547
+ @optional_method_names = %i[message]
2548
+ end
2549
+
2550
+ def from_h!(value)
2551
+ value = {} if value.nil?
2552
+ self.body = value['body'] # Unknown type
2553
+ self.request_seq = value['request_seq']
2554
+ self.success = value['success'] # Unknown type
2555
+ self.command = value['command']
2556
+ self.message = value['message']
2557
+ self.seq = value['seq']
2558
+ self.type = value['type']
2559
+ self
2560
+ end
2561
+ end
2562
+
2563
+ # interface SourceRequest extends Request {
2564
+ # arguments: SourceArguments;
2565
+ # }
2566
+ class SourceRequest < DSPBase
2567
+ attr_accessor :arguments, :command, :seq, :type # type: SourceArguments # type: string # type: number # type: string
2568
+
2569
+ def from_h!(value)
2570
+ value = {} if value.nil?
2571
+ self.arguments = SourceArguments.new(value['arguments']) unless value['arguments'].nil?
2572
+ self.command = value['command']
2573
+ self.seq = value['seq']
2574
+ self.type = value['type']
2575
+ self
2576
+ end
2577
+ end
2578
+
2579
+ # interface SourceArguments {
2580
+ # /** Specifies the source content to load. Either source.path or source.sourceReference must be specified. */
2581
+ # source?: Source;
2582
+ # /** The reference to the source. This is the same as source.sourceReference.
2583
+ # This is provided for backward compatibility since old backends do not understand the 'source' attribute.
2584
+ # */
2585
+ # sourceReference: number;
2586
+ # }
2587
+ class SourceArguments < DSPBase
2588
+ attr_accessor :source, :sourceReference # type: Source # type: number
2589
+
2590
+ def initialize(initial_hash = nil)
2591
+ super
2592
+ @optional_method_names = %i[source]
2593
+ end
2594
+
2595
+ def from_h!(value)
2596
+ value = {} if value.nil?
2597
+ self.source = Source.new(value['source']) unless value['source'].nil?
2598
+ self.sourceReference = value['sourceReference']
2599
+ self
2600
+ end
2601
+ end
2602
+
2603
+ # interface SourceResponse extends Response {
2604
+ # body: {
2605
+ # /** Content of the source reference. */
2606
+ # content: string;
2607
+ # /** Optional content type (mime type) of the source. */
2608
+ # mimeType?: string;
2609
+ # };
2610
+ # }
2611
+ class SourceResponse < DSPBase
2612
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2613
+ # /** Content of the source reference. */
2614
+ # content: string;
2615
+ # /** Optional content type (mime type) of the source. */
2616
+ # mimeType?: string;
2617
+ # }
2618
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2619
+
2620
+ def initialize(initial_hash = nil)
2621
+ super
2622
+ @optional_method_names = %i[message]
2623
+ end
2624
+
2625
+ def from_h!(value)
2626
+ value = {} if value.nil?
2627
+ self.body = value['body'] # Unknown type
2628
+ self.request_seq = value['request_seq']
2629
+ self.success = value['success'] # Unknown type
2630
+ self.command = value['command']
2631
+ self.message = value['message']
2632
+ self.seq = value['seq']
2633
+ self.type = value['type']
2634
+ self
2635
+ end
2636
+ end
2637
+
2638
+ # interface ThreadsRequest extends Request {
2639
+ # }
2640
+ class ThreadsRequest < DSPBase
2641
+ attr_accessor :command, :arguments, :seq, :type # type: string # type: any # type: number # type: string
2642
+
2643
+ def initialize(initial_hash = nil)
2644
+ super
2645
+ @optional_method_names = %i[arguments]
2646
+ end
2647
+
2648
+ def from_h!(value)
2649
+ value = {} if value.nil?
2650
+ self.command = value['command']
2651
+ self.arguments = value['arguments']
2652
+ self.seq = value['seq']
2653
+ self.type = value['type']
2654
+ self
2655
+ end
2656
+ end
2657
+
2658
+ # interface ThreadsResponse extends Response {
2659
+ # body: {
2660
+ # /** All threads. */
2661
+ # threads: Thread[];
2662
+ # };
2663
+ # }
2664
+ class ThreadsResponse < DSPBase
2665
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2666
+ # /** All threads. */
2667
+ # threads: Thread[];
2668
+ # }
2669
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2670
+
2671
+ def initialize(initial_hash = nil)
2672
+ super
2673
+ @optional_method_names = %i[message]
2674
+ end
2675
+
2676
+ def from_h!(value)
2677
+ value = {} if value.nil?
2678
+ self.body = value['body'] # Unknown type
2679
+ self.request_seq = value['request_seq']
2680
+ self.success = value['success'] # Unknown type
2681
+ self.command = value['command']
2682
+ self.message = value['message']
2683
+ self.seq = value['seq']
2684
+ self.type = value['type']
2685
+ self
2686
+ end
2687
+ end
2688
+
2689
+ # interface TerminateThreadsRequest extends Request {
2690
+ # arguments: TerminateThreadsArguments;
2691
+ # }
2692
+ class TerminateThreadsRequest < DSPBase
2693
+ attr_accessor :arguments, :command, :seq, :type # type: TerminateThreadsArguments # type: string # type: number # type: string
2694
+
2695
+ def from_h!(value)
2696
+ value = {} if value.nil?
2697
+ self.arguments = TerminateThreadsArguments.new(value['arguments']) unless value['arguments'].nil?
2698
+ self.command = value['command']
2699
+ self.seq = value['seq']
2700
+ self.type = value['type']
2701
+ self
2702
+ end
2703
+ end
2704
+
2705
+ # interface TerminateThreadsArguments {
2706
+ # /** Ids of threads to be terminated. */
2707
+ # threadIds?: number[];
2708
+ # }
2709
+ class TerminateThreadsArguments < DSPBase
2710
+ attr_accessor :threadIds # type: number[]
2711
+
2712
+ def initialize(initial_hash = nil)
2713
+ super
2714
+ @optional_method_names = %i[threadIds]
2715
+ end
2716
+
2717
+ def from_h!(value)
2718
+ value = {} if value.nil?
2719
+ self.threadIds = value['threadIds'].map { |val| val } unless value['threadIds'].nil?
2720
+ self
2721
+ end
2722
+ end
2723
+
2724
+ # interface TerminateThreadsResponse extends Response {
2725
+ # }
2726
+ class TerminateThreadsResponse < DSPBase
2727
+ attr_accessor :request_seq, :success, :command, :message, :body, :seq, :type # type: number # type: boolean # type: string # type: string # type: any # type: number # type: string
2728
+
2729
+ def initialize(initial_hash = nil)
2730
+ super
2731
+ @optional_method_names = %i[message body]
2732
+ end
2733
+
2734
+ def from_h!(value)
2735
+ value = {} if value.nil?
2736
+ self.request_seq = value['request_seq']
2737
+ self.success = value['success'] # Unknown type
2738
+ self.command = value['command']
2739
+ self.message = value['message']
2740
+ self.body = value['body']
2741
+ self.seq = value['seq']
2742
+ self.type = value['type']
2743
+ self
2744
+ end
2745
+ end
2746
+
2747
+ # interface ModulesRequest extends Request {
2748
+ # arguments: ModulesArguments;
2749
+ # }
2750
+ class ModulesRequest < DSPBase
2751
+ attr_accessor :arguments, :command, :seq, :type # type: ModulesArguments # type: string # type: number # type: string
2752
+
2753
+ def from_h!(value)
2754
+ value = {} if value.nil?
2755
+ self.arguments = ModulesArguments.new(value['arguments']) unless value['arguments'].nil?
2756
+ self.command = value['command']
2757
+ self.seq = value['seq']
2758
+ self.type = value['type']
2759
+ self
2760
+ end
2761
+ end
2762
+
2763
+ # interface ModulesArguments {
2764
+ # /** The index of the first module to return; if omitted modules start at 0. */
2765
+ # startModule?: number;
2766
+ # /** The number of modules to return. If moduleCount is not specified or 0, all modules are returned. */
2767
+ # moduleCount?: number;
2768
+ # }
2769
+ class ModulesArguments < DSPBase
2770
+ attr_accessor :startModule, :moduleCount # type: number # type: number
2771
+
2772
+ def initialize(initial_hash = nil)
2773
+ super
2774
+ @optional_method_names = %i[startModule moduleCount]
2775
+ end
2776
+
2777
+ def from_h!(value)
2778
+ value = {} if value.nil?
2779
+ self.startModule = value['startModule']
2780
+ self.moduleCount = value['moduleCount']
2781
+ self
2782
+ end
2783
+ end
2784
+
2785
+ # interface ModulesResponse extends Response {
2786
+ # body: {
2787
+ # /** All modules or range of modules. */
2788
+ # modules: Module[];
2789
+ # /** The total number of modules available. */
2790
+ # totalModules?: number;
2791
+ # };
2792
+ # }
2793
+ class ModulesResponse < DSPBase
2794
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2795
+ # /** All modules or range of modules. */
2796
+ # modules: Module[];
2797
+ # /** The total number of modules available. */
2798
+ # totalModules?: number;
2799
+ # }
2800
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2801
+
2802
+ def initialize(initial_hash = nil)
2803
+ super
2804
+ @optional_method_names = %i[message]
2805
+ end
2806
+
2807
+ def from_h!(value)
2808
+ value = {} if value.nil?
2809
+ self.body = value['body'] # Unknown type
2810
+ self.request_seq = value['request_seq']
2811
+ self.success = value['success'] # Unknown type
2812
+ self.command = value['command']
2813
+ self.message = value['message']
2814
+ self.seq = value['seq']
2815
+ self.type = value['type']
2816
+ self
2817
+ end
2818
+ end
2819
+
2820
+ # interface LoadedSourcesRequest extends Request {
2821
+ # arguments?: LoadedSourcesArguments;
2822
+ # }
2823
+ class LoadedSourcesRequest < DSPBase
2824
+ attr_accessor :arguments, :command, :seq, :type # type: LoadedSourcesArguments # type: string # type: number # type: string
2825
+
2826
+ def initialize(initial_hash = nil)
2827
+ super
2828
+ @optional_method_names = %i[arguments]
2829
+ end
2830
+
2831
+ def from_h!(value)
2832
+ value = {} if value.nil?
2833
+ self.arguments = LoadedSourcesArguments.new(value['arguments']) unless value['arguments'].nil?
2834
+ self.command = value['command']
2835
+ self.seq = value['seq']
2836
+ self.type = value['type']
2837
+ self
2838
+ end
2839
+ end
2840
+
2841
+ # interface LoadedSourcesArguments {
2842
+ # }
2843
+ class LoadedSourcesArguments < DSPBase
2844
+
2845
+ def from_h!(value)
2846
+ value = {} if value.nil?
2847
+ self
2848
+ end
2849
+ end
2850
+
2851
+ # interface LoadedSourcesResponse extends Response {
2852
+ # body: {
2853
+ # /** Set of loaded sources. */
2854
+ # sources: Source[];
2855
+ # };
2856
+ # }
2857
+ class LoadedSourcesResponse < DSPBase
2858
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2859
+ # /** Set of loaded sources. */
2860
+ # sources: Source[];
2861
+ # }
2862
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2863
+
2864
+ def initialize(initial_hash = nil)
2865
+ super
2866
+ @optional_method_names = %i[message]
2867
+ end
2868
+
2869
+ def from_h!(value)
2870
+ value = {} if value.nil?
2871
+ self.body = value['body'] # Unknown type
2872
+ self.request_seq = value['request_seq']
2873
+ self.success = value['success'] # Unknown type
2874
+ self.command = value['command']
2875
+ self.message = value['message']
2876
+ self.seq = value['seq']
2877
+ self.type = value['type']
2878
+ self
2879
+ end
2880
+ end
2881
+
2882
+ # interface EvaluateRequest extends Request {
2883
+ # arguments: EvaluateArguments;
2884
+ # }
2885
+ class EvaluateRequest < DSPBase
2886
+ attr_accessor :arguments, :command, :seq, :type # type: EvaluateArguments # type: string # type: number # type: string
2887
+
2888
+ def from_h!(value)
2889
+ value = {} if value.nil?
2890
+ self.arguments = EvaluateArguments.new(value['arguments']) unless value['arguments'].nil?
2891
+ self.command = value['command']
2892
+ self.seq = value['seq']
2893
+ self.type = value['type']
2894
+ self
2895
+ end
2896
+ end
2897
+
2898
+ # interface EvaluateArguments {
2899
+ # /** The expression to evaluate. */
2900
+ # expression: string;
2901
+ # /** Evaluate the expression in the scope of this stack frame. If not specified, the expression is evaluated in the global scope. */
2902
+ # frameId?: number;
2903
+ # /** The context in which the evaluate request is run.
2904
+ # Values:
2905
+ # 'watch': evaluate is run in a watch.
2906
+ # 'repl': evaluate is run from REPL console.
2907
+ # 'hover': evaluate is run from a data hover.
2908
+ # 'clipboard': evaluate is run to generate the value that will be stored in the clipboard.
2909
+ # The attribute is only honored by a debug adapter if the capability 'supportsClipboardContext' is true.
2910
+ # etc.
2911
+ # */
2912
+ # context?: string;
2913
+ # /** Specifies details on how to format the Evaluate result.
2914
+ # The attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true.
2915
+ # */
2916
+ # format?: ValueFormat;
2917
+ # }
2918
+ class EvaluateArguments < DSPBase
2919
+ attr_accessor :expression, :frameId, :context, :format # type: string # type: number # type: string # type: ValueFormat
2920
+
2921
+ def initialize(initial_hash = nil)
2922
+ super
2923
+ @optional_method_names = %i[frameId context format]
2924
+ end
2925
+
2926
+ def from_h!(value)
2927
+ value = {} if value.nil?
2928
+ self.expression = value['expression']
2929
+ self.frameId = value['frameId']
2930
+ self.context = value['context']
2931
+ self.format = ValueFormat.new(value['format']) unless value['format'].nil?
2932
+ self
2933
+ end
2934
+ end
2935
+
2936
+ # interface EvaluateResponse extends Response {
2937
+ # body: {
2938
+ # /** The result of the evaluate request. */
2939
+ # result: string;
2940
+ # /** The optional type of the evaluate result.
2941
+ # This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
2942
+ # */
2943
+ # type?: string;
2944
+ # /** Properties of a evaluate result that can be used to determine how to render the result in the UI. */
2945
+ # presentationHint?: VariablePresentationHint;
2946
+ # /** If variablesReference is > 0, the evaluate result is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
2947
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2948
+ # */
2949
+ # variablesReference: number;
2950
+ # /** The number of named child variables.
2951
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2952
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2953
+ # */
2954
+ # namedVariables?: number;
2955
+ # /** The number of indexed child variables.
2956
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2957
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2958
+ # */
2959
+ # indexedVariables?: number;
2960
+ # /** Optional memory reference to a location appropriate for this result.
2961
+ # For pointer type eval results, this is generally a reference to the memory address contained in the pointer.
2962
+ # This attribute should be returned by a debug adapter if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request.
2963
+ # */
2964
+ # memoryReference?: string;
2965
+ # };
2966
+ # }
2967
+ class EvaluateResponse < DSPBase
2968
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
2969
+ # /** The result of the evaluate request. */
2970
+ # result: string;
2971
+ # /** The optional type of the evaluate result.
2972
+ # This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
2973
+ # */
2974
+ # type?: string;
2975
+ # /** Properties of a evaluate result that can be used to determine how to render the result in the UI. */
2976
+ # presentationHint?: VariablePresentationHint;
2977
+ # /** If variablesReference is > 0, the evaluate result is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
2978
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2979
+ # */
2980
+ # variablesReference: number;
2981
+ # /** The number of named child variables.
2982
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2983
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2984
+ # */
2985
+ # namedVariables?: number;
2986
+ # /** The number of indexed child variables.
2987
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
2988
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
2989
+ # */
2990
+ # indexedVariables?: number;
2991
+ # /** Optional memory reference to a location appropriate for this result.
2992
+ # For pointer type eval results, this is generally a reference to the memory address contained in the pointer.
2993
+ # This attribute should be returned by a debug adapter if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request.
2994
+ # */
2995
+ # memoryReference?: string;
2996
+ # }
2997
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
2998
+
2999
+ def initialize(initial_hash = nil)
3000
+ super
3001
+ @optional_method_names = %i[message]
3002
+ end
3003
+
3004
+ def from_h!(value)
3005
+ value = {} if value.nil?
3006
+ self.body = value['body'] # Unknown type
3007
+ self.request_seq = value['request_seq']
3008
+ self.success = value['success'] # Unknown type
3009
+ self.command = value['command']
3010
+ self.message = value['message']
3011
+ self.seq = value['seq']
3012
+ self.type = value['type']
3013
+ self
3014
+ end
3015
+ end
3016
+
3017
+ # interface SetExpressionRequest extends Request {
3018
+ # arguments: SetExpressionArguments;
3019
+ # }
3020
+ class SetExpressionRequest < DSPBase
3021
+ attr_accessor :arguments, :command, :seq, :type # type: SetExpressionArguments # type: string # type: number # type: string
3022
+
3023
+ def from_h!(value)
3024
+ value = {} if value.nil?
3025
+ self.arguments = SetExpressionArguments.new(value['arguments']) unless value['arguments'].nil?
3026
+ self.command = value['command']
3027
+ self.seq = value['seq']
3028
+ self.type = value['type']
3029
+ self
3030
+ end
3031
+ end
3032
+
3033
+ # interface SetExpressionArguments {
3034
+ # /** The l-value expression to assign to. */
3035
+ # expression: string;
3036
+ # /** The value expression to assign to the l-value expression. */
3037
+ # value: string;
3038
+ # /** Evaluate the expressions in the scope of this stack frame. If not specified, the expressions are evaluated in the global scope. */
3039
+ # frameId?: number;
3040
+ # /** Specifies how the resulting value should be formatted. */
3041
+ # format?: ValueFormat;
3042
+ # }
3043
+ class SetExpressionArguments < DSPBase
3044
+ attr_accessor :expression, :value, :frameId, :format # type: string # type: string # type: number # type: ValueFormat
3045
+
3046
+ def initialize(initial_hash = nil)
3047
+ super
3048
+ @optional_method_names = %i[frameId format]
3049
+ end
3050
+
3051
+ def from_h!(value)
3052
+ value = {} if value.nil?
3053
+ self.expression = value['expression']
3054
+ self.value = value['value']
3055
+ self.frameId = value['frameId']
3056
+ self.format = ValueFormat.new(value['format']) unless value['format'].nil?
3057
+ self
3058
+ end
3059
+ end
3060
+
3061
+ # interface SetExpressionResponse extends Response {
3062
+ # body: {
3063
+ # /** The new value of the expression. */
3064
+ # value: string;
3065
+ # /** The optional type of the value.
3066
+ # This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
3067
+ # */
3068
+ # type?: string;
3069
+ # /** Properties of a value that can be used to determine how to render the result in the UI. */
3070
+ # presentationHint?: VariablePresentationHint;
3071
+ # /** If variablesReference is > 0, the value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
3072
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3073
+ # */
3074
+ # variablesReference?: number;
3075
+ # /** The number of named child variables.
3076
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3077
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3078
+ # */
3079
+ # namedVariables?: number;
3080
+ # /** The number of indexed child variables.
3081
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3082
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3083
+ # */
3084
+ # indexedVariables?: number;
3085
+ # };
3086
+ # }
3087
+ class SetExpressionResponse < DSPBase
3088
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3089
+ # /** The new value of the expression. */
3090
+ # value: string;
3091
+ # /** The optional type of the value.
3092
+ # This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
3093
+ # */
3094
+ # type?: string;
3095
+ # /** Properties of a value that can be used to determine how to render the result in the UI. */
3096
+ # presentationHint?: VariablePresentationHint;
3097
+ # /** If variablesReference is > 0, the value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
3098
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3099
+ # */
3100
+ # variablesReference?: number;
3101
+ # /** The number of named child variables.
3102
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3103
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3104
+ # */
3105
+ # namedVariables?: number;
3106
+ # /** The number of indexed child variables.
3107
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3108
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3109
+ # */
3110
+ # indexedVariables?: number;
3111
+ # }
3112
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3113
+
3114
+ def initialize(initial_hash = nil)
3115
+ super
3116
+ @optional_method_names = %i[message]
3117
+ end
3118
+
3119
+ def from_h!(value)
3120
+ value = {} if value.nil?
3121
+ self.body = value['body'] # Unknown type
3122
+ self.request_seq = value['request_seq']
3123
+ self.success = value['success'] # Unknown type
3124
+ self.command = value['command']
3125
+ self.message = value['message']
3126
+ self.seq = value['seq']
3127
+ self.type = value['type']
3128
+ self
3129
+ end
3130
+ end
3131
+
3132
+ # interface StepInTargetsRequest extends Request {
3133
+ # arguments: StepInTargetsArguments;
3134
+ # }
3135
+ class StepInTargetsRequest < DSPBase
3136
+ attr_accessor :arguments, :command, :seq, :type # type: StepInTargetsArguments # type: string # type: number # type: string
3137
+
3138
+ def from_h!(value)
3139
+ value = {} if value.nil?
3140
+ self.arguments = StepInTargetsArguments.new(value['arguments']) unless value['arguments'].nil?
3141
+ self.command = value['command']
3142
+ self.seq = value['seq']
3143
+ self.type = value['type']
3144
+ self
3145
+ end
3146
+ end
3147
+
3148
+ # interface StepInTargetsArguments {
3149
+ # /** The stack frame for which to retrieve the possible stepIn targets. */
3150
+ # frameId: number;
3151
+ # }
3152
+ class StepInTargetsArguments < DSPBase
3153
+ attr_accessor :frameId # type: number
3154
+
3155
+ def from_h!(value)
3156
+ value = {} if value.nil?
3157
+ self.frameId = value['frameId']
3158
+ self
3159
+ end
3160
+ end
3161
+
3162
+ # interface StepInTargetsResponse extends Response {
3163
+ # body: {
3164
+ # /** The possible stepIn targets of the specified source location. */
3165
+ # targets: StepInTarget[];
3166
+ # };
3167
+ # }
3168
+ class StepInTargetsResponse < DSPBase
3169
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3170
+ # /** The possible stepIn targets of the specified source location. */
3171
+ # targets: StepInTarget[];
3172
+ # }
3173
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3174
+
3175
+ def initialize(initial_hash = nil)
3176
+ super
3177
+ @optional_method_names = %i[message]
3178
+ end
3179
+
3180
+ def from_h!(value)
3181
+ value = {} if value.nil?
3182
+ self.body = value['body'] # Unknown type
3183
+ self.request_seq = value['request_seq']
3184
+ self.success = value['success'] # Unknown type
3185
+ self.command = value['command']
3186
+ self.message = value['message']
3187
+ self.seq = value['seq']
3188
+ self.type = value['type']
3189
+ self
3190
+ end
3191
+ end
3192
+
3193
+ # interface GotoTargetsRequest extends Request {
3194
+ # arguments: GotoTargetsArguments;
3195
+ # }
3196
+ class GotoTargetsRequest < DSPBase
3197
+ attr_accessor :arguments, :command, :seq, :type # type: GotoTargetsArguments # type: string # type: number # type: string
3198
+
3199
+ def from_h!(value)
3200
+ value = {} if value.nil?
3201
+ self.arguments = GotoTargetsArguments.new(value['arguments']) unless value['arguments'].nil?
3202
+ self.command = value['command']
3203
+ self.seq = value['seq']
3204
+ self.type = value['type']
3205
+ self
3206
+ end
3207
+ end
3208
+
3209
+ # interface GotoTargetsArguments {
3210
+ # /** The source location for which the goto targets are determined. */
3211
+ # source: Source;
3212
+ # /** The line location for which the goto targets are determined. */
3213
+ # line: number;
3214
+ # /** An optional column location for which the goto targets are determined. */
3215
+ # column?: number;
3216
+ # }
3217
+ class GotoTargetsArguments < DSPBase
3218
+ attr_accessor :source, :line, :column # type: Source # type: number # type: number
3219
+
3220
+ def initialize(initial_hash = nil)
3221
+ super
3222
+ @optional_method_names = %i[column]
3223
+ end
3224
+
3225
+ def from_h!(value)
3226
+ value = {} if value.nil?
3227
+ self.source = Source.new(value['source']) unless value['source'].nil?
3228
+ self.line = value['line']
3229
+ self.column = value['column']
3230
+ self
3231
+ end
3232
+ end
3233
+
3234
+ # interface GotoTargetsResponse extends Response {
3235
+ # body: {
3236
+ # /** The possible goto targets of the specified location. */
3237
+ # targets: GotoTarget[];
3238
+ # };
3239
+ # }
3240
+ class GotoTargetsResponse < DSPBase
3241
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3242
+ # /** The possible goto targets of the specified location. */
3243
+ # targets: GotoTarget[];
3244
+ # }
3245
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3246
+
3247
+ def initialize(initial_hash = nil)
3248
+ super
3249
+ @optional_method_names = %i[message]
3250
+ end
3251
+
3252
+ def from_h!(value)
3253
+ value = {} if value.nil?
3254
+ self.body = value['body'] # Unknown type
3255
+ self.request_seq = value['request_seq']
3256
+ self.success = value['success'] # Unknown type
3257
+ self.command = value['command']
3258
+ self.message = value['message']
3259
+ self.seq = value['seq']
3260
+ self.type = value['type']
3261
+ self
3262
+ end
3263
+ end
3264
+
3265
+ # interface CompletionsRequest extends Request {
3266
+ # arguments: CompletionsArguments;
3267
+ # }
3268
+ class CompletionsRequest < DSPBase
3269
+ attr_accessor :arguments, :command, :seq, :type # type: CompletionsArguments # type: string # type: number # type: string
3270
+
3271
+ def from_h!(value)
3272
+ value = {} if value.nil?
3273
+ self.arguments = CompletionsArguments.new(value['arguments']) unless value['arguments'].nil?
3274
+ self.command = value['command']
3275
+ self.seq = value['seq']
3276
+ self.type = value['type']
3277
+ self
3278
+ end
3279
+ end
3280
+
3281
+ # interface CompletionsArguments {
3282
+ # /** Returns completions in the scope of this stack frame. If not specified, the completions are returned for the global scope. */
3283
+ # frameId?: number;
3284
+ # /** One or more source lines. Typically this is the text a user has typed into the debug console before he asked for completion. */
3285
+ # text: string;
3286
+ # /** The character position for which to determine the completion proposals. */
3287
+ # column: number;
3288
+ # /** An optional line for which to determine the completion proposals. If missing the first line of the text is assumed. */
3289
+ # line?: number;
3290
+ # }
3291
+ class CompletionsArguments < DSPBase
3292
+ attr_accessor :frameId, :text, :column, :line # type: number # type: string # type: number # type: number
3293
+
3294
+ def initialize(initial_hash = nil)
3295
+ super
3296
+ @optional_method_names = %i[frameId line]
3297
+ end
3298
+
3299
+ def from_h!(value)
3300
+ value = {} if value.nil?
3301
+ self.frameId = value['frameId']
3302
+ self.text = value['text']
3303
+ self.column = value['column']
3304
+ self.line = value['line']
3305
+ self
3306
+ end
3307
+ end
3308
+
3309
+ # interface CompletionsResponse extends Response {
3310
+ # body: {
3311
+ # /** The possible completions for . */
3312
+ # targets: CompletionItem[];
3313
+ # };
3314
+ # }
3315
+ class CompletionsResponse < DSPBase
3316
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3317
+ # /** The possible completions for . */
3318
+ # targets: CompletionItem[];
3319
+ # }
3320
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3321
+
3322
+ def initialize(initial_hash = nil)
3323
+ super
3324
+ @optional_method_names = %i[message]
3325
+ end
3326
+
3327
+ def from_h!(value)
3328
+ value = {} if value.nil?
3329
+ self.body = value['body'] # Unknown type
3330
+ self.request_seq = value['request_seq']
3331
+ self.success = value['success'] # Unknown type
3332
+ self.command = value['command']
3333
+ self.message = value['message']
3334
+ self.seq = value['seq']
3335
+ self.type = value['type']
3336
+ self
3337
+ end
3338
+ end
3339
+
3340
+ # interface ExceptionInfoRequest extends Request {
3341
+ # arguments: ExceptionInfoArguments;
3342
+ # }
3343
+ class ExceptionInfoRequest < DSPBase
3344
+ attr_accessor :arguments, :command, :seq, :type # type: ExceptionInfoArguments # type: string # type: number # type: string
3345
+
3346
+ def from_h!(value)
3347
+ value = {} if value.nil?
3348
+ self.arguments = ExceptionInfoArguments.new(value['arguments']) unless value['arguments'].nil?
3349
+ self.command = value['command']
3350
+ self.seq = value['seq']
3351
+ self.type = value['type']
3352
+ self
3353
+ end
3354
+ end
3355
+
3356
+ # interface ExceptionInfoArguments {
3357
+ # /** Thread for which exception information should be retrieved. */
3358
+ # threadId: number;
3359
+ # }
3360
+ class ExceptionInfoArguments < DSPBase
3361
+ attr_accessor :threadId # type: number
3362
+
3363
+ def from_h!(value)
3364
+ value = {} if value.nil?
3365
+ self.threadId = value['threadId']
3366
+ self
3367
+ end
3368
+ end
3369
+
3370
+ # interface ExceptionInfoResponse extends Response {
3371
+ # body: {
3372
+ # /** ID of the exception that was thrown. */
3373
+ # exceptionId: string;
3374
+ # /** Descriptive text for the exception provided by the debug adapter. */
3375
+ # description?: string;
3376
+ # /** Mode that caused the exception notification to be raised. */
3377
+ # breakMode: ExceptionBreakMode;
3378
+ # /** Detailed information about the exception. */
3379
+ # details?: ExceptionDetails;
3380
+ # };
3381
+ # }
3382
+ class ExceptionInfoResponse < DSPBase
3383
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3384
+ # /** ID of the exception that was thrown. */
3385
+ # exceptionId: string;
3386
+ # /** Descriptive text for the exception provided by the debug adapter. */
3387
+ # description?: string;
3388
+ # /** Mode that caused the exception notification to be raised. */
3389
+ # breakMode: ExceptionBreakMode;
3390
+ # /** Detailed information about the exception. */
3391
+ # details?: ExceptionDetails;
3392
+ # }
3393
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3394
+
3395
+ def initialize(initial_hash = nil)
3396
+ super
3397
+ @optional_method_names = %i[message]
3398
+ end
3399
+
3400
+ def from_h!(value)
3401
+ value = {} if value.nil?
3402
+ self.body = value['body'] # Unknown type
3403
+ self.request_seq = value['request_seq']
3404
+ self.success = value['success'] # Unknown type
3405
+ self.command = value['command']
3406
+ self.message = value['message']
3407
+ self.seq = value['seq']
3408
+ self.type = value['type']
3409
+ self
3410
+ end
3411
+ end
3412
+
3413
+ # interface ReadMemoryRequest extends Request {
3414
+ # arguments: ReadMemoryArguments;
3415
+ # }
3416
+ class ReadMemoryRequest < DSPBase
3417
+ attr_accessor :arguments, :command, :seq, :type # type: ReadMemoryArguments # type: string # type: number # type: string
3418
+
3419
+ def from_h!(value)
3420
+ value = {} if value.nil?
3421
+ self.arguments = ReadMemoryArguments.new(value['arguments']) unless value['arguments'].nil?
3422
+ self.command = value['command']
3423
+ self.seq = value['seq']
3424
+ self.type = value['type']
3425
+ self
3426
+ end
3427
+ end
3428
+
3429
+ # interface ReadMemoryArguments {
3430
+ # /** Memory reference to the base location from which data should be read. */
3431
+ # memoryReference: string;
3432
+ # /** Optional offset (in bytes) to be applied to the reference location before reading data. Can be negative. */
3433
+ # offset?: number;
3434
+ # /** Number of bytes to read at the specified location and offset. */
3435
+ # count: number;
3436
+ # }
3437
+ class ReadMemoryArguments < DSPBase
3438
+ attr_accessor :memoryReference, :offset, :count # type: string # type: number # type: number
3439
+
3440
+ def initialize(initial_hash = nil)
3441
+ super
3442
+ @optional_method_names = %i[offset]
3443
+ end
3444
+
3445
+ def from_h!(value)
3446
+ value = {} if value.nil?
3447
+ self.memoryReference = value['memoryReference']
3448
+ self.offset = value['offset']
3449
+ self.count = value['count']
3450
+ self
3451
+ end
3452
+ end
3453
+
3454
+ # interface ReadMemoryResponse extends Response {
3455
+ # body?: {
3456
+ # /** The address of the first byte of data returned.
3457
+ # Treated as a hex value if prefixed with '0x', or as a decimal value otherwise.
3458
+ # */
3459
+ # address: string;
3460
+ # /** The number of unreadable bytes encountered after the last successfully read byte.
3461
+ # This can be used to determine the number of bytes that must be skipped before a subsequent 'readMemory' request will succeed.
3462
+ # */
3463
+ # unreadableBytes?: number;
3464
+ # /** The bytes read from memory, encoded using base64. */
3465
+ # data?: string;
3466
+ # };
3467
+ # }
3468
+ class ReadMemoryResponse < DSPBase
3469
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3470
+ # /** The address of the first byte of data returned.
3471
+ # Treated as a hex value if prefixed with '0x', or as a decimal value otherwise.
3472
+ # */
3473
+ # address: string;
3474
+ # /** The number of unreadable bytes encountered after the last successfully read byte.
3475
+ # This can be used to determine the number of bytes that must be skipped before a subsequent 'readMemory' request will succeed.
3476
+ # */
3477
+ # unreadableBytes?: number;
3478
+ # /** The bytes read from memory, encoded using base64. */
3479
+ # data?: string;
3480
+ # }
3481
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3482
+
3483
+ def initialize(initial_hash = nil)
3484
+ super
3485
+ @optional_method_names = %i[body message]
3486
+ end
3487
+
3488
+ def from_h!(value)
3489
+ value = {} if value.nil?
3490
+ self.body = value['body'] # Unknown type
3491
+ self.request_seq = value['request_seq']
3492
+ self.success = value['success'] # Unknown type
3493
+ self.command = value['command']
3494
+ self.message = value['message']
3495
+ self.seq = value['seq']
3496
+ self.type = value['type']
3497
+ self
3498
+ end
3499
+ end
3500
+
3501
+ # interface DisassembleRequest extends Request {
3502
+ # arguments: DisassembleArguments;
3503
+ # }
3504
+ class DisassembleRequest < DSPBase
3505
+ attr_accessor :arguments, :command, :seq, :type # type: DisassembleArguments # type: string # type: number # type: string
3506
+
3507
+ def from_h!(value)
3508
+ value = {} if value.nil?
3509
+ self.arguments = DisassembleArguments.new(value['arguments']) unless value['arguments'].nil?
3510
+ self.command = value['command']
3511
+ self.seq = value['seq']
3512
+ self.type = value['type']
3513
+ self
3514
+ end
3515
+ end
3516
+
3517
+ # interface DisassembleArguments {
3518
+ # /** Memory reference to the base location containing the instructions to disassemble. */
3519
+ # memoryReference: string;
3520
+ # /** Optional offset (in bytes) to be applied to the reference location before disassembling. Can be negative. */
3521
+ # offset?: number;
3522
+ # /** Optional offset (in instructions) to be applied after the byte offset (if any) before disassembling. Can be negative. */
3523
+ # instructionOffset?: number;
3524
+ # /** Number of instructions to disassemble starting at the specified location and offset.
3525
+ # An adapter must return exactly this number of instructions - any unavailable instructions should be replaced with an implementation-defined 'invalid instruction' value.
3526
+ # */
3527
+ # instructionCount: number;
3528
+ # /** If true, the adapter should attempt to resolve memory addresses and other values to symbolic names. */
3529
+ # resolveSymbols?: boolean;
3530
+ # }
3531
+ class DisassembleArguments < DSPBase
3532
+ attr_accessor :memoryReference, :offset, :instructionOffset, :instructionCount, :resolveSymbols # type: string # type: number # type: number # type: number # type: boolean
3533
+
3534
+ def initialize(initial_hash = nil)
3535
+ super
3536
+ @optional_method_names = %i[offset instructionOffset resolveSymbols]
3537
+ end
3538
+
3539
+ def from_h!(value)
3540
+ value = {} if value.nil?
3541
+ self.memoryReference = value['memoryReference']
3542
+ self.offset = value['offset']
3543
+ self.instructionOffset = value['instructionOffset']
3544
+ self.instructionCount = value['instructionCount']
3545
+ self.resolveSymbols = value['resolveSymbols'] # Unknown type
3546
+ self
3547
+ end
3548
+ end
3549
+
3550
+ # interface DisassembleResponse extends Response {
3551
+ # body?: {
3552
+ # /** The list of disassembled instructions. */
3553
+ # instructions: DisassembledInstruction[];
3554
+ # };
3555
+ # }
3556
+ class DisassembleResponse < DSPBase
3557
+ attr_accessor :body, :success, :command, :message, :seq, :type # type: {
3558
+ # /** The list of disassembled instructions. */
3559
+ # instructions: DisassembledInstruction[];
3560
+ # }
3561
+ attr_accessor :request_seq # type: number # type: boolean # type: string # type: string # type: number # type: string
3562
+
3563
+ def initialize(initial_hash = nil)
3564
+ super
3565
+ @optional_method_names = %i[body message]
3566
+ end
3567
+
3568
+ def from_h!(value)
3569
+ value = {} if value.nil?
3570
+ self.body = value['body'] # Unknown type
3571
+ self.request_seq = value['request_seq']
3572
+ self.success = value['success'] # Unknown type
3573
+ self.command = value['command']
3574
+ self.message = value['message']
3575
+ self.seq = value['seq']
3576
+ self.type = value['type']
3577
+ self
3578
+ end
3579
+ end
3580
+
3581
+ # interface Capabilities {
3582
+ # /** The debug adapter supports the 'configurationDone' request. */
3583
+ # supportsConfigurationDoneRequest?: boolean;
3584
+ # /** The debug adapter supports function breakpoints. */
3585
+ # supportsFunctionBreakpoints?: boolean;
3586
+ # /** The debug adapter supports conditional breakpoints. */
3587
+ # supportsConditionalBreakpoints?: boolean;
3588
+ # /** The debug adapter supports breakpoints that break execution after a specified number of hits. */
3589
+ # supportsHitConditionalBreakpoints?: boolean;
3590
+ # /** The debug adapter supports a (side effect free) evaluate request for data hovers. */
3591
+ # supportsEvaluateForHovers?: boolean;
3592
+ # /** Available filters or options for the setExceptionBreakpoints request. */
3593
+ # exceptionBreakpointFilters?: ExceptionBreakpointsFilter[];
3594
+ # /** The debug adapter supports stepping back via the 'stepBack' and 'reverseContinue' requests. */
3595
+ # supportsStepBack?: boolean;
3596
+ # /** The debug adapter supports setting a variable to a value. */
3597
+ # supportsSetVariable?: boolean;
3598
+ # /** The debug adapter supports restarting a frame. */
3599
+ # supportsRestartFrame?: boolean;
3600
+ # /** The debug adapter supports the 'gotoTargets' request. */
3601
+ # supportsGotoTargetsRequest?: boolean;
3602
+ # /** The debug adapter supports the 'stepInTargets' request. */
3603
+ # supportsStepInTargetsRequest?: boolean;
3604
+ # /** The debug adapter supports the 'completions' request. */
3605
+ # supportsCompletionsRequest?: boolean;
3606
+ # /** The set of characters that should trigger completion in a REPL. If not specified, the UI should assume the '.' character. */
3607
+ # completionTriggerCharacters?: string[];
3608
+ # /** The debug adapter supports the 'modules' request. */
3609
+ # supportsModulesRequest?: boolean;
3610
+ # /** The set of additional module information exposed by the debug adapter. */
3611
+ # additionalModuleColumns?: ColumnDescriptor[];
3612
+ # /** Checksum algorithms supported by the debug adapter. */
3613
+ # supportedChecksumAlgorithms?: ChecksumAlgorithm[];
3614
+ # /** The debug adapter supports the 'restart' request. In this case a client should not implement 'restart' by terminating and relaunching the adapter but by calling the RestartRequest. */
3615
+ # supportsRestartRequest?: boolean;
3616
+ # /** The debug adapter supports 'exceptionOptions' on the setExceptionBreakpoints request. */
3617
+ # supportsExceptionOptions?: boolean;
3618
+ # /** The debug adapter supports a 'format' attribute on the stackTraceRequest, variablesRequest, and evaluateRequest. */
3619
+ # supportsValueFormattingOptions?: boolean;
3620
+ # /** The debug adapter supports the 'exceptionInfo' request. */
3621
+ # supportsExceptionInfoRequest?: boolean;
3622
+ # /** The debug adapter supports the 'terminateDebuggee' attribute on the 'disconnect' request. */
3623
+ # supportTerminateDebuggee?: boolean;
3624
+ # /** The debug adapter supports the delayed loading of parts of the stack, which requires that both the 'startFrame' and 'levels' arguments and the 'totalFrames' result of the 'StackTrace' request are supported. */
3625
+ # supportsDelayedStackTraceLoading?: boolean;
3626
+ # /** The debug adapter supports the 'loadedSources' request. */
3627
+ # supportsLoadedSourcesRequest?: boolean;
3628
+ # /** The debug adapter supports logpoints by interpreting the 'logMessage' attribute of the SourceBreakpoint. */
3629
+ # supportsLogPoints?: boolean;
3630
+ # /** The debug adapter supports the 'terminateThreads' request. */
3631
+ # supportsTerminateThreadsRequest?: boolean;
3632
+ # /** The debug adapter supports the 'setExpression' request. */
3633
+ # supportsSetExpression?: boolean;
3634
+ # /** The debug adapter supports the 'terminate' request. */
3635
+ # supportsTerminateRequest?: boolean;
3636
+ # /** The debug adapter supports data breakpoints. */
3637
+ # supportsDataBreakpoints?: boolean;
3638
+ # /** The debug adapter supports the 'readMemory' request. */
3639
+ # supportsReadMemoryRequest?: boolean;
3640
+ # /** The debug adapter supports the 'disassemble' request. */
3641
+ # supportsDisassembleRequest?: boolean;
3642
+ # /** The debug adapter supports the 'cancel' request. */
3643
+ # supportsCancelRequest?: boolean;
3644
+ # /** The debug adapter supports the 'breakpointLocations' request. */
3645
+ # supportsBreakpointLocationsRequest?: boolean;
3646
+ # /** The debug adapter supports the 'clipboard' context value in the 'evaluate' request. */
3647
+ # supportsClipboardContext?: boolean;
3648
+ # }
3649
+ class Capabilities < DSPBase
3650
+ attr_accessor :supportsConfigurationDoneRequest, :supportsFunctionBreakpoints, :supportsConditionalBreakpoints, :supportsHitConditionalBreakpoints, :supportsEvaluateForHovers, :exceptionBreakpointFilters, :supportsStepBack, :supportsSetVariable, :supportsRestartFrame, :supportsGotoTargetsRequest, :supportsStepInTargetsRequest, :supportsCompletionsRequest, :completionTriggerCharacters, :supportsModulesRequest, :additionalModuleColumns, :supportedChecksumAlgorithms, :supportsRestartRequest, :supportsExceptionOptions, :supportsValueFormattingOptions, :supportsExceptionInfoRequest, :supportTerminateDebuggee, :supportsDelayedStackTraceLoading, :supportsLoadedSourcesRequest, :supportsLogPoints, :supportsTerminateThreadsRequest, :supportsSetExpression, :supportsTerminateRequest, :supportsDataBreakpoints, :supportsReadMemoryRequest, :supportsDisassembleRequest, :supportsCancelRequest, :supportsBreakpointLocationsRequest, :supportsClipboardContext # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: ExceptionBreakpointsFilter[] # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: string[] # type: boolean # type: ColumnDescriptor[] # type: ChecksumAlgorithm[] # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean
3651
+
3652
+ def initialize(initial_hash = nil)
3653
+ super
3654
+ @optional_method_names = %i[supportsConfigurationDoneRequest supportsFunctionBreakpoints supportsConditionalBreakpoints supportsHitConditionalBreakpoints supportsEvaluateForHovers exceptionBreakpointFilters supportsStepBack supportsSetVariable supportsRestartFrame supportsGotoTargetsRequest supportsStepInTargetsRequest supportsCompletionsRequest completionTriggerCharacters supportsModulesRequest additionalModuleColumns supportedChecksumAlgorithms supportsRestartRequest supportsExceptionOptions supportsValueFormattingOptions supportsExceptionInfoRequest supportTerminateDebuggee supportsDelayedStackTraceLoading supportsLoadedSourcesRequest supportsLogPoints supportsTerminateThreadsRequest supportsSetExpression supportsTerminateRequest supportsDataBreakpoints supportsReadMemoryRequest supportsDisassembleRequest supportsCancelRequest supportsBreakpointLocationsRequest supportsClipboardContext]
3655
+ end
3656
+
3657
+ def from_h!(value)
3658
+ value = {} if value.nil?
3659
+ self.supportsConfigurationDoneRequest = value['supportsConfigurationDoneRequest'] # Unknown type
3660
+ self.supportsFunctionBreakpoints = value['supportsFunctionBreakpoints'] # Unknown type
3661
+ self.supportsConditionalBreakpoints = value['supportsConditionalBreakpoints'] # Unknown type
3662
+ self.supportsHitConditionalBreakpoints = value['supportsHitConditionalBreakpoints'] # Unknown type
3663
+ self.supportsEvaluateForHovers = value['supportsEvaluateForHovers'] # Unknown type
3664
+ self.exceptionBreakpointFilters = to_typed_aray(value['exceptionBreakpointFilters'], ExceptionBreakpointsFilter)
3665
+ self.supportsStepBack = value['supportsStepBack'] # Unknown type
3666
+ self.supportsSetVariable = value['supportsSetVariable'] # Unknown type
3667
+ self.supportsRestartFrame = value['supportsRestartFrame'] # Unknown type
3668
+ self.supportsGotoTargetsRequest = value['supportsGotoTargetsRequest'] # Unknown type
3669
+ self.supportsStepInTargetsRequest = value['supportsStepInTargetsRequest'] # Unknown type
3670
+ self.supportsCompletionsRequest = value['supportsCompletionsRequest'] # Unknown type
3671
+ self.completionTriggerCharacters = value['completionTriggerCharacters'].map { |val| val } unless value['completionTriggerCharacters'].nil?
3672
+ self.supportsModulesRequest = value['supportsModulesRequest'] # Unknown type
3673
+ self.additionalModuleColumns = to_typed_aray(value['additionalModuleColumns'], ColumnDescriptor)
3674
+ self.supportedChecksumAlgorithms = value['supportedChecksumAlgorithms'].map { |val| val } unless value['supportedChecksumAlgorithms'].nil? # Unknown array type
3675
+ self.supportsRestartRequest = value['supportsRestartRequest'] # Unknown type
3676
+ self.supportsExceptionOptions = value['supportsExceptionOptions'] # Unknown type
3677
+ self.supportsValueFormattingOptions = value['supportsValueFormattingOptions'] # Unknown type
3678
+ self.supportsExceptionInfoRequest = value['supportsExceptionInfoRequest'] # Unknown type
3679
+ self.supportTerminateDebuggee = value['supportTerminateDebuggee'] # Unknown type
3680
+ self.supportsDelayedStackTraceLoading = value['supportsDelayedStackTraceLoading'] # Unknown type
3681
+ self.supportsLoadedSourcesRequest = value['supportsLoadedSourcesRequest'] # Unknown type
3682
+ self.supportsLogPoints = value['supportsLogPoints'] # Unknown type
3683
+ self.supportsTerminateThreadsRequest = value['supportsTerminateThreadsRequest'] # Unknown type
3684
+ self.supportsSetExpression = value['supportsSetExpression'] # Unknown type
3685
+ self.supportsTerminateRequest = value['supportsTerminateRequest'] # Unknown type
3686
+ self.supportsDataBreakpoints = value['supportsDataBreakpoints'] # Unknown type
3687
+ self.supportsReadMemoryRequest = value['supportsReadMemoryRequest'] # Unknown type
3688
+ self.supportsDisassembleRequest = value['supportsDisassembleRequest'] # Unknown type
3689
+ self.supportsCancelRequest = value['supportsCancelRequest'] # Unknown type
3690
+ self.supportsBreakpointLocationsRequest = value['supportsBreakpointLocationsRequest'] # Unknown type
3691
+ self.supportsClipboardContext = value['supportsClipboardContext'] # Unknown type
3692
+ self
3693
+ end
3694
+ end
3695
+
3696
+ # interface ExceptionBreakpointsFilter {
3697
+ # /** The internal ID of the filter. This value is passed to the setExceptionBreakpoints request. */
3698
+ # filter: string;
3699
+ # /** The name of the filter. This will be shown in the UI. */
3700
+ # label: string;
3701
+ # /** Initial value of the filter. If not specified a value 'false' is assumed. */
3702
+ # default?: boolean;
3703
+ # }
3704
+ class ExceptionBreakpointsFilter < DSPBase
3705
+ attr_accessor :filter, :label, :default # type: string # type: string # type: boolean
3706
+
3707
+ def initialize(initial_hash = nil)
3708
+ super
3709
+ @optional_method_names = %i[default]
3710
+ end
3711
+
3712
+ def from_h!(value)
3713
+ value = {} if value.nil?
3714
+ self.filter = value['filter']
3715
+ self.label = value['label']
3716
+ self.default = value['default'] # Unknown type
3717
+ self
3718
+ end
3719
+ end
3720
+
3721
+ # interface Message {
3722
+ # /** Unique identifier for the message. */
3723
+ # id: number;
3724
+ # /** A format string for the message. Embedded variables have the form '{name}'.
3725
+ # If variable name starts with an underscore character, the variable does not contain user data (PII) and can be safely used for telemetry purposes.
3726
+ # */
3727
+ # format: string;
3728
+ # /** An object used as a dictionary for looking up the variables in the format string. */
3729
+ # variables?: {
3730
+ # [key: string]: string;
3731
+ # };
3732
+ # /** If true send to telemetry. */
3733
+ # sendTelemetry?: boolean;
3734
+ # /** If true show user. */
3735
+ # showUser?: boolean;
3736
+ # /** An optional url where additional information about this message can be found. */
3737
+ # url?: string;
3738
+ # /** An optional label that is presented to the user as the UI for opening the url. */
3739
+ # urlLabel?: string;
3740
+ # }
3741
+ class Message < DSPBase
3742
+ attr_accessor :id, :format, :variables, :showUser, :url, :urlLabel # type: number # type: string # type: {
3743
+ # [key: string]: string;
3744
+ # }
3745
+ attr_accessor :sendTelemetry # type: boolean # type: boolean # type: string # type: string
3746
+
3747
+ def initialize(initial_hash = nil)
3748
+ super
3749
+ @optional_method_names = %i[variables sendTelemetry showUser url urlLabel]
3750
+ end
3751
+
3752
+ def from_h!(value)
3753
+ value = {} if value.nil?
3754
+ self.id = value['id']
3755
+ self.format = value['format']
3756
+ self.variables = value['variables'] # Unknown type
3757
+ self.sendTelemetry = value['sendTelemetry'] # Unknown type
3758
+ self.showUser = value['showUser'] # Unknown type
3759
+ self.url = value['url']
3760
+ self.urlLabel = value['urlLabel']
3761
+ self
3762
+ end
3763
+ end
3764
+
3765
+ # interface Module {
3766
+ # /** Unique identifier for the module. */
3767
+ # id: number | string;
3768
+ # /** A name of the module. */
3769
+ # name: string;
3770
+ # /** optional but recommended attributes.
3771
+ # always try to use these first before introducing additional attributes.
3772
+ #
3773
+ # Logical full path to the module. The exact definition is implementation defined, but usually this would be a full path to the on-disk file for the module.
3774
+ # */
3775
+ # path?: string;
3776
+ # /** True if the module is optimized. */
3777
+ # isOptimized?: boolean;
3778
+ # /** True if the module is considered 'user code' by a debugger that supports 'Just My Code'. */
3779
+ # isUserCode?: boolean;
3780
+ # /** Version of Module. */
3781
+ # version?: string;
3782
+ # /** User understandable description of if symbols were found for the module (ex: 'Symbols Loaded', 'Symbols not found', etc. */
3783
+ # symbolStatus?: string;
3784
+ # /** Logical full path to the symbol file. The exact definition is implementation defined. */
3785
+ # symbolFilePath?: string;
3786
+ # /** Module created or modified. */
3787
+ # dateTimeStamp?: string;
3788
+ # /** Address range covered by this module. */
3789
+ # addressRange?: string;
3790
+ # }
3791
+ class Module < DSPBase
3792
+ attr_accessor :id, :name, :path, :isOptimized, :isUserCode, :version, :symbolStatus, :symbolFilePath, :dateTimeStamp, :addressRange # type: number | string # type: string # type: string # type: boolean # type: boolean # type: string # type: string # type: string # type: string # type: string
3793
+
3794
+ def initialize(initial_hash = nil)
3795
+ super
3796
+ @optional_method_names = %i[path isOptimized isUserCode version symbolStatus symbolFilePath dateTimeStamp addressRange]
3797
+ end
3798
+
3799
+ def from_h!(value)
3800
+ value = {} if value.nil?
3801
+ self.id = value['id'] # Unknown type
3802
+ self.name = value['name']
3803
+ self.path = value['path']
3804
+ self.isOptimized = value['isOptimized'] # Unknown type
3805
+ self.isUserCode = value['isUserCode'] # Unknown type
3806
+ self.version = value['version']
3807
+ self.symbolStatus = value['symbolStatus']
3808
+ self.symbolFilePath = value['symbolFilePath']
3809
+ self.dateTimeStamp = value['dateTimeStamp']
3810
+ self.addressRange = value['addressRange']
3811
+ self
3812
+ end
3813
+ end
3814
+
3815
+ # interface ColumnDescriptor {
3816
+ # /** Name of the attribute rendered in this column. */
3817
+ # attributeName: string;
3818
+ # /** Header UI label of column. */
3819
+ # label: string;
3820
+ # /** Format to use for the rendered values in this column. TBD how the format strings looks like. */
3821
+ # format?: string;
3822
+ # /** Datatype of values in this column. Defaults to 'string' if not specified. */
3823
+ # type?: 'string' | 'number' | 'boolean' | 'unixTimestampUTC';
3824
+ # /** Width of this column in characters (hint only). */
3825
+ # width?: number;
3826
+ # }
3827
+ class ColumnDescriptor < DSPBase
3828
+ attr_accessor :attributeName, :label, :format, :type, :width # type: string # type: string # type: string # type: string with value 'string' | 'number' | 'boolean' | 'unixTimestampUTC' # type: number
3829
+
3830
+ def initialize(initial_hash = nil)
3831
+ super
3832
+ @optional_method_names = %i[format type width]
3833
+ end
3834
+
3835
+ def from_h!(value)
3836
+ value = {} if value.nil?
3837
+ self.attributeName = value['attributeName']
3838
+ self.label = value['label']
3839
+ self.format = value['format']
3840
+ self.type = value['type'] # Unknown type
3841
+ self.width = value['width']
3842
+ self
3843
+ end
3844
+ end
3845
+
3846
+ # interface ModulesViewDescriptor {
3847
+ # columns: ColumnDescriptor[];
3848
+ # }
3849
+ class ModulesViewDescriptor < DSPBase
3850
+ attr_accessor :columns # type: ColumnDescriptor[]
3851
+
3852
+ def from_h!(value)
3853
+ value = {} if value.nil?
3854
+ self.columns = to_typed_aray(value['columns'], ColumnDescriptor)
3855
+ self
3856
+ end
3857
+ end
3858
+
3859
+ # interface Thread {
3860
+ # /** Unique identifier for the thread. */
3861
+ # id: number;
3862
+ # /** A name of the thread. */
3863
+ # name: string;
3864
+ # }
3865
+ class Thread < DSPBase
3866
+ attr_accessor :id, :name # type: number # type: string
3867
+
3868
+ def from_h!(value)
3869
+ value = {} if value.nil?
3870
+ self.id = value['id']
3871
+ self.name = value['name']
3872
+ self
3873
+ end
3874
+ end
3875
+
3876
+ # interface Source {
3877
+ # /** The short name of the source. Every source returned from the debug adapter has a name.
3878
+ # When sending a source to the debug adapter this name is optional.
3879
+ # */
3880
+ # name?: string;
3881
+ # /** The path of the source to be shown in the UI.
3882
+ # It is only used to locate and load the content of the source if no sourceReference is specified (or its value is 0).
3883
+ # */
3884
+ # path?: string;
3885
+ # /** If sourceReference > 0 the contents of the source must be retrieved through the SourceRequest (even if a path is specified).
3886
+ # A sourceReference is only valid for a session, so it must not be used to persist a source.
3887
+ # The value should be less than or equal to 2147483647 (2^31 - 1).
3888
+ # */
3889
+ # sourceReference?: number;
3890
+ # /** An optional hint for how to present the source in the UI.
3891
+ # A value of 'deemphasize' can be used to indicate that the source is not available or that it is skipped on stepping.
3892
+ # */
3893
+ # presentationHint?: 'normal' | 'emphasize' | 'deemphasize';
3894
+ # /** The (optional) origin of this source: possible values 'internal module', 'inlined content from source map', etc. */
3895
+ # origin?: string;
3896
+ # /** An optional list of sources that are related to this source. These may be the source that generated this source. */
3897
+ # sources?: Source[];
3898
+ # /** Optional data that a debug adapter might want to loop through the client.
3899
+ # The client should leave the data intact and persist it across sessions. The client should not interpret the data.
3900
+ # */
3901
+ # adapterData?: any;
3902
+ # /** The checksums associated with this file. */
3903
+ # checksums?: Checksum[];
3904
+ # }
3905
+ class Source < DSPBase
3906
+ attr_accessor :name, :path, :sourceReference, :presentationHint, :origin, :sources, :adapterData, :checksums # type: string # type: string # type: number # type: string with value 'normal' | 'emphasize' | 'deemphasize' # type: string # type: Source[] # type: any # type: Checksum[]
3907
+
3908
+ def initialize(initial_hash = nil)
3909
+ super
3910
+ @optional_method_names = %i[name path sourceReference presentationHint origin sources adapterData checksums]
3911
+ end
3912
+
3913
+ def from_h!(value)
3914
+ value = {} if value.nil?
3915
+ self.name = value['name']
3916
+ self.path = value['path']
3917
+ self.sourceReference = value['sourceReference']
3918
+ self.presentationHint = value['presentationHint'] # Unknown type
3919
+ self.origin = value['origin']
3920
+ self.sources = to_typed_aray(value['sources'], Source)
3921
+ self.adapterData = value['adapterData']
3922
+ self.checksums = to_typed_aray(value['checksums'], Checksum)
3923
+ self
3924
+ end
3925
+ end
3926
+
3927
+ # interface StackFrame {
3928
+ # /** An identifier for the stack frame. It must be unique across all threads.
3929
+ # This id can be used to retrieve the scopes of the frame with the 'scopesRequest' or to restart the execution of a stackframe.
3930
+ # */
3931
+ # id: number;
3932
+ # /** The name of the stack frame, typically a method name. */
3933
+ # name: string;
3934
+ # /** The optional source of the frame. */
3935
+ # source?: Source;
3936
+ # /** The line within the file of the frame. If source is null or doesn't exist, line is 0 and must be ignored. */
3937
+ # line: number;
3938
+ # /** The column within the line. If source is null or doesn't exist, column is 0 and must be ignored. */
3939
+ # column: number;
3940
+ # /** An optional end line of the range covered by the stack frame. */
3941
+ # endLine?: number;
3942
+ # /** An optional end column of the range covered by the stack frame. */
3943
+ # endColumn?: number;
3944
+ # /** Optional memory reference for the current instruction pointer in this frame. */
3945
+ # instructionPointerReference?: string;
3946
+ # /** The module associated with this frame, if any. */
3947
+ # moduleId?: number | string;
3948
+ # /** An optional hint for how to present this frame in the UI.
3949
+ # A value of 'label' can be used to indicate that the frame is an artificial frame that is used as a visual label or separator. A value of 'subtle' can be used to change the appearance of a frame in a 'subtle' way.
3950
+ # */
3951
+ # presentationHint?: 'normal' | 'label' | 'subtle';
3952
+ # }
3953
+ class StackFrame < DSPBase
3954
+ attr_accessor :id, :name, :source, :line, :column, :endLine, :endColumn, :instructionPointerReference, :moduleId, :presentationHint # type: number # type: string # type: Source # type: number # type: number # type: number # type: number # type: string # type: number | string # type: string with value 'normal' | 'label' | 'subtle'
3955
+
3956
+ def initialize(initial_hash = nil)
3957
+ super
3958
+ @optional_method_names = %i[source endLine endColumn instructionPointerReference moduleId presentationHint]
3959
+ end
3960
+
3961
+ def from_h!(value)
3962
+ value = {} if value.nil?
3963
+ self.id = value['id']
3964
+ self.name = value['name']
3965
+ self.source = Source.new(value['source']) unless value['source'].nil?
3966
+ self.line = value['line']
3967
+ self.column = value['column']
3968
+ self.endLine = value['endLine']
3969
+ self.endColumn = value['endColumn']
3970
+ self.instructionPointerReference = value['instructionPointerReference']
3971
+ self.moduleId = value['moduleId'] # Unknown type
3972
+ self.presentationHint = value['presentationHint'] # Unknown type
3973
+ self
3974
+ end
3975
+ end
3976
+
3977
+ # interface Scope {
3978
+ # /** Name of the scope such as 'Arguments', 'Locals', or 'Registers'. This string is shown in the UI as is and can be translated. */
3979
+ # name: string;
3980
+ # /** An optional hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.
3981
+ # Values:
3982
+ # 'arguments': Scope contains method arguments.
3983
+ # 'locals': Scope contains local variables.
3984
+ # 'registers': Scope contains registers. Only a single 'registers' scope should be returned from a 'scopes' request.
3985
+ # etc.
3986
+ # */
3987
+ # presentationHint?: string;
3988
+ # /** The variables of this scope can be retrieved by passing the value of variablesReference to the VariablesRequest. */
3989
+ # variablesReference: number;
3990
+ # /** The number of named variables in this scope.
3991
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3992
+ # */
3993
+ # namedVariables?: number;
3994
+ # /** The number of indexed variables in this scope.
3995
+ # The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
3996
+ # */
3997
+ # indexedVariables?: number;
3998
+ # /** If true, the number of variables in this scope is large or expensive to retrieve. */
3999
+ # expensive: boolean;
4000
+ # /** Optional source for this scope. */
4001
+ # source?: Source;
4002
+ # /** Optional start line of the range covered by this scope. */
4003
+ # line?: number;
4004
+ # /** Optional start column of the range covered by this scope. */
4005
+ # column?: number;
4006
+ # /** Optional end line of the range covered by this scope. */
4007
+ # endLine?: number;
4008
+ # /** Optional end column of the range covered by this scope. */
4009
+ # endColumn?: number;
4010
+ # }
4011
+ class Scope < DSPBase
4012
+ attr_accessor :name, :presentationHint, :variablesReference, :namedVariables, :indexedVariables, :expensive, :source, :line, :column, :endLine, :endColumn # type: string # type: string # type: number # type: number # type: number # type: boolean # type: Source # type: number # type: number # type: number # type: number
4013
+
4014
+ def initialize(initial_hash = nil)
4015
+ super
4016
+ @optional_method_names = %i[presentationHint namedVariables indexedVariables source line column endLine endColumn]
4017
+ end
4018
+
4019
+ def from_h!(value)
4020
+ value = {} if value.nil?
4021
+ self.name = value['name']
4022
+ self.presentationHint = value['presentationHint']
4023
+ self.variablesReference = value['variablesReference']
4024
+ self.namedVariables = value['namedVariables']
4025
+ self.indexedVariables = value['indexedVariables']
4026
+ self.expensive = value['expensive'] # Unknown type
4027
+ self.source = Source.new(value['source']) unless value['source'].nil?
4028
+ self.line = value['line']
4029
+ self.column = value['column']
4030
+ self.endLine = value['endLine']
4031
+ self.endColumn = value['endColumn']
4032
+ self
4033
+ end
4034
+ end
4035
+
4036
+ # interface Variable {
4037
+ # /** The variable's name. */
4038
+ # name: string;
4039
+ # /** The variable's value. This can be a multi-line text, e.g. for a function the body of a function. */
4040
+ # value: string;
4041
+ # /** The type of the variable's value. Typically shown in the UI when hovering over the value.
4042
+ # This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
4043
+ # */
4044
+ # type?: string;
4045
+ # /** Properties of a variable that can be used to determine how to render the variable in the UI. */
4046
+ # presentationHint?: VariablePresentationHint;
4047
+ # /** Optional evaluatable name of this variable which can be passed to the 'EvaluateRequest' to fetch the variable's value. */
4048
+ # evaluateName?: string;
4049
+ # /** If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest. */
4050
+ # variablesReference: number;
4051
+ # /** The number of named child variables.
4052
+ # The client can use this optional information to present the children in a paged UI and fetch them in chunks.
4053
+ # */
4054
+ # namedVariables?: number;
4055
+ # /** The number of indexed child variables.
4056
+ # The client can use this optional information to present the children in a paged UI and fetch them in chunks.
4057
+ # */
4058
+ # indexedVariables?: number;
4059
+ # /** Optional memory reference for the variable if the variable represents executable code, such as a function pointer.
4060
+ # This attribute is only required if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request.
4061
+ # */
4062
+ # memoryReference?: string;
4063
+ # }
4064
+ class Variable < DSPBase
4065
+ attr_accessor :name, :value, :type, :presentationHint, :evaluateName, :variablesReference, :namedVariables, :indexedVariables, :memoryReference # type: string # type: string # type: string # type: VariablePresentationHint # type: string # type: number # type: number # type: number # type: string
4066
+
4067
+ def initialize(initial_hash = nil)
4068
+ super
4069
+ @optional_method_names = %i[type presentationHint evaluateName namedVariables indexedVariables memoryReference]
4070
+ end
4071
+
4072
+ def from_h!(value)
4073
+ value = {} if value.nil?
4074
+ self.name = value['name']
4075
+ self.value = value['value']
4076
+ self.type = value['type']
4077
+ self.presentationHint = VariablePresentationHint.new(value['presentationHint']) unless value['presentationHint'].nil?
4078
+ self.evaluateName = value['evaluateName']
4079
+ self.variablesReference = value['variablesReference']
4080
+ self.namedVariables = value['namedVariables']
4081
+ self.indexedVariables = value['indexedVariables']
4082
+ self.memoryReference = value['memoryReference']
4083
+ self
4084
+ end
4085
+ end
4086
+
4087
+ # interface VariablePresentationHint {
4088
+ # /** The kind of variable. Before introducing additional values, try to use the listed values.
4089
+ # Values:
4090
+ # 'property': Indicates that the object is a property.
4091
+ # 'method': Indicates that the object is a method.
4092
+ # 'class': Indicates that the object is a class.
4093
+ # 'data': Indicates that the object is data.
4094
+ # 'event': Indicates that the object is an event.
4095
+ # 'baseClass': Indicates that the object is a base class.
4096
+ # 'innerClass': Indicates that the object is an inner class.
4097
+ # 'interface': Indicates that the object is an interface.
4098
+ # 'mostDerivedClass': Indicates that the object is the most derived class.
4099
+ # 'virtual': Indicates that the object is virtual, that means it is a synthetic object introducedby the
4100
+ # adapter for rendering purposes, e.g. an index range for large arrays.
4101
+ # 'dataBreakpoint': Indicates that a data breakpoint is registered for the object.
4102
+ # etc.
4103
+ # */
4104
+ # kind?: string;
4105
+ # /** Set of attributes represented as an array of strings. Before introducing additional values, try to use the listed values.
4106
+ # Values:
4107
+ # 'static': Indicates that the object is static.
4108
+ # 'constant': Indicates that the object is a constant.
4109
+ # 'readOnly': Indicates that the object is read only.
4110
+ # 'rawString': Indicates that the object is a raw string.
4111
+ # 'hasObjectId': Indicates that the object can have an Object ID created for it.
4112
+ # 'canHaveObjectId': Indicates that the object has an Object ID associated with it.
4113
+ # 'hasSideEffects': Indicates that the evaluation had side effects.
4114
+ # etc.
4115
+ # */
4116
+ # attributes?: string[];
4117
+ # /** Visibility of variable. Before introducing additional values, try to use the listed values.
4118
+ # Values: 'public', 'private', 'protected', 'internal', 'final', etc.
4119
+ # */
4120
+ # visibility?: string;
4121
+ # }
4122
+ class VariablePresentationHint < DSPBase
4123
+ attr_accessor :kind, :attributes, :visibility # type: string # type: string[] # type: string
4124
+
4125
+ def initialize(initial_hash = nil)
4126
+ super
4127
+ @optional_method_names = %i[kind attributes visibility]
4128
+ end
4129
+
4130
+ def from_h!(value)
4131
+ value = {} if value.nil?
4132
+ self.kind = value['kind']
4133
+ self.attributes = value['attributes'].map { |val| val } unless value['attributes'].nil?
4134
+ self.visibility = value['visibility']
4135
+ self
4136
+ end
4137
+ end
4138
+
4139
+ # interface BreakpointLocation {
4140
+ # /** Start line of breakpoint location. */
4141
+ # line: number;
4142
+ # /** Optional start column of breakpoint location. */
4143
+ # column?: number;
4144
+ # /** Optional end line of breakpoint location if the location covers a range. */
4145
+ # endLine?: number;
4146
+ # /** Optional end column of breakpoint location if the location covers a range. */
4147
+ # endColumn?: number;
4148
+ # }
4149
+ class BreakpointLocation < DSPBase
4150
+ attr_accessor :line, :column, :endLine, :endColumn # type: number # type: number # type: number # type: number
4151
+
4152
+ def initialize(initial_hash = nil)
4153
+ super
4154
+ @optional_method_names = %i[column endLine endColumn]
4155
+ end
4156
+
4157
+ def from_h!(value)
4158
+ value = {} if value.nil?
4159
+ self.line = value['line']
4160
+ self.column = value['column']
4161
+ self.endLine = value['endLine']
4162
+ self.endColumn = value['endColumn']
4163
+ self
4164
+ end
4165
+ end
4166
+
4167
+ # interface SourceBreakpoint {
4168
+ # /** The source line of the breakpoint or logpoint. */
4169
+ # line: number;
4170
+ # /** An optional source column of the breakpoint. */
4171
+ # column?: number;
4172
+ # /** An optional expression for conditional breakpoints.
4173
+ # It is only honored by a debug adapter if the capability 'supportsConditionalBreakpoints' is true.
4174
+ # */
4175
+ # condition?: string;
4176
+ # /** An optional expression that controls how many hits of the breakpoint are ignored.
4177
+ # The backend is expected to interpret the expression as needed.
4178
+ # The attribute is only honored by a debug adapter if the capability 'supportsHitConditionalBreakpoints' is true.
4179
+ # */
4180
+ # hitCondition?: string;
4181
+ # /** If this attribute exists and is non-empty, the backend must not 'break' (stop)
4182
+ # but log the message instead. Expressions within {} are interpolated.
4183
+ # The attribute is only honored by a debug adapter if the capability 'supportsLogPoints' is true.
4184
+ # */
4185
+ # logMessage?: string;
4186
+ # }
4187
+ class SourceBreakpoint < DSPBase
4188
+ attr_accessor :line, :column, :condition, :hitCondition, :logMessage # type: number # type: number # type: string # type: string # type: string
4189
+
4190
+ def initialize(initial_hash = nil)
4191
+ super
4192
+ @optional_method_names = %i[column condition hitCondition logMessage]
4193
+ end
4194
+
4195
+ def from_h!(value)
4196
+ value = {} if value.nil?
4197
+ self.line = value['line']
4198
+ self.column = value['column']
4199
+ self.condition = value['condition']
4200
+ self.hitCondition = value['hitCondition']
4201
+ self.logMessage = value['logMessage']
4202
+ self
4203
+ end
4204
+ end
4205
+
4206
+ # interface FunctionBreakpoint {
4207
+ # /** The name of the function. */
4208
+ # name: string;
4209
+ # /** An optional expression for conditional breakpoints.
4210
+ # It is only honored by a debug adapter if the capability 'supportsConditionalBreakpoints' is true.
4211
+ # */
4212
+ # condition?: string;
4213
+ # /** An optional expression that controls how many hits of the breakpoint are ignored.
4214
+ # The backend is expected to interpret the expression as needed.
4215
+ # The attribute is only honored by a debug adapter if the capability 'supportsHitConditionalBreakpoints' is true.
4216
+ # */
4217
+ # hitCondition?: string;
4218
+ # }
4219
+ class FunctionBreakpoint < DSPBase
4220
+ attr_accessor :name, :condition, :hitCondition # type: string # type: string # type: string
4221
+
4222
+ def initialize(initial_hash = nil)
4223
+ super
4224
+ @optional_method_names = %i[condition hitCondition]
4225
+ end
4226
+
4227
+ def from_h!(value)
4228
+ value = {} if value.nil?
4229
+ self.name = value['name']
4230
+ self.condition = value['condition']
4231
+ self.hitCondition = value['hitCondition']
4232
+ self
4233
+ end
4234
+ end
4235
+
4236
+ # interface DataBreakpoint {
4237
+ # /** An id representing the data. This id is returned from the dataBreakpointInfo request. */
4238
+ # dataId: string;
4239
+ # /** The access type of the data. */
4240
+ # accessType?: DataBreakpointAccessType;
4241
+ # /** An optional expression for conditional breakpoints. */
4242
+ # condition?: string;
4243
+ # /** An optional expression that controls how many hits of the breakpoint are ignored.
4244
+ # The backend is expected to interpret the expression as needed.
4245
+ # */
4246
+ # hitCondition?: string;
4247
+ # }
4248
+ class DataBreakpoint < DSPBase
4249
+ attr_accessor :dataId, :accessType, :condition, :hitCondition # type: string # type: DataBreakpointAccessType # type: string # type: string
4250
+
4251
+ def initialize(initial_hash = nil)
4252
+ super
4253
+ @optional_method_names = %i[accessType condition hitCondition]
4254
+ end
4255
+
4256
+ def from_h!(value)
4257
+ value = {} if value.nil?
4258
+ self.dataId = value['dataId']
4259
+ self.accessType = value['accessType'] # Unknown type
4260
+ self.condition = value['condition']
4261
+ self.hitCondition = value['hitCondition']
4262
+ self
4263
+ end
4264
+ end
4265
+
4266
+ # interface Breakpoint {
4267
+ # /** An optional identifier for the breakpoint. It is needed if breakpoint events are used to update or remove breakpoints. */
4268
+ # id?: number;
4269
+ # /** If true breakpoint could be set (but not necessarily at the desired location). */
4270
+ # verified: boolean;
4271
+ # /** An optional message about the state of the breakpoint.
4272
+ # This is shown to the user and can be used to explain why a breakpoint could not be verified.
4273
+ # */
4274
+ # message?: string;
4275
+ # /** The source where the breakpoint is located. */
4276
+ # source?: Source;
4277
+ # /** The start line of the actual range covered by the breakpoint. */
4278
+ # line?: number;
4279
+ # /** An optional start column of the actual range covered by the breakpoint. */
4280
+ # column?: number;
4281
+ # /** An optional end line of the actual range covered by the breakpoint. */
4282
+ # endLine?: number;
4283
+ # /** An optional end column of the actual range covered by the breakpoint.
4284
+ # If no end line is given, then the end column is assumed to be in the start line.
4285
+ # */
4286
+ # endColumn?: number;
4287
+ # }
4288
+ class Breakpoint < DSPBase
4289
+ attr_accessor :id, :verified, :message, :source, :line, :column, :endLine, :endColumn # type: number # type: boolean # type: string # type: Source # type: number # type: number # type: number # type: number
4290
+
4291
+ def initialize(initial_hash = nil)
4292
+ super
4293
+ @optional_method_names = %i[id message source line column endLine endColumn]
4294
+ end
4295
+
4296
+ def from_h!(value)
4297
+ value = {} if value.nil?
4298
+ self.id = value['id']
4299
+ self.verified = value['verified'] # Unknown type
4300
+ self.message = value['message']
4301
+ self.source = Source.new(value['source']) unless value['source'].nil?
4302
+ self.line = value['line']
4303
+ self.column = value['column']
4304
+ self.endLine = value['endLine']
4305
+ self.endColumn = value['endColumn']
4306
+ self
4307
+ end
4308
+ end
4309
+
4310
+ # interface StepInTarget {
4311
+ # /** Unique identifier for a stepIn target. */
4312
+ # id: number;
4313
+ # /** The name of the stepIn target (shown in the UI). */
4314
+ # label: string;
4315
+ # }
4316
+ class StepInTarget < DSPBase
4317
+ attr_accessor :id, :label # type: number # type: string
4318
+
4319
+ def from_h!(value)
4320
+ value = {} if value.nil?
4321
+ self.id = value['id']
4322
+ self.label = value['label']
4323
+ self
4324
+ end
4325
+ end
4326
+
4327
+ # interface GotoTarget {
4328
+ # /** Unique identifier for a goto target. This is used in the goto request. */
4329
+ # id: number;
4330
+ # /** The name of the goto target (shown in the UI). */
4331
+ # label: string;
4332
+ # /** The line of the goto target. */
4333
+ # line: number;
4334
+ # /** An optional column of the goto target. */
4335
+ # column?: number;
4336
+ # /** An optional end line of the range covered by the goto target. */
4337
+ # endLine?: number;
4338
+ # /** An optional end column of the range covered by the goto target. */
4339
+ # endColumn?: number;
4340
+ # /** Optional memory reference for the instruction pointer value represented by this target. */
4341
+ # instructionPointerReference?: string;
4342
+ # }
4343
+ class GotoTarget < DSPBase
4344
+ attr_accessor :id, :label, :line, :column, :endLine, :endColumn, :instructionPointerReference # type: number # type: string # type: number # type: number # type: number # type: number # type: string
4345
+
4346
+ def initialize(initial_hash = nil)
4347
+ super
4348
+ @optional_method_names = %i[column endLine endColumn instructionPointerReference]
4349
+ end
4350
+
4351
+ def from_h!(value)
4352
+ value = {} if value.nil?
4353
+ self.id = value['id']
4354
+ self.label = value['label']
4355
+ self.line = value['line']
4356
+ self.column = value['column']
4357
+ self.endLine = value['endLine']
4358
+ self.endColumn = value['endColumn']
4359
+ self.instructionPointerReference = value['instructionPointerReference']
4360
+ self
4361
+ end
4362
+ end
4363
+
4364
+ # interface CompletionItem {
4365
+ # /** The label of this completion item. By default this is also the text that is inserted when selecting this completion. */
4366
+ # label: string;
4367
+ # /** If text is not falsy then it is inserted instead of the label. */
4368
+ # text?: string;
4369
+ # /** A string that should be used when comparing this item with other items. When `falsy` the label is used. */
4370
+ # sortText?: string;
4371
+ # /** The item's type. Typically the client uses this information to render the item in the UI with an icon. */
4372
+ # type?: CompletionItemType;
4373
+ # /** This value determines the location (in the CompletionsRequest's 'text' attribute) where the completion text is added.
4374
+ # If missing the text is added at the location specified by the CompletionsRequest's 'column' attribute.
4375
+ # */
4376
+ # start?: number;
4377
+ # /** This value determines how many characters are overwritten by the completion text.
4378
+ # If missing the value 0 is assumed which results in the completion text being inserted.
4379
+ # */
4380
+ # length?: number;
4381
+ # /** Determines the start of the new selection after the text has been inserted (or replaced).
4382
+ # The start position must in the range 0 and length of the completion text.
4383
+ # If omitted the selection starts at the end of the completion text.
4384
+ # */
4385
+ # selectionStart?: number;
4386
+ # /** Determines the length of the new selection after the text has been inserted (or replaced).
4387
+ # The selection can not extend beyond the bounds of the completion text.
4388
+ # If omitted the length is assumed to be 0.
4389
+ # */
4390
+ # selectionLength?: number;
4391
+ # }
4392
+ class CompletionItem < DSPBase
4393
+ attr_accessor :label, :text, :sortText, :type, :start, :length, :selectionStart, :selectionLength # type: string # type: string # type: string # type: CompletionItemType # type: number # type: number # type: number # type: number
4394
+
4395
+ def initialize(initial_hash = nil)
4396
+ super
4397
+ @optional_method_names = %i[text sortText type start length selectionStart selectionLength]
4398
+ end
4399
+
4400
+ def from_h!(value)
4401
+ value = {} if value.nil?
4402
+ self.label = value['label']
4403
+ self.text = value['text']
4404
+ self.sortText = value['sortText']
4405
+ self.type = value['type'] # Unknown type
4406
+ self.start = value['start']
4407
+ self.length = value['length']
4408
+ self.selectionStart = value['selectionStart']
4409
+ self.selectionLength = value['selectionLength']
4410
+ self
4411
+ end
4412
+ end
4413
+
4414
+ # interface Checksum {
4415
+ # /** The algorithm used to calculate this checksum. */
4416
+ # algorithm: ChecksumAlgorithm;
4417
+ # /** Value of the checksum. */
4418
+ # checksum: string;
4419
+ # }
4420
+ class Checksum < DSPBase
4421
+ attr_accessor :algorithm, :checksum # type: ChecksumAlgorithm # type: string
4422
+
4423
+ def from_h!(value)
4424
+ value = {} if value.nil?
4425
+ self.algorithm = value['algorithm'] # Unknown type
4426
+ self.checksum = value['checksum']
4427
+ self
4428
+ end
4429
+ end
4430
+
4431
+ # interface ValueFormat {
4432
+ # /** Display the value in hex. */
4433
+ # hex?: boolean;
4434
+ # }
4435
+ class ValueFormat < DSPBase
4436
+ attr_accessor :hex # type: boolean
4437
+
4438
+ def initialize(initial_hash = nil)
4439
+ super
4440
+ @optional_method_names = %i[hex]
4441
+ end
4442
+
4443
+ def from_h!(value)
4444
+ value = {} if value.nil?
4445
+ self.hex = value['hex'] # Unknown type
4446
+ self
4447
+ end
4448
+ end
4449
+
4450
+ # interface StackFrameFormat extends ValueFormat {
4451
+ # /** Displays parameters for the stack frame. */
4452
+ # parameters?: boolean;
4453
+ # /** Displays the types of parameters for the stack frame. */
4454
+ # parameterTypes?: boolean;
4455
+ # /** Displays the names of parameters for the stack frame. */
4456
+ # parameterNames?: boolean;
4457
+ # /** Displays the values of parameters for the stack frame. */
4458
+ # parameterValues?: boolean;
4459
+ # /** Displays the line number of the stack frame. */
4460
+ # line?: boolean;
4461
+ # /** Displays the module of the stack frame. */
4462
+ # module?: boolean;
4463
+ # /** Includes all stack frames, including those the debug adapter might otherwise hide. */
4464
+ # includeAll?: boolean;
4465
+ # }
4466
+ class StackFrameFormat < DSPBase
4467
+ attr_accessor :parameters, :parameterTypes, :parameterNames, :parameterValues, :line, :module, :includeAll, :hex # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean # type: boolean
4468
+
4469
+ def initialize(initial_hash = nil)
4470
+ super
4471
+ @optional_method_names = %i[parameters parameterTypes parameterNames parameterValues line module includeAll hex]
4472
+ end
4473
+
4474
+ def from_h!(value)
4475
+ value = {} if value.nil?
4476
+ self.parameters = value['parameters'] # Unknown type
4477
+ self.parameterTypes = value['parameterTypes'] # Unknown type
4478
+ self.parameterNames = value['parameterNames'] # Unknown type
4479
+ self.parameterValues = value['parameterValues'] # Unknown type
4480
+ self.line = value['line'] # Unknown type
4481
+ self.module = value['module'] # Unknown type
4482
+ self.includeAll = value['includeAll'] # Unknown type
4483
+ self.hex = value['hex'] # Unknown type
4484
+ self
4485
+ end
4486
+ end
4487
+
4488
+ # interface ExceptionOptions {
4489
+ # /** A path that selects a single or multiple exceptions in a tree. If 'path' is missing, the whole tree is selected.
4490
+ # By convention the first segment of the path is a category that is used to group exceptions in the UI.
4491
+ # */
4492
+ # path?: ExceptionPathSegment[];
4493
+ # /** Condition when a thrown exception should result in a break. */
4494
+ # breakMode: ExceptionBreakMode;
4495
+ # }
4496
+ class ExceptionOptions < DSPBase
4497
+ attr_accessor :path, :breakMode # type: ExceptionPathSegment[] # type: ExceptionBreakMode
4498
+
4499
+ def initialize(initial_hash = nil)
4500
+ super
4501
+ @optional_method_names = %i[path]
4502
+ end
4503
+
4504
+ def from_h!(value)
4505
+ value = {} if value.nil?
4506
+ self.path = to_typed_aray(value['path'], ExceptionPathSegment)
4507
+ self.breakMode = value['breakMode'] # Unknown type
4508
+ self
4509
+ end
4510
+ end
4511
+
4512
+ # interface ExceptionPathSegment {
4513
+ # /** If false or missing this segment matches the names provided, otherwise it matches anything except the names provided. */
4514
+ # negate?: boolean;
4515
+ # /** Depending on the value of 'negate' the names that should match or not match. */
4516
+ # names: string[];
4517
+ # }
4518
+ class ExceptionPathSegment < DSPBase
4519
+ attr_accessor :negate, :names # type: boolean # type: string[]
4520
+
4521
+ def initialize(initial_hash = nil)
4522
+ super
4523
+ @optional_method_names = %i[negate]
4524
+ end
4525
+
4526
+ def from_h!(value)
4527
+ value = {} if value.nil?
4528
+ self.negate = value['negate'] # Unknown type
4529
+ self.names = value['names'].map { |val| val } unless value['names'].nil?
4530
+ self
4531
+ end
4532
+ end
4533
+
4534
+ # interface ExceptionDetails {
4535
+ # /** Message contained in the exception. */
4536
+ # message?: string;
4537
+ # /** Short type name of the exception object. */
4538
+ # typeName?: string;
4539
+ # /** Fully-qualified type name of the exception object. */
4540
+ # fullTypeName?: string;
4541
+ # /** Optional expression that can be evaluated in the current scope to obtain the exception object. */
4542
+ # evaluateName?: string;
4543
+ # /** Stack trace at the time the exception was thrown. */
4544
+ # stackTrace?: string;
4545
+ # /** Details of the exception contained by this exception, if any. */
4546
+ # innerException?: ExceptionDetails[];
4547
+ # }
4548
+ class ExceptionDetails < DSPBase
4549
+ attr_accessor :message, :typeName, :fullTypeName, :evaluateName, :stackTrace, :innerException # type: string # type: string # type: string # type: string # type: string # type: ExceptionDetails[]
4550
+
4551
+ def initialize(initial_hash = nil)
4552
+ super
4553
+ @optional_method_names = %i[message typeName fullTypeName evaluateName stackTrace innerException]
4554
+ end
4555
+
4556
+ def from_h!(value)
4557
+ value = {} if value.nil?
4558
+ self.message = value['message']
4559
+ self.typeName = value['typeName']
4560
+ self.fullTypeName = value['fullTypeName']
4561
+ self.evaluateName = value['evaluateName']
4562
+ self.stackTrace = value['stackTrace']
4563
+ self.innerException = to_typed_aray(value['innerException'], ExceptionDetails)
4564
+ self
4565
+ end
4566
+ end
4567
+
4568
+ # interface DisassembledInstruction {
4569
+ # /** The address of the instruction. Treated as a hex value if prefixed with '0x', or as a decimal value otherwise. */
4570
+ # address: string;
4571
+ # /** Optional raw bytes representing the instruction and its operands, in an implementation-defined format. */
4572
+ # instructionBytes?: string;
4573
+ # /** Text representing the instruction and its operands, in an implementation-defined format. */
4574
+ # instruction: string;
4575
+ # /** Name of the symbol that corresponds with the location of this instruction, if any. */
4576
+ # symbol?: string;
4577
+ # /** Source location that corresponds to this instruction, if any.
4578
+ # Should always be set (if available) on the first instruction returned,
4579
+ # but can be omitted afterwards if this instruction maps to the same source file as the previous instruction.
4580
+ # */
4581
+ # location?: Source;
4582
+ # /** The line within the source location that corresponds to this instruction, if any. */
4583
+ # line?: number;
4584
+ # /** The column within the line that corresponds to this instruction, if any. */
4585
+ # column?: number;
4586
+ # /** The end line of the range that corresponds to this instruction, if any. */
4587
+ # endLine?: number;
4588
+ # /** The end column of the range that corresponds to this instruction, if any. */
4589
+ # endColumn?: number;
4590
+ # }
4591
+ class DisassembledInstruction < DSPBase
4592
+ attr_accessor :address, :instructionBytes, :instruction, :symbol, :location, :line, :column, :endLine, :endColumn # type: string # type: string # type: string # type: string # type: Source # type: number # type: number # type: number # type: number
4593
+
4594
+ def initialize(initial_hash = nil)
4595
+ super
4596
+ @optional_method_names = %i[instructionBytes symbol location line column endLine endColumn]
4597
+ end
4598
+
4599
+ def from_h!(value)
4600
+ value = {} if value.nil?
4601
+ self.address = value['address']
4602
+ self.instructionBytes = value['instructionBytes']
4603
+ self.instruction = value['instruction']
4604
+ self.symbol = value['symbol']
4605
+ self.location = Source.new(value['location']) unless value['location'].nil?
4606
+ self.line = value['line']
4607
+ self.column = value['column']
4608
+ self.endLine = value['endLine']
4609
+ self.endColumn = value['endColumn']
4610
+ self
4611
+ end
4612
+ end
4613
+ end
4614
+
4615
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
4616
+ # rubocop:enable Lint/UselessAssignment
4617
+ # rubocop:enable Style/AsciiComments
4618
+ # rubocop:enable Layout/TrailingWhitespace
4619
+ # rubocop:enable Naming/MethodName