Commit d97ee9c
committed
Specify sizes and ranges of DAP integers
- Generally types/IDs that were only specified as `integer`s are now int32s.
I only defined minimums on those that previously had ">0" behavior
- Lines and columns are uint64 since they're only ever >0 and we should
be able to express more than (u)int32-sized files. With these and other
64-bit types, I set the `minimum` and `maximum` to the max safe
floating point integers so as to ensure compatibility with
floating-point-based runtimes, like JavaScript and Lua (<=5.2)
- variablesReference is defined as uint32 because we consistently define
behavior as "when variablesReference is >0" and "<0" is undefined
- systemProcessId is an int32. While research shows there are some
exotic systems where it _can_ be an int64 (Solaris) it is practically
still an int32 (even 64 bit Linux limits to 2^22) and we have already
defined it as such elsewhere
- Memory-related offset/count is defined as int64
- namedVariables/indexedVariables are counts, but they were previously
specified as having a max value of `2147483647` so I kept them as
int32's with a `minimum` value in the schema
I would greatly appreciate folks that use various DAP clients to try
this out and let me know if you run into issues or see things that
should be changed. I'll keep this PR open for a while before merging
it to gather feedback.
Closes #422
Closes #5511 parent 75e305f commit d97ee9c
File tree
5 files changed
+1031
-30
lines changed- spec-generator
5 files changed
+1031
-30
lines changed
0 commit comments