Formally define these types and document their meaning.
We will auto-generate the dlv-dap documentation from these Go type doc.
mapToStruct is a helper that sets the given struct's fields with the
info in map[string]interface{} (launch/attach's Arguments). We achieve
this by reencoding map[string]interface{} to json and decoding back to
the target struct. If go-dap left the implementation-specific arguments
as json.RawMessage and let the implementation decode as needed, this
reencoding could've been avoided.
encoding/json itself does not have mean to enforce required fields.
There was a test case that checks substitutePath elements must set
both from/to fields. Path.UnmarshalJSON implements the check.
I am not yet sure about the need for distinction between missing
'from/to' and empty strings yet. (empty value is useful when dealing with
a binary built with trimpath, right?)
A minor behavior change - previously, if noDebug is not a boolean type,
we ignored the attribute silently. Since we use json decoding, any
mismatched types will cause an error and this non-boolean type noDebug
attribute will result in launch failure.
21 lines
818 B
Markdown
21 lines
818 B
Markdown
# go-dap: Go implementation of the Debug Adapter Protocol
|
|
|
|
[](https://pkg.go.dev/github.com/google/go-dap)
|
|
[](https://travis-ci.org/google/go-dap)
|
|
[](https://goreportcard.com/report/github.com/google/go-dap)
|
|
|
|
For an overview of DAP, see
|
|
https://microsoft.github.io/debug-adapter-protocol/overview
|
|
|
|
## Contributing
|
|
|
|
We'd love to accept your patches and contributions to this project. See
|
|
[docs/contributing](https://github.com/google/go-dap/blob/master/docs/contributing.md)
|
|
for more details.
|
|
|
|
## License
|
|
|
|
This project is licensed under the Apache License 2.0
|
|
|
|
This is not an officially supported Google product.
|