mirror of
https://github.com/microsoft/debugpy.git
synced 2025-12-23 08:48:12 +00:00
This commit is contained in:
parent
a8c1f32b58
commit
202ee99125
3 changed files with 852 additions and 15 deletions
|
|
@ -542,6 +542,7 @@ class %(name)s(BaseSchema):
|
|||
'''
|
||||
|
||||
contents = []
|
||||
contents.append('# coding: utf-8')
|
||||
contents.append('# Automatically generated code.')
|
||||
contents.append('# Do not edit manually.')
|
||||
contents.append('# Generated by running: %s' % os.path.basename(__file__))
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
"reason": {
|
||||
"type": "string",
|
||||
"description": "The reason for the event.\nFor backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).",
|
||||
"_enum": [ "step", "breakpoint", "exception", "pause", "entry", "goto" ]
|
||||
"_enum": [ "step", "breakpoint", "exception", "pause", "entry", "goto", "function breakpoint", "data breakpoint" ]
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
|
|
@ -909,7 +909,7 @@
|
|||
"SetFunctionBreakpointsRequest": {
|
||||
"allOf": [ { "$ref": "#/definitions/Request" }, {
|
||||
"type": "object",
|
||||
"description": "Sets multiple function breakpoints and clears all previous function breakpoints.\nTo clear all function breakpoint, specify an empty array.\nWhen a function breakpoint is hit, a 'stopped' event (event type 'function breakpoint') is generated.",
|
||||
"description": "Replaces all existing function breakpoints with new function breakpoints.\nTo clear all function breakpoints, specify an empty array.\nWhen a function breakpoint is hit, a 'stopped' event (with reason 'function breakpoint') is generated.",
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
|
|
@ -1003,6 +1003,125 @@
|
|||
}]
|
||||
},
|
||||
|
||||
"DataBreakpointInfoRequest": {
|
||||
"allOf": [ { "$ref": "#/definitions/Request" }, {
|
||||
"type": "object",
|
||||
"description": "Obtains information on a possible data breakpoint that could be set on an expression or variable.",
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [ "dataBreakpointInfo" ]
|
||||
},
|
||||
"arguments": {
|
||||
"$ref": "#/definitions/DataBreakpointInfoArguments"
|
||||
}
|
||||
},
|
||||
"required": [ "command", "arguments" ]
|
||||
}]
|
||||
},
|
||||
"DataBreakpointInfoArguments": {
|
||||
"type": "object",
|
||||
"description": "Arguments for 'dataBreakpointInfo' request.",
|
||||
"properties": {
|
||||
"variablesReference": {
|
||||
"type": "integer",
|
||||
"description": "Reference to the Variable container if the data breakpoint is requested for a child of the container."
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the Variable's child to obtain data breakpoint information for. If variableReference isn’t provided, this can be an expression."
|
||||
}
|
||||
},
|
||||
"required": [ "name" ]
|
||||
},
|
||||
"DataBreakpointInfoResponse": {
|
||||
"allOf": [ { "$ref": "#/definitions/Response" }, {
|
||||
"type": "object",
|
||||
"description": "Response to 'dataBreakpointInfo' request.",
|
||||
"properties": {
|
||||
"body": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dataId": {
|
||||
"type": [ "string", "null" ],
|
||||
"description": "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."
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available."
|
||||
},
|
||||
"accessTypes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DataBreakpointAccessType"
|
||||
},
|
||||
"description": "Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information."
|
||||
},
|
||||
"canPersist": {
|
||||
"type": "boolean",
|
||||
"description": "Optional attribute indicating that a potential data breakpoint could be persisted across sessions."
|
||||
}
|
||||
},
|
||||
"required": [ "dataId", "description" ]
|
||||
}
|
||||
},
|
||||
"required": [ "body" ]
|
||||
}]
|
||||
},
|
||||
|
||||
"SetDataBreakpointsRequest": {
|
||||
"allOf": [ { "$ref": "#/definitions/Request" }, {
|
||||
"type": "object",
|
||||
"description": "Replaces all existing data breakpoints with new data breakpoints.\nTo clear all data breakpoints, specify an empty array.\nWhen a data breakpoint is hit, a 'stopped' event (with reason 'data breakpoint') is generated.",
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [ "setDataBreakpoints" ]
|
||||
},
|
||||
"arguments": {
|
||||
"$ref": "#/definitions/SetDataBreakpointsArguments"
|
||||
}
|
||||
},
|
||||
"required": [ "command", "arguments" ]
|
||||
}]
|
||||
},
|
||||
"SetDataBreakpointsArguments": {
|
||||
"type": "object",
|
||||
"description": "Arguments for 'setDataBreakpoints' request.",
|
||||
"properties": {
|
||||
"breakpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DataBreakpoint"
|
||||
},
|
||||
"description": "The contents of this array replaces all existing data breakpoints. An empty array clears all data breakpoints."
|
||||
}
|
||||
},
|
||||
"required": [ "breakpoints" ]
|
||||
},
|
||||
"SetDataBreakpointsResponse": {
|
||||
"allOf": [ { "$ref": "#/definitions/Response" }, {
|
||||
"type": "object",
|
||||
"description": "Response to 'setDataBreakpoints' request.\nReturned is information about each breakpoint created by this request.",
|
||||
"properties": {
|
||||
"body": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"breakpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/Breakpoint"
|
||||
},
|
||||
"description": "Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array."
|
||||
}
|
||||
},
|
||||
"required": [ "breakpoints" ]
|
||||
}
|
||||
},
|
||||
"required": [ "body" ]
|
||||
}]
|
||||
},
|
||||
|
||||
"ContinueRequest": {
|
||||
"allOf": [ { "$ref": "#/definitions/Request" }, {
|
||||
"type": "object",
|
||||
|
|
@ -1538,7 +1657,7 @@
|
|||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the variable."
|
||||
"description": "The name of the variable in the container."
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
|
|
@ -2324,6 +2443,10 @@
|
|||
"supportsTerminateRequest": {
|
||||
"type": "boolean",
|
||||
"description": "The debug adapter supports the 'terminate' request."
|
||||
},
|
||||
"supportsDataBreakpoints": {
|
||||
"type": "boolean",
|
||||
"description": "The debug adapter supports data breakpoints."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -2681,7 +2804,7 @@
|
|||
"kind": {
|
||||
"description": "The kind of variable. Before introducing additional values, try to use the listed values.",
|
||||
"type": "string",
|
||||
"_enum": [ "property", "method", "class", "data", "event", "baseClass", "innerClass", "interface", "mostDerivedClass", "virtual" ],
|
||||
"_enum": [ "property", "method", "class", "data", "event", "baseClass", "innerClass", "interface", "mostDerivedClass", "virtual", "dataBreakpoint" ],
|
||||
"enumDescriptions": [
|
||||
"Indicates that the object is a property.",
|
||||
"Indicates that the object is a method.",
|
||||
|
|
@ -2692,7 +2815,8 @@
|
|||
"Indicates that the object is an inner class.",
|
||||
"Indicates that the object is an interface.",
|
||||
"Indicates that the object is the most derived class.",
|
||||
"Indicates that the object is virtual, that means it is a synthetic object introduced by the adapter for rendering purposes, e.g. an index range for large arrays."
|
||||
"Indicates that the object is virtual, that means it is a synthetic object introduced by the adapter for rendering purposes, e.g. an index range for large arrays.",
|
||||
"Indicates that a data breakpoint is registered for the object."
|
||||
]
|
||||
},
|
||||
"attributes": {
|
||||
|
|
@ -2768,6 +2892,36 @@
|
|||
"required": [ "name" ]
|
||||
},
|
||||
|
||||
"DataBreakpointAccessType": {
|
||||
"type": "string",
|
||||
"description": "This enumeration defines all possible access types for data breakpoints.",
|
||||
"enum": [ "read", "write", "readWrite" ]
|
||||
},
|
||||
|
||||
"DataBreakpoint": {
|
||||
"type": "object",
|
||||
"description": "Properties of a data breakpoint passed to the setDataBreakpoints request.",
|
||||
"properties": {
|
||||
"dataId": {
|
||||
"type": "string",
|
||||
"description": "An id representing the data. This id is returned from the dataBreakpointInfo request."
|
||||
},
|
||||
"accessType": {
|
||||
"$ref": "#/definitions/DataBreakpointAccessType",
|
||||
"description": "The access type of the data."
|
||||
},
|
||||
"condition": {
|
||||
"type": "string",
|
||||
"description": "An optional expression for conditional breakpoints."
|
||||
},
|
||||
"hitCondition": {
|
||||
"type": "string",
|
||||
"description": "An optional expression that controls how many hits of the breakpoint are ignored. The backend is expected to interpret the expression as needed."
|
||||
}
|
||||
},
|
||||
"required": [ "dataId" ]
|
||||
},
|
||||
|
||||
"Breakpoint": {
|
||||
"type": "object",
|
||||
"description": "Information about a Breakpoint created in setBreakpoints or setFunctionBreakpoints.",
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
# coding: utf-8
|
||||
# Automatically generated code.
|
||||
# Do not edit manually.
|
||||
# Generated by running: __main__pydevd_gen_debug_adapter_protocol.py
|
||||
|
|
@ -515,7 +516,9 @@ class StoppedEvent(BaseSchema):
|
|||
"exception",
|
||||
"pause",
|
||||
"entry",
|
||||
"goto"
|
||||
"goto",
|
||||
"function breakpoint",
|
||||
"data breakpoint"
|
||||
]
|
||||
},
|
||||
"description": {
|
||||
|
|
@ -3485,11 +3488,11 @@ class SetBreakpointsResponse(BaseSchema):
|
|||
@register
|
||||
class SetFunctionBreakpointsRequest(BaseSchema):
|
||||
"""
|
||||
Sets multiple function breakpoints and clears all previous function breakpoints.
|
||||
Replaces all existing function breakpoints with new function breakpoints.
|
||||
|
||||
To clear all function breakpoint, specify an empty array.
|
||||
To clear all function breakpoints, specify an empty array.
|
||||
|
||||
When a function breakpoint is hit, a 'stopped' event (event type 'function breakpoint') is
|
||||
When a function breakpoint is hit, a 'stopped' event (with reason 'function breakpoint') is
|
||||
generated.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
|
|
@ -3913,6 +3916,464 @@ class SetExceptionBreakpointsResponse(BaseSchema):
|
|||
return dct
|
||||
|
||||
|
||||
@register_request('dataBreakpointInfo')
|
||||
@register
|
||||
class DataBreakpointInfoRequest(BaseSchema):
|
||||
"""
|
||||
Obtains information on a possible data breakpoint that could be set on an expression or variable.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number."
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"request"
|
||||
]
|
||||
},
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"dataBreakpointInfo"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"type": "DataBreakpointInfoArguments"
|
||||
}
|
||||
}
|
||||
__refs__ = set(['arguments'])
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, arguments, seq=-1, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string type:
|
||||
:param string command:
|
||||
:param DataBreakpointInfoArguments arguments:
|
||||
:param integer seq: Sequence number.
|
||||
"""
|
||||
self.type = 'request'
|
||||
self.command = 'dataBreakpointInfo'
|
||||
if arguments is None:
|
||||
self.arguments = DataBreakpointInfoArguments()
|
||||
else:
|
||||
self.arguments = DataBreakpointInfoArguments(update_ids_from_dap=update_ids_from_dap, **arguments) if arguments.__class__ != DataBreakpointInfoArguments else arguments
|
||||
self.seq = seq
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
type = self.type # noqa (assign to builtin)
|
||||
command = self.command
|
||||
arguments = self.arguments
|
||||
seq = self.seq
|
||||
dct = {
|
||||
'type': type,
|
||||
'command': command,
|
||||
'arguments': arguments.to_dict(update_ids_to_dap=update_ids_to_dap),
|
||||
'seq': seq,
|
||||
}
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class DataBreakpointInfoArguments(BaseSchema):
|
||||
"""
|
||||
Arguments for 'dataBreakpointInfo' request.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"variablesReference": {
|
||||
"type": "integer",
|
||||
"description": "Reference to the Variable container if the data breakpoint is requested for a child of the container."
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the Variable's child to obtain data breakpoint information for. If variableReference isn\u2019t provided, this can be an expression."
|
||||
}
|
||||
}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, name, variablesReference=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string name: The name of the Variable's child to obtain data breakpoint information for. If variableReference isn’t provided, this can be an expression.
|
||||
:param integer variablesReference: Reference to the Variable container if the data breakpoint is requested for a child of the container.
|
||||
"""
|
||||
self.name = name
|
||||
self.variablesReference = variablesReference
|
||||
if update_ids_from_dap:
|
||||
self.variablesReference = self._translate_id_from_dap(self.variablesReference)
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
@classmethod
|
||||
def update_dict_ids_from_dap(cls, dct):
|
||||
if 'variablesReference' in dct:
|
||||
dct['variablesReference'] = cls._translate_id_from_dap(dct['variablesReference'])
|
||||
return dct
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
name = self.name
|
||||
variablesReference = self.variablesReference
|
||||
if update_ids_to_dap:
|
||||
if variablesReference is not None:
|
||||
variablesReference = self._translate_id_to_dap(variablesReference)
|
||||
dct = {
|
||||
'name': name,
|
||||
}
|
||||
if variablesReference is not None:
|
||||
dct['variablesReference'] = variablesReference
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
@classmethod
|
||||
def update_dict_ids_to_dap(cls, dct):
|
||||
if 'variablesReference' in dct:
|
||||
dct['variablesReference'] = cls._translate_id_to_dap(dct['variablesReference'])
|
||||
return dct
|
||||
|
||||
|
||||
@register_response('dataBreakpointInfo')
|
||||
@register
|
||||
class DataBreakpointInfoResponse(BaseSchema):
|
||||
"""
|
||||
Response to 'dataBreakpointInfo' request.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number."
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"response"
|
||||
]
|
||||
},
|
||||
"request_seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number of the corresponding request."
|
||||
},
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"description": "Outcome of the request."
|
||||
},
|
||||
"command": {
|
||||
"type": "string",
|
||||
"description": "The command requested."
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "Contains error message if success == false."
|
||||
},
|
||||
"body": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dataId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"description": "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."
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available."
|
||||
},
|
||||
"accessTypes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DataBreakpointAccessType"
|
||||
},
|
||||
"description": "Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information."
|
||||
},
|
||||
"canPersist": {
|
||||
"type": "boolean",
|
||||
"description": "Optional attribute indicating that a potential data breakpoint could be persisted across sessions."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"dataId",
|
||||
"description"
|
||||
]
|
||||
}
|
||||
}
|
||||
__refs__ = set(['body'])
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, request_seq, success, command, body, seq=-1, message=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string type:
|
||||
:param integer request_seq: Sequence number of the corresponding request.
|
||||
:param boolean success: Outcome of the request.
|
||||
:param string command: The command requested.
|
||||
:param DataBreakpointInfoResponseBody body:
|
||||
:param integer seq: Sequence number.
|
||||
:param string message: Contains error message if success == false.
|
||||
"""
|
||||
self.type = 'response'
|
||||
self.request_seq = request_seq
|
||||
self.success = success
|
||||
self.command = command
|
||||
if body is None:
|
||||
self.body = DataBreakpointInfoResponseBody()
|
||||
else:
|
||||
self.body = DataBreakpointInfoResponseBody(update_ids_from_dap=update_ids_from_dap, **body) if body.__class__ != DataBreakpointInfoResponseBody else body
|
||||
self.seq = seq
|
||||
self.message = message
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
type = self.type # noqa (assign to builtin)
|
||||
request_seq = self.request_seq
|
||||
success = self.success
|
||||
command = self.command
|
||||
body = self.body
|
||||
seq = self.seq
|
||||
message = self.message
|
||||
dct = {
|
||||
'type': type,
|
||||
'request_seq': request_seq,
|
||||
'success': success,
|
||||
'command': command,
|
||||
'body': body.to_dict(update_ids_to_dap=update_ids_to_dap),
|
||||
'seq': seq,
|
||||
}
|
||||
if message is not None:
|
||||
dct['message'] = message
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register_request('setDataBreakpoints')
|
||||
@register
|
||||
class SetDataBreakpointsRequest(BaseSchema):
|
||||
"""
|
||||
Replaces all existing data breakpoints with new data breakpoints.
|
||||
|
||||
To clear all data breakpoints, specify an empty array.
|
||||
|
||||
When a data breakpoint is hit, a 'stopped' event (with reason 'data breakpoint') is generated.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number."
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"request"
|
||||
]
|
||||
},
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"setDataBreakpoints"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"type": "SetDataBreakpointsArguments"
|
||||
}
|
||||
}
|
||||
__refs__ = set(['arguments'])
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, arguments, seq=-1, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string type:
|
||||
:param string command:
|
||||
:param SetDataBreakpointsArguments arguments:
|
||||
:param integer seq: Sequence number.
|
||||
"""
|
||||
self.type = 'request'
|
||||
self.command = 'setDataBreakpoints'
|
||||
if arguments is None:
|
||||
self.arguments = SetDataBreakpointsArguments()
|
||||
else:
|
||||
self.arguments = SetDataBreakpointsArguments(update_ids_from_dap=update_ids_from_dap, **arguments) if arguments.__class__ != SetDataBreakpointsArguments else arguments
|
||||
self.seq = seq
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
type = self.type # noqa (assign to builtin)
|
||||
command = self.command
|
||||
arguments = self.arguments
|
||||
seq = self.seq
|
||||
dct = {
|
||||
'type': type,
|
||||
'command': command,
|
||||
'arguments': arguments.to_dict(update_ids_to_dap=update_ids_to_dap),
|
||||
'seq': seq,
|
||||
}
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class SetDataBreakpointsArguments(BaseSchema):
|
||||
"""
|
||||
Arguments for 'setDataBreakpoints' request.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"breakpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DataBreakpoint"
|
||||
},
|
||||
"description": "The contents of this array replaces all existing data breakpoints. An empty array clears all data breakpoints."
|
||||
}
|
||||
}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, breakpoints, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param array breakpoints: The contents of this array replaces all existing data breakpoints. An empty array clears all data breakpoints.
|
||||
"""
|
||||
self.breakpoints = breakpoints
|
||||
if update_ids_from_dap and self.breakpoints:
|
||||
for o in self.breakpoints:
|
||||
DataBreakpoint.update_dict_ids_from_dap(o)
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
breakpoints = self.breakpoints
|
||||
dct = {
|
||||
'breakpoints': [DataBreakpoint.update_dict_ids_to_dap(o) for o in breakpoints] if (update_ids_to_dap and breakpoints) else breakpoints,
|
||||
}
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register_response('setDataBreakpoints')
|
||||
@register
|
||||
class SetDataBreakpointsResponse(BaseSchema):
|
||||
"""
|
||||
Response to 'setDataBreakpoints' request.
|
||||
|
||||
Returned is information about each breakpoint created by this request.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number."
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"response"
|
||||
]
|
||||
},
|
||||
"request_seq": {
|
||||
"type": "integer",
|
||||
"description": "Sequence number of the corresponding request."
|
||||
},
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"description": "Outcome of the request."
|
||||
},
|
||||
"command": {
|
||||
"type": "string",
|
||||
"description": "The command requested."
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "Contains error message if success == false."
|
||||
},
|
||||
"body": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"breakpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/Breakpoint"
|
||||
},
|
||||
"description": "Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"breakpoints"
|
||||
]
|
||||
}
|
||||
}
|
||||
__refs__ = set(['body'])
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, request_seq, success, command, body, seq=-1, message=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string type:
|
||||
:param integer request_seq: Sequence number of the corresponding request.
|
||||
:param boolean success: Outcome of the request.
|
||||
:param string command: The command requested.
|
||||
:param SetDataBreakpointsResponseBody body:
|
||||
:param integer seq: Sequence number.
|
||||
:param string message: Contains error message if success == false.
|
||||
"""
|
||||
self.type = 'response'
|
||||
self.request_seq = request_seq
|
||||
self.success = success
|
||||
self.command = command
|
||||
if body is None:
|
||||
self.body = SetDataBreakpointsResponseBody()
|
||||
else:
|
||||
self.body = SetDataBreakpointsResponseBody(update_ids_from_dap=update_ids_from_dap, **body) if body.__class__ != SetDataBreakpointsResponseBody else body
|
||||
self.seq = seq
|
||||
self.message = message
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
type = self.type # noqa (assign to builtin)
|
||||
request_seq = self.request_seq
|
||||
success = self.success
|
||||
command = self.command
|
||||
body = self.body
|
||||
seq = self.seq
|
||||
message = self.message
|
||||
dct = {
|
||||
'type': type,
|
||||
'request_seq': request_seq,
|
||||
'success': success,
|
||||
'command': command,
|
||||
'body': body.to_dict(update_ids_to_dap=update_ids_to_dap),
|
||||
'seq': seq,
|
||||
}
|
||||
if message is not None:
|
||||
dct['message'] = message
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register_request('continue')
|
||||
@register
|
||||
class ContinueRequest(BaseSchema):
|
||||
|
|
@ -6708,7 +7169,7 @@ class SetVariableArguments(BaseSchema):
|
|||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the variable."
|
||||
"description": "The name of the variable in the container."
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
|
|
@ -6726,7 +7187,7 @@ class SetVariableArguments(BaseSchema):
|
|||
def __init__(self, variablesReference, name, value, format=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param integer variablesReference: The reference of the variable container.
|
||||
:param string name: The name of the variable.
|
||||
:param string name: The name of the variable in the container.
|
||||
:param string value: The value of the variable.
|
||||
:param ValueFormat format: Specifies details on how to format the response value.
|
||||
"""
|
||||
|
|
@ -9487,13 +9948,17 @@ class Capabilities(BaseSchema):
|
|||
"supportsTerminateRequest": {
|
||||
"type": "boolean",
|
||||
"description": "The debug adapter supports the 'terminate' request."
|
||||
},
|
||||
"supportsDataBreakpoints": {
|
||||
"type": "boolean",
|
||||
"description": "The debug adapter supports data breakpoints."
|
||||
}
|
||||
}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, supportsConfigurationDoneRequest=None, supportsFunctionBreakpoints=None, supportsConditionalBreakpoints=None, supportsHitConditionalBreakpoints=None, supportsEvaluateForHovers=None, exceptionBreakpointFilters=None, supportsStepBack=None, supportsSetVariable=None, supportsRestartFrame=None, supportsGotoTargetsRequest=None, supportsStepInTargetsRequest=None, supportsCompletionsRequest=None, supportsModulesRequest=None, additionalModuleColumns=None, supportedChecksumAlgorithms=None, supportsRestartRequest=None, supportsExceptionOptions=None, supportsValueFormattingOptions=None, supportsExceptionInfoRequest=None, supportTerminateDebuggee=None, supportsDelayedStackTraceLoading=None, supportsLoadedSourcesRequest=None, supportsLogPoints=None, supportsTerminateThreadsRequest=None, supportsSetExpression=None, supportsTerminateRequest=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
def __init__(self, supportsConfigurationDoneRequest=None, supportsFunctionBreakpoints=None, supportsConditionalBreakpoints=None, supportsHitConditionalBreakpoints=None, supportsEvaluateForHovers=None, exceptionBreakpointFilters=None, supportsStepBack=None, supportsSetVariable=None, supportsRestartFrame=None, supportsGotoTargetsRequest=None, supportsStepInTargetsRequest=None, supportsCompletionsRequest=None, supportsModulesRequest=None, additionalModuleColumns=None, supportedChecksumAlgorithms=None, supportsRestartRequest=None, supportsExceptionOptions=None, supportsValueFormattingOptions=None, supportsExceptionInfoRequest=None, supportTerminateDebuggee=None, supportsDelayedStackTraceLoading=None, supportsLoadedSourcesRequest=None, supportsLogPoints=None, supportsTerminateThreadsRequest=None, supportsSetExpression=None, supportsTerminateRequest=None, supportsDataBreakpoints=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param boolean supportsConfigurationDoneRequest: The debug adapter supports the 'configurationDone' request.
|
||||
:param boolean supportsFunctionBreakpoints: The debug adapter supports function breakpoints.
|
||||
|
|
@ -9521,6 +9986,7 @@ class Capabilities(BaseSchema):
|
|||
:param boolean supportsTerminateThreadsRequest: The debug adapter supports the 'terminateThreads' request.
|
||||
:param boolean supportsSetExpression: The debug adapter supports the 'setExpression' request.
|
||||
:param boolean supportsTerminateRequest: The debug adapter supports the 'terminate' request.
|
||||
:param boolean supportsDataBreakpoints: The debug adapter supports data breakpoints.
|
||||
"""
|
||||
self.supportsConfigurationDoneRequest = supportsConfigurationDoneRequest
|
||||
self.supportsFunctionBreakpoints = supportsFunctionBreakpoints
|
||||
|
|
@ -9557,6 +10023,7 @@ class Capabilities(BaseSchema):
|
|||
self.supportsTerminateThreadsRequest = supportsTerminateThreadsRequest
|
||||
self.supportsSetExpression = supportsSetExpression
|
||||
self.supportsTerminateRequest = supportsTerminateRequest
|
||||
self.supportsDataBreakpoints = supportsDataBreakpoints
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
|
|
@ -9587,6 +10054,7 @@ class Capabilities(BaseSchema):
|
|||
supportsTerminateThreadsRequest = self.supportsTerminateThreadsRequest
|
||||
supportsSetExpression = self.supportsSetExpression
|
||||
supportsTerminateRequest = self.supportsTerminateRequest
|
||||
supportsDataBreakpoints = self.supportsDataBreakpoints
|
||||
dct = {
|
||||
}
|
||||
if supportsConfigurationDoneRequest is not None:
|
||||
|
|
@ -9641,6 +10109,8 @@ class Capabilities(BaseSchema):
|
|||
dct['supportsSetExpression'] = supportsSetExpression
|
||||
if supportsTerminateRequest is not None:
|
||||
dct['supportsTerminateRequest'] = supportsTerminateRequest
|
||||
if supportsDataBreakpoints is not None:
|
||||
dct['supportsDataBreakpoints'] = supportsDataBreakpoints
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
|
@ -10663,7 +11133,8 @@ class VariablePresentationHint(BaseSchema):
|
|||
"innerClass",
|
||||
"interface",
|
||||
"mostDerivedClass",
|
||||
"virtual"
|
||||
"virtual",
|
||||
"dataBreakpoint"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"Indicates that the object is a property.",
|
||||
|
|
@ -10675,7 +11146,8 @@ class VariablePresentationHint(BaseSchema):
|
|||
"Indicates that the object is an inner class.",
|
||||
"Indicates that the object is an interface.",
|
||||
"Indicates that the object is the most derived class.",
|
||||
"Indicates that the object is virtual, that means it is a synthetic object introduced by the adapter for rendering purposes, e.g. an index range for large arrays."
|
||||
"Indicates that the object is virtual, that means it is a synthetic object introduced by the adapter for rendering purposes, e.g. an index range for large arrays.",
|
||||
"Indicates that a data breakpoint is registered for the object."
|
||||
]
|
||||
},
|
||||
"attributes": {
|
||||
|
|
@ -10871,6 +11343,103 @@ class FunctionBreakpoint(BaseSchema):
|
|||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class DataBreakpointAccessType(BaseSchema):
|
||||
"""
|
||||
This enumeration defines all possible access types for data breakpoints.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
READ = 'read'
|
||||
WRITE = 'write'
|
||||
READWRITE = 'readWrite'
|
||||
|
||||
VALID_VALUES = set(['read', 'write', 'readWrite'])
|
||||
|
||||
__props__ = {}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
dct = {
|
||||
}
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class DataBreakpoint(BaseSchema):
|
||||
"""
|
||||
Properties of a data breakpoint passed to the setDataBreakpoints request.
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"dataId": {
|
||||
"type": "string",
|
||||
"description": "An id representing the data. This id is returned from the dataBreakpointInfo request."
|
||||
},
|
||||
"accessType": {
|
||||
"description": "The access type of the data.",
|
||||
"type": "DataBreakpointAccessType"
|
||||
},
|
||||
"condition": {
|
||||
"type": "string",
|
||||
"description": "An optional expression for conditional breakpoints."
|
||||
},
|
||||
"hitCondition": {
|
||||
"type": "string",
|
||||
"description": "An optional expression that controls how many hits of the breakpoint are ignored. The backend is expected to interpret the expression as needed."
|
||||
}
|
||||
}
|
||||
__refs__ = set(['accessType'])
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, dataId, accessType=None, condition=None, hitCondition=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param string dataId: An id representing the data. This id is returned from the dataBreakpointInfo request.
|
||||
:param DataBreakpointAccessType accessType: The access type of the data.
|
||||
:param string condition: An optional expression for conditional breakpoints.
|
||||
:param string hitCondition: An optional expression that controls how many hits of the breakpoint are ignored. The backend is expected to interpret the expression as needed.
|
||||
"""
|
||||
self.dataId = dataId
|
||||
assert accessType in DataBreakpointAccessType.VALID_VALUES
|
||||
self.accessType = accessType
|
||||
self.condition = condition
|
||||
self.hitCondition = hitCondition
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
dataId = self.dataId
|
||||
accessType = self.accessType
|
||||
condition = self.condition
|
||||
hitCondition = self.hitCondition
|
||||
dct = {
|
||||
'dataId': dataId,
|
||||
}
|
||||
if accessType is not None:
|
||||
dct['accessType'] = accessType
|
||||
if condition is not None:
|
||||
dct['condition'] = condition
|
||||
if hitCondition is not None:
|
||||
dct['hitCondition'] = hitCondition
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class Breakpoint(BaseSchema):
|
||||
"""
|
||||
|
|
@ -11978,7 +12547,9 @@ class StoppedEventBody(BaseSchema):
|
|||
"exception",
|
||||
"pause",
|
||||
"entry",
|
||||
"goto"
|
||||
"goto",
|
||||
"function breakpoint",
|
||||
"data breakpoint"
|
||||
]
|
||||
},
|
||||
"description": {
|
||||
|
|
@ -12814,6 +13385,117 @@ class SetFunctionBreakpointsResponseBody(BaseSchema):
|
|||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class DataBreakpointInfoResponseBody(BaseSchema):
|
||||
"""
|
||||
"body" of DataBreakpointInfoResponse
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"dataId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"description": "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."
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available."
|
||||
},
|
||||
"accessTypes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DataBreakpointAccessType"
|
||||
},
|
||||
"description": "Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information."
|
||||
},
|
||||
"canPersist": {
|
||||
"type": "boolean",
|
||||
"description": "Optional attribute indicating that a potential data breakpoint could be persisted across sessions."
|
||||
}
|
||||
}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, dataId, description, accessTypes=None, canPersist=None, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param ['string', 'null'] dataId: 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.
|
||||
:param string description: UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available.
|
||||
:param array accessTypes: Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information.
|
||||
:param boolean canPersist: Optional attribute indicating that a potential data breakpoint could be persisted across sessions.
|
||||
"""
|
||||
self.dataId = dataId
|
||||
self.description = description
|
||||
self.accessTypes = accessTypes
|
||||
if update_ids_from_dap and self.accessTypes:
|
||||
for o in self.accessTypes:
|
||||
DataBreakpointAccessType.update_dict_ids_from_dap(o)
|
||||
self.canPersist = canPersist
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
dataId = self.dataId
|
||||
description = self.description
|
||||
accessTypes = self.accessTypes
|
||||
canPersist = self.canPersist
|
||||
dct = {
|
||||
'dataId': dataId,
|
||||
'description': description,
|
||||
}
|
||||
if accessTypes is not None:
|
||||
dct['accessTypes'] = [DataBreakpointAccessType.update_dict_ids_to_dap(o) for o in accessTypes] if (update_ids_to_dap and accessTypes) else accessTypes
|
||||
if canPersist is not None:
|
||||
dct['canPersist'] = canPersist
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class SetDataBreakpointsResponseBody(BaseSchema):
|
||||
"""
|
||||
"body" of SetDataBreakpointsResponse
|
||||
|
||||
Note: automatically generated code. Do not edit manually.
|
||||
"""
|
||||
|
||||
__props__ = {
|
||||
"breakpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/Breakpoint"
|
||||
},
|
||||
"description": "Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array."
|
||||
}
|
||||
}
|
||||
__refs__ = set()
|
||||
|
||||
__slots__ = list(__props__.keys()) + ['kwargs']
|
||||
|
||||
def __init__(self, breakpoints, update_ids_from_dap=False, **kwargs): # noqa (update_ids_from_dap may be unused)
|
||||
"""
|
||||
:param array breakpoints: Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array.
|
||||
"""
|
||||
self.breakpoints = breakpoints
|
||||
if update_ids_from_dap and self.breakpoints:
|
||||
for o in self.breakpoints:
|
||||
Breakpoint.update_dict_ids_from_dap(o)
|
||||
self.kwargs = kwargs
|
||||
|
||||
|
||||
def to_dict(self, update_ids_to_dap=False): # noqa (update_ids_to_dap may be unused)
|
||||
breakpoints = self.breakpoints
|
||||
dct = {
|
||||
'breakpoints': [Breakpoint.update_dict_ids_to_dap(o) for o in breakpoints] if (update_ids_to_dap and breakpoints) else breakpoints,
|
||||
}
|
||||
dct.update(self.kwargs)
|
||||
return dct
|
||||
|
||||
|
||||
@register
|
||||
class ContinueResponseBody(BaseSchema):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue